diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 8dfc7fb2ec..f617b4f44b 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -77,6 +77,8 @@ #include "ardour/types.h" #include "ardour/value_as_string.h" +#include "control_protocol/control_protocol.h" + #include "LuaBridge/LuaBridge.h" #include "actions.h" @@ -1956,6 +1958,7 @@ ProcessorBox::ProcessorBox (ARDOUR::Session* sess, boost::functionbutton == 1 && selected) { - // this is purely informational but necessary for route params UI ProcessorSelected (processor); // emit @@ -4957,3 +4959,17 @@ ProcessorBox::load_bindings () { bindings = Bindings::get_bindings (X_("Processor Box")); } + +void +ProcessorBox::selection_added (ProcessorEntry& pe) +{ + std::shared_ptr proc = pe.processor (); + std::shared_ptr pi = std::dynamic_pointer_cast (proc); + if (pi) { + /* be explicit here about the fact that we're using a weak + pointer, even though we probably don't need to be. + */ + std::weak_ptr wpi; + ControlProtocol::PluginSelected (wpi); + } +} diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index 5eea5d40f3..6892849219 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -653,6 +653,8 @@ private: PBD::ScopedConnection amp_config_connection; static bool _ignore_rb_change; + + void selection_added (ProcessorEntry&); }; #endif /* __ardour_gtk_processor_box__ */