@@ -1167,8 +1167,9 @@ private: | |||||
| kAudioUnitParameterFlag_HasCFNameString | | kAudioUnitParameterFlag_HasCFNameString | ||||
| kAudioUnitParameterFlag_ValuesHaveStrings); | | 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). | // Set whether the param is automatable (unnamed parameters aren't allowed to be automated). | ||||
if (name.isEmpty() || ! parameter->isAutomatable()) | if (name.isEmpty() || ! parameter->isAutomatable()) | ||||
@@ -1193,24 +1194,23 @@ private: | |||||
} | } | ||||
else | 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); | AUParameterAddress address = generateAUParameterAddress (parameter); | ||||
@@ -423,7 +423,7 @@ public: | |||||
{ | { | ||||
Param (JuceVST3EditController& editController, AudioProcessorParameter& p, | Param (JuceVST3EditController& editController, AudioProcessorParameter& p, | ||||
Vst::ParamID vstParamID, Vst::UnitID vstUnitID, | Vst::ParamID vstParamID, Vst::UnitID vstUnitID, | ||||
bool isBypassParameter, bool forceLegacyParamIDs) | |||||
bool isBypassParameter) | |||||
: owner (editController), param (p) | : owner (editController), param (p) | ||||
{ | { | ||||
info.id = vstParamID; | info.id = vstParamID; | ||||
@@ -435,7 +435,9 @@ public: | |||||
info.stepCount = (Steinberg::int32) 0; | 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(); | const int numSteps = param.getNumSteps(); | ||||
info.stepCount = (Steinberg::int32) (numSteps > 0 && numSteps < 0x7fffffff ? numSteps - 1 : 0); | info.stepCount = (Steinberg::int32) (numSteps > 0 && numSteps < 0x7fffffff ? numSteps - 1 : 0); | ||||
@@ -954,12 +956,6 @@ private: | |||||
if (parameters.getParameterCount() <= 0) | 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(); | auto n = audioProcessor->getNumParameters(); | ||||
for (int i = 0; i < n; ++i) | for (int i = 0; i < n; ++i) | ||||
@@ -970,7 +966,7 @@ private: | |||||
auto unitID = JuceAudioProcessor::getUnitID (parameterGroup); | auto unitID = JuceAudioProcessor::getUnitID (parameterGroup); | ||||
parameters.addParameter (new Param (*this, *juceParam, vstParamID, unitID, | parameters.addParameter (new Param (*this, *juceParam, vstParamID, unitID, | ||||
(vstParamID == audioProcessor->bypassParamID), forceLegacyParamIDs)); | |||||
(vstParamID == audioProcessor->bypassParamID))); | |||||
} | } | ||||
if (pluginInstance->getNumPrograms() > 1) | if (pluginInstance->getNumPrograms() > 1) | ||||