diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp index 87e2cc392..ca1518b95 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -2647,14 +2647,16 @@ public: else #endif { - auto floatValue = static_cast (value); - if (auto* param = comPluginInstance->getParamForVSTParamID (vstParamID)) { - param->setValue (floatValue); + auto floatValue = static_cast (value); - inParameterChangedCallback = true; - param->sendValueChangedMessageToListeners (floatValue); + if (floatValue != param->getValue()) + { + param->setValue (floatValue); + inParameterChangedCallback = true; + param->sendValueChangedMessageToListeners (floatValue); + } } } }