From 2ac46c600dfa320b74b5ee893d48beb2cb1e5047 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 f76338a6f6..da029bece7 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -302,7 +302,7 @@ private: #endif juceParameters.update (*audioProcessor, forceLegacyParamIDs); - auto additionalLegacyParameterIDIndex = juceParameters.getNumParameters(); + auto numParameters = juceParameters.getNumParameters(); bool vst3WrapperProvidedBypassParam = false; auto* bypassParameter = audioProcessor->getBypassParameter(); @@ -333,8 +333,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; } @@ -353,8 +352,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());