summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/mixer_strip.cc10
-rw-r--r--gtk2_ardour/processor_box.cc4
-rw-r--r--libs/ardour/delivery.cc8
-rw-r--r--libs/ardour/route.cc6
4 files changed, 16 insertions, 12 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index e7c3f138b8..3a3c39ea17 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -1893,16 +1893,8 @@ MixerStrip::show_send (boost::shared_ptr<Send> send)
panner_ui().set_panner (_current_delivery->panner_shell(), _current_delivery->panner());
panner_ui().set_available_panners(boost::shared_ptr<ARDOUR::Route>(), std::map<std::string,std::string>());
-
panner_ui().setup_pan ();
-
- /* make sure the send has audio output */
-
- if (_current_delivery->output() && _current_delivery->output()->n_ports().n_audio() > 0) {
- panners.show_all ();
- } else {
- panners.hide_all ();
- }
+ panners.show_all ();
input_button.set_sensitive (false);
group_button.set_sensitive (false);
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index cd91589391..b0e5e55250 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -46,6 +46,7 @@
#include "ardour/internal_return.h"
#include "ardour/internal_send.h"
#include "ardour/plugin_insert.h"
+#include "ardour/pannable.h"
#include "ardour/port_insert.h"
#include "ardour/profile.h"
#include "ardour/return.h"
@@ -2051,8 +2052,9 @@ ProcessorBox::paste_processor_state (const XMLNodeList& nlist, boost::shared_ptr
continue;
}
+ boost::shared_ptr<Pannable> sendpan(new Pannable (*_session));
XMLNode n (**niter);
- InternalSend* s = new InternalSend (*_session, _route->pannable(), _route->mute_master(),
+ InternalSend* s = new InternalSend (*_session, sendpan, _route->mute_master(),
boost::shared_ptr<Route>(), Delivery::Aux);
IOProcessor::prepare_for_reset (n, s->name());
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);