update internal-send port-count when target port-count changes
This commit is contained in:
parent
b4dea5309d
commit
0da58eeebf
@ -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…
Reference in New Issue
Block a user