diff options
author | Robin Gareus <robin@gareus.org> | 2014-01-13 10:48:37 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-01-13 10:48:37 +0100 |
commit | 0559c1babb7d2fe0f884f8639df7a7b265ed6bad (patch) | |
tree | e4c5156e8ddd745166c097c530707030e5c24fe2 /libs | |
parent | 0c384b7c219872322a4462f62e5e67b4119caa6d (diff) |
add independent panner for internal (Aux) sends
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/delivery.cc | 8 | ||||
-rw-r--r-- | libs/ardour/route.cc | 6 |
2 files changed, 12 insertions, 2 deletions
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 a8b2eac691..ea67fe6073 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -2547,7 +2547,8 @@ Route::set_processor_state (const XMLNode& node) if (prop->value() == "intsend") { - processor.reset (new InternalSend (_session, _pannable, _mute_master, boost::shared_ptr<Route>(), Delivery::Role (0))); + boost::shared_ptr<Pannable> sendpan (new Pannable (_session)); + processor.reset (new InternalSend (_session, sendpan, _mute_master, boost::shared_ptr<Route>(), Delivery::Role (0))); } else if (prop->value() == "ladspa" || prop->value() == "Ladspa" || prop->value() == "lv2" || @@ -2753,7 +2754,8 @@ Route::add_aux_send (boost::shared_ptr<Route> route, boost::shared_ptr<Processor { Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ()); - listener.reset (new InternalSend (_session, _pannable, _mute_master, route, Delivery::Aux)); + boost::shared_ptr<Pannable> sendpan (new Pannable (_session)); + listener.reset (new InternalSend (_session, sendpan, _mute_master, route, Delivery::Aux)); } add_processor (listener, before); |