diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-13 10:50:49 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-01-13 10:50:49 +0100 |
commit | bc88203ef5f343f87016a28104f6977675f2c050 (patch) | |
tree | c626c3f9b673dac9fa9ae3db64c29bed18dd007b | |
parent | d9cf6880b6d65665a55aed212503de0820db6f40 (diff) |
independent panning for external sends
-rw-r--r-- | gtk2_ardour/processor_box.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/send_ui.cc | 5 | ||||
-rw-r--r-- | libs/ardour/delivery.cc | 2 | ||||
-rw-r--r-- | libs/ardour/route.cc | 6 |
4 files changed, 10 insertions, 9 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index b0e5e55250..98bb3f13cd 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -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()); diff --git a/gtk2_ardour/send_ui.cc b/gtk2_ardour/send_ui.cc index 1fead73084..54663dbe0a 100644 --- a/gtk2_ardour/send_ui.cc +++ b/gtk2_ardour/send_ui.cc @@ -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())); diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index 26d2cf3acd..e4c39271f5 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -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()); } } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index ea67fe6073..a036c8feb0 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -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; |