diff --git a/libs/surfaces/websockets/dispatcher.cc b/libs/surfaces/websockets/dispatcher.cc index 16c7709076..e8f9da1355 100644 --- a/libs/surfaces/websockets/dispatcher.cc +++ b/libs/surfaces/websockets/dispatcher.cc @@ -59,14 +59,12 @@ WebsocketsDispatcher::update_all_nodes (Client client) uint32_t strip_id = it->first; ArdourMixerStrip& strip = it->second; - bool is_vca = strip.stripable ()->presentation_info ().flags () & ARDOUR::PresentationInfo::VCA; - AddressVector strip_addr = AddressVector (); strip_addr.push_back (strip_id); ValueVector strip_desc = ValueVector (); strip_desc.push_back (strip.name ()); - strip_desc.push_back (is_vca); + strip_desc.push_back (strip.is_vca ()); update (client, Node::strip_description, strip_addr, strip_desc); @@ -74,12 +72,7 @@ WebsocketsDispatcher::update_all_nodes (Client client) update (client, Node::strip_mute, strip_id, strip.mute ()); // Pan and plugins not available in VCAs - if (is_vca) { - continue; - } - - boost::shared_ptr route = boost::dynamic_pointer_cast (strip.stripable ()); - if (!route) { + if (strip.is_vca ()) { continue; } diff --git a/libs/surfaces/websockets/mixer.cc b/libs/surfaces/websockets/mixer.cc index 7e54d67c67..a6ae3faf9a 100644 --- a/libs/surfaces/websockets/mixer.cc +++ b/libs/surfaces/websockets/mixer.cc @@ -128,7 +128,7 @@ ArdourMixerStrip::ArdourMixerStrip (boost::shared_ptr stripab : _stripable (stripable) , _connections (boost::shared_ptr (new PBD::ScopedConnectionList())) { - if (_stripable->presentation_info ().flags () & ARDOUR::PresentationInfo::VCA) { + if (is_vca ()) { /* no plugins to handle */ return; } @@ -238,6 +238,12 @@ ArdourMixerStrip::set_mute (bool mute) _stripable->mute_control ()->set_value (mute ? 1.0 : 0.0, PBD::Controllable::NoGroup); } +bool +ArdourMixerStrip::is_vca () const +{ + return _stripable->presentation_info ().flags () & ARDOUR::PresentationInfo::VCA; +} + float ArdourMixerStrip::meter_level_db () const { diff --git a/libs/surfaces/websockets/mixer.h b/libs/surfaces/websockets/mixer.h index fd3f1d3f3a..2c2410328d 100644 --- a/libs/surfaces/websockets/mixer.h +++ b/libs/surfaces/websockets/mixer.h @@ -78,6 +78,8 @@ public: bool mute () const; void set_mute (bool); + bool is_vca () const; + std::string name () const; float meter_level_db () const;