mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-22 06:36:29 +01:00
update internal-send port-count when target port-count changes
This commit is contained in:
parent
b4dea5309d
commit
0da58eeebf
3 changed files with 13 additions and 2 deletions
|
|
@ -70,6 +70,7 @@ class LIBARDOUR_API InternalSend : public Send
|
||||||
int connect_when_legal ();
|
int connect_when_legal ();
|
||||||
void init_gain ();
|
void init_gain ();
|
||||||
int use_target (boost::shared_ptr<Route>);
|
int use_target (boost::shared_ptr<Route>);
|
||||||
|
void target_io_changed ();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ARDOUR
|
} // namespace ARDOUR
|
||||||
|
|
|
||||||
|
|
@ -388,7 +388,7 @@ Delivery::reset_panner ()
|
||||||
if (_panshell) {
|
if (_panshell) {
|
||||||
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
|
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
|
||||||
|
|
||||||
if (_role == Main) {
|
if (_role == Main || _role == Aux) {
|
||||||
_panshell->pannable()->set_panner (_panshell->panner());
|
_panshell->pannable()->set_panner (_panshell->panner());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,11 +95,21 @@ InternalSend::use_target (boost::shared_ptr<Route> sendto)
|
||||||
target_connections.drop_connections ();
|
target_connections.drop_connections ();
|
||||||
|
|
||||||
_send_to->DropReferences.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_going_away, this));
|
_send_to->DropReferences.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_going_away, this));
|
||||||
_send_to->PropertyChanged.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_property_changed, this, _1));;
|
_send_to->PropertyChanged.connect_same_thread (target_connections, boost::bind (&InternalSend::send_to_property_changed, this, _1));
|
||||||
|
_send_to->io_changed.connect_same_thread (target_connections, boost::bind (&InternalSend::target_io_changed, this));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
InternalSend::target_io_changed ()
|
||||||
|
{
|
||||||
|
assert (_send_to);
|
||||||
|
mixbufs.ensure_buffers (_send_to->internal_return()->input_streams(), _session.get_block_size());
|
||||||
|
mixbufs.set_count (_send_to->internal_return()->input_streams());
|
||||||
|
reset_panner();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
InternalSend::send_to_going_away ()
|
InternalSend::send_to_going_away ()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue