From d2f3e920f7335e6daa70251fbc453c77137f01f9 Mon Sep 17 00:00:00 2001 From: attila Date: Thu, 4 Jul 2024 12:12:54 +0200 Subject: [PATCH] WebSliderParameterAttachment: Always report the NormalisableRange defined number of steps Even for AudioParameterFloat. --- .../utilities/juce_ParameterAttachments.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp b/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp index 825c212161..0c2ca3e134 100644 --- a/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp +++ b/modules/juce_audio_processors/utilities/juce_ParameterAttachments.cpp @@ -302,7 +302,13 @@ void WebSliderParameterAttachment::sendInitialUpdate() object->setProperty ("skew", range.skew); object->setProperty ("name", parameter.getName (100)); object->setProperty ("label", parameter.getLabel()); - object->setProperty ("numSteps", parameter.getNumSteps()); + + // We use the NormalisableRange defined num steps even for an AudioParameterFloat. + const auto numSteps = range.interval > 0 + ? static_cast ((range.end - range.start) / range.interval) + 1 + : AudioProcessor::getDefaultNumParameterSteps(); + + object->setProperty ("numSteps", numSteps); object->setProperty ("interval", range.interval); object->setProperty ("parameterIndex", parameter.getParameterIndex()); sliderState.emitEvent (object.get());