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());