From 4b5a67f067c818ccb4fd20981e5bc95787b06a17 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 26 Mar 2021 14:13:28 +0000 Subject: [PATCH] VST3: Fixed bypass and program parameter indices when JUCE_FORCE_USE_LEGACY_PARAM_IDS=1 and AudioProcessor::getBypassParameter() is implemented --- .../juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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 4f5d51efd2..f0ae5695b4 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -305,7 +305,7 @@ private: #endif juceParameters.update (*audioProcessor, forceLegacyParamIDs); - auto additionalLegacyParameterIDIndex = juceParameters.getNumParameters(); + auto numParameters = juceParameters.getNumParameters(); bool vst3WrapperProvidedBypassParam = false; auto* bypassParameter = audioProcessor->getBypassParameter(); @@ -336,8 +336,7 @@ private: { // we need to remain backward compatible with the old bypass id if (vst3WrapperProvidedBypassParam) - vstParamID = static_cast ((isUsingManagedParameters() && ! forceLegacyParamIDs) ? paramBypass - : additionalLegacyParameterIDIndex++); + vstParamID = static_cast ((isUsingManagedParameters() && ! forceLegacyParamIDs) ? paramBypass : numParameters); bypassParamID = vstParamID; } @@ -356,8 +355,7 @@ private: juceParameters.params.add (ownedProgramParameter.get()); - programParamID = static_cast (forceLegacyParamIDs ? additionalLegacyParameterIDIndex++ - : paramPreset); + programParamID = static_cast (forceLegacyParamIDs ? i++ : paramPreset); vstParamIDs.add (programParamID); paramMap.set (static_cast (programParamID), ownedProgramParameter.get());