diff options
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/processor_box.cc | 4 | ||||
-rw-r--r-- | libs/ardour/delivery.cc | 8 | ||||
-rw-r--r-- | libs/ardour/route.cc | 6 |
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); |