From d61e516bbc0e4e71e6fdcafc34e1f7b671107074 Mon Sep 17 00:00:00 2001 From: attila Date: Mon, 3 Jun 2024 14:31:10 +0200 Subject: [PATCH] Add the parameterIndex property to all WebView related parameter ParameterAttachments This affects the WebSliderParameterAttachment, WebToggleButtonParameterAttachment, and WebComboBoxParameterAttachment classes. --- .../utilities/juce_ParameterAttachments.cpp | 3 +++ modules/juce_gui_extra/native/javascript/index.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp b/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp index 2f602c37e7..825c212161 100644 --- a/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp +++ b/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp @@ -304,6 +304,7 @@ void WebSliderParameterAttachment::sendInitialUpdate() object->setProperty ("label", parameter.getLabel()); object->setProperty ("numSteps", parameter.getNumSteps()); object->setProperty ("interval", range.interval); + object->setProperty ("parameterIndex", parameter.getParameterIndex()); sliderState.emitEvent (object.get()); attachment.sendInitialUpdate(); } @@ -347,6 +348,7 @@ void WebToggleButtonParameterAttachment::sendInitialUpdate() DynamicObject::Ptr object { new DynamicObject }; object->setProperty (detail::WebSliderRelayEvents::Event::eventTypeKey, "propertiesChanged"); object->setProperty ("name", parameter.getName (100)); + object->setProperty ("parameterIndex", parameter.getParameterIndex()); relay.emitEvent (object.get()); attachment.sendInitialUpdate(); } @@ -395,6 +397,7 @@ void WebComboBoxParameterAttachment::sendInitialUpdate() DynamicObject::Ptr object { new DynamicObject }; object->setProperty (detail::WebSliderRelayEvents::Event::eventTypeKey, "propertiesChanged"); object->setProperty ("name", parameter.getName (100)); + object->setProperty ("parameterIndex", parameter.getParameterIndex()); if (auto* choiceParameter = dynamic_cast (¶meter)) object->setProperty ("choices", choiceParameter->choices); diff --git a/modules/juce_gui_extra/native/javascript/index.js b/modules/juce_gui_extra/native/javascript/index.js index 8eea75ce74..5710789436 100644 --- a/modules/juce_gui_extra/native/javascript/index.js +++ b/modules/juce_gui_extra/native/javascript/index.js @@ -141,6 +141,7 @@ class SliderState { label: "", numSteps: 100, interval: 0, + parameterIndex: -1, }; this.valueChangedEvent = new ListenerList(); this.propertiesChangedEvent = new ListenerList(); @@ -252,6 +253,7 @@ class ToggleState { this.value = false; this.properties = { name: "", + parameterIndex: -1, }; this.valueChangedEvent = new ListenerList(); this.propertiesChangedEvent = new ListenerList(); @@ -326,6 +328,7 @@ class ComboBoxState { this.value = 0.0; this.properties = { name: "", + parameterIndex: -1, choices: [], }; this.valueChangedEvent = new ListenerList();