From 0ceadf510bb513e3cbfa0f6353de520be9592b64 Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Tue, 26 Nov 2019 09:45:09 +0000 Subject: [PATCH] Fixed compatibility with JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE --- .../AU/juce_AUv3_Wrapper.mm | 30 +++++++++---------- .../VST3/juce_VST3_Wrapper.cpp | 14 ++++----- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm index a1b74bad9a..1ebd97abe8 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm @@ -1167,8 +1167,9 @@ private: | kAudioUnitParameterFlag_HasCFNameString | kAudioUnitParameterFlag_ValuesHaveStrings); - if (! forceLegacyParamIDs) - flags |= (UInt32) kAudioUnitParameterFlag_IsHighResolution; + #if ! JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE + flags |= (UInt32) kAudioUnitParameterFlag_IsHighResolution; + #endif // Set whether the param is automatable (unnamed parameters aren't allowed to be automated). if (name.isEmpty() || ! parameter->isAutomatable()) @@ -1193,24 +1194,23 @@ private: } else { - if (! forceLegacyParamIDs) + #if ! JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE + if (parameter->isDiscrete()) { - if (parameter->isDiscrete()) - { - unit = parameter->isBoolean() ? kAudioUnitParameterUnit_Boolean : kAudioUnitParameterUnit_Indexed; - auto maxValue = getMaximumParameterValue (parameter); - auto numSteps = parameter->getNumSteps(); + unit = parameter->isBoolean() ? kAudioUnitParameterUnit_Boolean : kAudioUnitParameterUnit_Indexed; + auto maxValue = getMaximumParameterValue (parameter); + auto numSteps = parameter->getNumSteps(); - // Some hosts can't handle the huge numbers of discrete parameter values created when - // using the default number of steps. - jassert (numSteps != AudioProcessor::getDefaultNumParameterSteps()); + // Some hosts can't handle the huge numbers of discrete parameter values created when + // using the default number of steps. + jassert (numSteps != AudioProcessor::getDefaultNumParameterSteps()); - valueStrings.reset ([NSMutableArray new]); + valueStrings.reset ([NSMutableArray new]); - for (int i = 0; i < numSteps; ++i) - [valueStrings.get() addObject: juceStringToNS (parameter->getText ((float) i / maxValue, 0))]; - } + for (int i = 0; i < numSteps; ++i) + [valueStrings.get() addObject: juceStringToNS (parameter->getText ((float) i / maxValue, 0))]; } + #endif } AUParameterAddress address = generateAUParameterAddress (parameter); 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 5c4ef565c6..8fa1970df7 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -423,7 +423,7 @@ public: { Param (JuceVST3EditController& editController, AudioProcessorParameter& p, Vst::ParamID vstParamID, Vst::UnitID vstUnitID, - bool isBypassParameter, bool forceLegacyParamIDs) + bool isBypassParameter) : owner (editController), param (p) { info.id = vstParamID; @@ -435,7 +435,9 @@ public: info.stepCount = (Steinberg::int32) 0; - if (! forceLegacyParamIDs && param.isDiscrete()) + #if ! JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE + if (param.isDiscrete()) + #endif { const int numSteps = param.getNumSteps(); info.stepCount = (Steinberg::int32) (numSteps > 0 && numSteps < 0x7fffffff ? numSteps - 1 : 0); @@ -954,12 +956,6 @@ private: if (parameters.getParameterCount() <= 0) { - #if JUCE_FORCE_USE_LEGACY_PARAM_IDS - const bool forceLegacyParamIDs = true; - #else - const bool forceLegacyParamIDs = false; - #endif - auto n = audioProcessor->getNumParameters(); for (int i = 0; i < n; ++i) @@ -970,7 +966,7 @@ private: auto unitID = JuceAudioProcessor::getUnitID (parameterGroup); parameters.addParameter (new Param (*this, *juceParam, vstParamID, unitID, - (vstParamID == audioProcessor->bypassParamID), forceLegacyParamIDs)); + (vstParamID == audioProcessor->bypassParamID))); } if (pluginInstance->getNumPrograms() > 1)