From 7e1e7e7629b65b1efcf30c144977c3f19648ed27 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 13 Jan 2014 10:48:37 +0100 Subject: add independent panner for internal (Aux) sends --- libs/ardour/delivery.cc | 8 ++++++++ libs/ardour/route.cc | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'libs') diff --git a/libs/ardour/delivery.cc b/libs/ardour/delivery.cc index 575d26acdd..26d2cf3acd 100644 --- a/libs/ardour/delivery.cc +++ b/libs/ardour/delivery.cc @@ -329,6 +329,9 @@ Delivery::state (bool full_state) if (_panshell) { node.add_child_nocopy (_panshell->get_state ()); + if (_panshell->pannable()) { + node.add_child_nocopy (_panshell->pannable()->get_state ()); + } } return node; @@ -358,6 +361,11 @@ Delivery::set_state (const XMLNode& node, int version) reset_panner (); + XMLNode* pannnode = node.child (X_("Pannable")); + if (_panshell->panner() && pannnode) { + _panshell->pannable()->set_state (*pannnode, version); + } + return 0; } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index e86d2c5b0d..315c98ab12 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -2552,7 +2552,8 @@ Route::set_processor_state (const XMLNode& node) if (prop->value() == "intsend") { - processor.reset (new InternalSend (_session, _pannable, _mute_master, boost::shared_ptr(), Delivery::Role (0))); + boost::shared_ptr sendpan (new Pannable (_session)); + processor.reset (new InternalSend (_session, sendpan, _mute_master, boost::shared_ptr(), Delivery::Role (0))); } else if (prop->value() == "ladspa" || prop->value() == "Ladspa" || prop->value() == "lv2" || @@ -2758,7 +2759,8 @@ Route::add_aux_send (boost::shared_ptr route, boost::shared_ptrprocess_lock ()); - listener.reset (new InternalSend (_session, _pannable, _mute_master, route, Delivery::Aux)); + boost::shared_ptr sendpan (new Pannable (_session)); + listener.reset (new InternalSend (_session, sendpan, _mute_master, route, Delivery::Aux)); } add_processor (listener, before); -- cgit v1.2.3