diff --git a/libs/surfaces/websockets/feedback.cc b/libs/surfaces/websockets/feedback.cc index 48c332c730..e415bbb5a0 100644 --- a/libs/surfaces/websockets/feedback.cc +++ b/libs/surfaces/websockets/feedback.cc @@ -199,17 +199,16 @@ ArdourFeedback::observe_mixer () boost::shared_ptr strip = it->second; boost::shared_ptr stripable = strip->stripable (); - boost::shared_ptr connections = it->second->connections (); - stripable->gain_control ()->Changed.connect (*connections, MISSING_INVALIDATOR, + stripable->gain_control ()->Changed.connect (*it->second, MISSING_INVALIDATOR, boost::bind (StripGainObserver (), this, strip_id), event_loop ()); if (stripable->pan_azimuth_control ()) { - stripable->pan_azimuth_control ()->Changed.connect (*connections, MISSING_INVALIDATOR, + stripable->pan_azimuth_control ()->Changed.connect (*it->second, MISSING_INVALIDATOR, boost::bind (StripPanObserver (), this, strip_id), event_loop ()); } - stripable->mute_control ()->Changed.connect (*connections, MISSING_INVALIDATOR, + stripable->mute_control ()->Changed.connect (*it->second, MISSING_INVALIDATOR, boost::bind (StripMuteObserver (), this, strip_id), event_loop ()); observe_strip_plugins (strip_id, strip->plugins ()); @@ -220,16 +219,15 @@ void ArdourFeedback::observe_strip_plugins (uint32_t strip_id, ArdourMixerStrip::PluginMap& plugins) { for (ArdourMixerStrip::PluginMap::iterator it = plugins.begin(); it != plugins.end(); ++it) { - uint32_t plugin_id = it->first; - boost::shared_ptr plugin = it->second; - boost::shared_ptr insert = plugin->insert (); - boost::shared_ptr connections = plugin->connections (); + uint32_t plugin_id = it->first; + boost::shared_ptr plugin = it->second; + boost::shared_ptr insert = plugin->insert (); uint32_t bypass = insert->plugin ()->designated_bypass_port (); Evoral::Parameter param = Evoral::Parameter (PluginAutomation, 0, bypass); boost::shared_ptr control = insert->automation_control (param); if (control) { - control->Changed.connect (*connections, MISSING_INVALIDATOR, + control->Changed.connect (*plugin, MISSING_INVALIDATOR, boost::bind (PluginBypassObserver (), this, strip_id, plugin_id), event_loop ()); } @@ -237,7 +235,7 @@ ArdourFeedback::observe_strip_plugins (uint32_t strip_id, ArdourMixerStrip::Plug try { boost::shared_ptr control = plugin->param_control (param_id); - control->Changed.connect (*plugin->connections (), MISSING_INVALIDATOR, + control->Changed.connect (*plugin, MISSING_INVALIDATOR, boost::bind (PluginParamValueObserver (), this, strip_id, plugin_id, param_id, boost::weak_ptr(control)), event_loop ());