summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-01-13 10:48:37 +0100
committerRobin Gareus <robin@gareus.org>2014-01-13 10:48:37 +0100
commit0559c1babb7d2fe0f884f8639df7a7b265ed6bad (patch)
treee4c5156e8ddd745166c097c530707030e5c24fe2 /libs
parent0c384b7c219872322a4462f62e5e67b4119caa6d (diff)
add independent panner for internal (Aux) sends
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/delivery.cc8
-rw-r--r--libs/ardour/route.cc6
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);