diff options
author | Luciano Iam <lucianito@gmail.com> | 2020-04-21 16:20:16 +0200 |
---|---|---|
committer | Luciano Iam <lucianito@gmail.com> | 2020-04-21 16:20:24 +0200 |
commit | 80dc3a38e00d751ff7203d91b1276109545e63bf (patch) | |
tree | ee54f09c6b9f4d7d29af08ba4dfbf4b3f3880261 | |
parent | 68463cb591618a2d4c8087d21b64c9c3314ae985 (diff) |
WebSockets: let clients know if a strip is a VCA
This allows to hide the panner for example
-rw-r--r-- | libs/surfaces/websockets/dispatcher.cc | 13 | ||||
-rw-r--r-- | share/web_surfaces/builtin/mixer-demo/js/main.js | 16 | ||||
-rw-r--r-- | share/web_surfaces/shared/callback.js | 2 |
3 files changed, 21 insertions, 10 deletions
diff --git a/libs/surfaces/websockets/dispatcher.cc b/libs/surfaces/websockets/dispatcher.cc index d2b99be1a0..11623d30bd 100644 --- a/libs/surfaces/websockets/dispatcher.cc +++ b/libs/surfaces/websockets/dispatcher.cc @@ -63,12 +63,21 @@ WebsocketsDispatcher::update_all_nodes (Client client) for (uint32_t strip_n = 0; strip_n < strips ().strip_count (); ++strip_n) { boost::shared_ptr<Stripable> strip = strips ().nth_strip (strip_n); - update (client, Node::strip_description, strip_n, strip->name ()); + bool is_vca = strip->presentation_info ().flags () & ARDOUR::PresentationInfo::VCA; + + AddressVector strip_addr = AddressVector (); + strip_addr.push_back (strip_n); + ValueVector strip_desc = ValueVector (); + strip_desc.push_back (strip->name ()); + strip_desc.push_back (is_vca); + + update (client, Node::strip_description, strip_addr, strip_desc); + update (client, Node::strip_gain, strip_n, strips ().strip_gain (strip_n)); update (client, Node::strip_mute, strip_n, strips ().strip_mute (strip_n)); // Pan and plugins not available in VCAs - if ((strip->presentation_info ().flags () & ARDOUR::PresentationInfo::VCA)) { + if (is_vca) { continue; } diff --git a/share/web_surfaces/builtin/mixer-demo/js/main.js b/share/web_surfaces/builtin/mixer-demo/js/main.js index 209ddf1bab..f9e2255712 100644 --- a/share/web_surfaces/builtin/mixer-demo/js/main.js +++ b/share/web_surfaces/builtin/mixer-demo/js/main.js @@ -52,7 +52,7 @@ import { Switch, DiscreteSlider, ContinuousSlider, LogarithmicSlider, ardour.connect(); } - function createStrip (stripId, name) { + function createStrip (stripId, name, isVca) { const domId = `strip-${stripId}`; if (document.getElementById(domId) != null) { return; @@ -75,12 +75,14 @@ import { Switch, DiscreteSlider, ContinuousSlider, LogarithmicSlider, gain.appendTo(holder); connectWidget(gain, ANode.STRIP_GAIN, stripId); - // pan - holder = createElem(`<div class="strip-slider"></div>`, div); - createElem(`<label>Pan</label>`, holder); - const pan = new StripPanSlider(); - pan.appendTo(holder); - connectWidget(pan, ANode.STRIP_PAN, stripId); + if (!isVca) { + // pan + holder = createElem(`<div class="strip-slider"></div>`, div); + createElem(`<label>Pan</label>`, holder); + const pan = new StripPanSlider(); + pan.appendTo(holder); + connectWidget(pan, ANode.STRIP_PAN, stripId); + } } function createStripPlugin (stripId, pluginId, name) { diff --git a/share/web_surfaces/shared/callback.js b/share/web_surfaces/shared/callback.js index b50a70878f..0a8159b50e 100644 --- a/share/web_surfaces/shared/callback.js +++ b/share/web_surfaces/shared/callback.js @@ -35,7 +35,7 @@ onRecordState (value) {} // Strips - onStripDescription (stripId, name) {} + onStripDescription (stripId, name, isVca) {} onStripMeter (stripId, db) {} onStripGain (stripId, db) {} onStripPan (stripId, value) {} |