From 0bb60f9c76cca9aa74efa67a23880ad4fd9b9e92 Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 23 Mar 2015 16:17:35 +0000 Subject: [PATCH] VST3 parameter begin/end workaround for problems in Cubase. --- .../juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 cb71927c7c..eb7189f781 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -265,7 +265,14 @@ public: //============================================================================== void audioProcessorParameterChangeGestureBegin (AudioProcessor*, int index) override { beginEdit ((Vst::ParamID) index); } - void audioProcessorParameterChanged (AudioProcessor*, int index, float newValue) override { performEdit ((Vst::ParamID) index, (double) newValue); } + + void audioProcessorParameterChanged (AudioProcessor*, int index, float newValue) override + { + // NB: Cubase has problems if performEdit is called without setParamNormalized + EditController::setParamNormalized ((Vst::ParamID) index, (double) newValue); + performEdit ((Vst::ParamID) index, (double) newValue); + } + void audioProcessorParameterChangeGestureEnd (AudioProcessor*, int index) override { endEdit ((Vst::ParamID) index); } void audioProcessorChanged (AudioProcessor*) override