independent panning for external sends

This commit is contained in:
Robin Gareus 2014-01-13 10:50:49 +01:00
parent d9cf6880b6
commit bc88203ef5
4 changed files with 10 additions and 9 deletions

View File

@ -1403,7 +1403,8 @@ ProcessorBox::choose_insert ()
void
ProcessorBox::choose_send ()
{
boost::shared_ptr<Send> send (new Send (*_session, _route->pannable(), _route->mute_master()));
boost::shared_ptr<Pannable> sendpan(new Pannable (*_session));
boost::shared_ptr<Send> send (new Send (*_session, sendpan, _route->mute_master()));
/* make an educated guess at the initial number of outputs for the send */
ChanCount outs = (_session->master_out())
@ -2068,8 +2069,9 @@ ProcessorBox::paste_processor_state (const XMLNodeList& nlist, boost::shared_ptr
} else if (type->value() == "send") {
boost::shared_ptr<Pannable> sendpan(new Pannable (*_session));
XMLNode n (**niter);
Send* s = new Send (*_session, _route->pannable(), _route->mute_master());
Send* s = new Send (*_session, sendpan, _route->mute_master());
IOProcessor::prepare_for_reset (n, s->name());

View File

@ -52,10 +52,7 @@ SendUI::SendUI (Gtk::Window* parent, boost::shared_ptr<Send> s, Session* session
_vbox.set_border_width (5);
_vbox.pack_start (_hbox, false, false, false);
// until sends have their own Pannable, don't show this
// because it controls the Route Pannable which confuses
// users (among others)
// _vbox.pack_start (_panners, false, false);
_vbox.pack_start (_panners, false, false);
io = manage (new IOSelector (parent, session, s->output()));

View File

@ -396,7 +396,7 @@ Delivery::reset_panner ()
if (_panshell) {
_panshell->configure_io (ChanCount (DataType::AUDIO, pans_required()), ChanCount (DataType::AUDIO, pan_outs()));
if (_role == Main || _role == Aux) {
if (_role == Main || _role == Aux || _role == Send) {
_panshell->pannable()->set_panner (_panshell->panner());
}
}

View File

@ -1069,7 +1069,8 @@ Route::add_processor_from_xml_2X (const XMLNode& node, int version)
} else if (node.name() == "Send") {
processor.reset (new Send (_session, _pannable, _mute_master));
boost::shared_ptr<Pannable> sendpan (new Pannable (_session));
processor.reset (new Send (_session, sendpan, _mute_master));
} else {
@ -2564,7 +2565,8 @@ Route::set_processor_state (const XMLNode& node)
} else if (prop->value() == "send") {
processor.reset (new Send (_session, _pannable, _mute_master));
boost::shared_ptr<Pannable> sendpan (new Pannable (_session));
processor.reset (new Send (_session, sendpan, _mute_master));
} else {
error << string_compose(_("unknown Processor type \"%1\"; ignored"), prop->value()) << endmsg;