summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-01-13 10:50:49 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2014-01-13 09:39:50 -0500
commit113f28b6fe459689f904c8acbc084e4d2a57ce63 (patch)
tree7c9ee835985a811c5bd1bedc5f90f30e645189f4
parent533e0091b77888c9f41c4c0b2ec99307d718a565 (diff)
independent panning for external sends
-rw-r--r--gtk2_ardour/processor_box.cc6
-rw-r--r--gtk2_ardour/send_ui.cc5
-rw-r--r--libs/ardour/delivery.cc2
-rw-r--r--libs/ardour/route.cc6
4 files changed, 10 insertions, 9 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index e5a5157764..1e2289d790 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 b10bd96ea9..5b7bd10750 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 = Gtk::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 315c98ab12..1b40df24dd 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 {
@@ -2569,7 +2570,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;