Browse Source

AudioProcessor: Validate parameter version hints

pull/22/head
reuk 3 years ago
parent
commit
26aa932e5f
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
2 changed files with 14 additions and 5 deletions
  1. +13
    -4
      modules/juce_audio_processors/processors/juce_AudioProcessor.cpp
  2. +1
    -1
      modules/juce_audio_processors/processors/juce_AudioProcessor.h

+ 13
- 4
modules/juce_audio_processors/processors/juce_AudioProcessor.cpp View File

@@ -427,10 +427,19 @@ void AudioProcessor::updateHostDisplay (const AudioProcessorListener::ChangeDeta
l->audioProcessorChanged (this, details); l->audioProcessorChanged (this, details);
} }
void AudioProcessor::checkForUnsafeParamID (AudioProcessorParameter* param)
void AudioProcessor::validateParameter (AudioProcessorParameter* param)
{ {
checkForDuplicateParamID (param); checkForDuplicateParamID (param);
checkForDuplicateTrimmedParamID (param); checkForDuplicateTrimmedParamID (param);
/* If you're building this plugin as an AudioUnit, and you intend to use the plugin in
Logic Pro or GarageBand, it's a good idea to set version hints on all of your parameters
so that you can add parameters safely in future versions of the plugin.
See the documentation for AudioProcessorParameter(int) for more information.
*/
#if JucePlugin_Build_AU
jassert (wrapperType == wrapperType_Undefined || param->getVersionHint() != 0);
#endif
} }
void AudioProcessor::checkForDuplicateTrimmedParamID (AudioProcessorParameter* param) void AudioProcessor::checkForDuplicateTrimmedParamID (AudioProcessorParameter* param)
@@ -512,7 +521,7 @@ void AudioProcessor::addParameter (AudioProcessorParameter* param)
param->parameterIndex = flatParameterList.size(); param->parameterIndex = flatParameterList.size();
flatParameterList.add (param); flatParameterList.add (param);
checkForUnsafeParamID (param);
validateParameter (param);
} }
void AudioProcessor::addParameterGroup (std::unique_ptr<AudioProcessorParameterGroup> group) void AudioProcessor::addParameterGroup (std::unique_ptr<AudioProcessorParameterGroup> group)
@@ -529,7 +538,7 @@ void AudioProcessor::addParameterGroup (std::unique_ptr<AudioProcessorParameterG
p->processor = this; p->processor = this;
p->parameterIndex = i; p->parameterIndex = i;
checkForUnsafeParamID (p);
validateParameter (p);
} }
parameterTree.addChild (std::move (group)); parameterTree.addChild (std::move (group));
@@ -553,7 +562,7 @@ void AudioProcessor::setParameterTree (AudioProcessorParameterGroup&& newTree)
p->processor = this; p->processor = this;
p->parameterIndex = i; p->parameterIndex = i;
checkForUnsafeParamID (p);
validateParameter (p);
} }
} }


+ 1
- 1
modules/juce_audio_processors/processors/juce_AudioProcessor.h View File

@@ -1495,7 +1495,7 @@ private:
#endif #endif
void checkForDuplicateTrimmedParamID (AudioProcessorParameter*); void checkForDuplicateTrimmedParamID (AudioProcessorParameter*);
void checkForUnsafeParamID (AudioProcessorParameter*);
void validateParameter (AudioProcessorParameter*);
void checkForDuplicateParamID (AudioProcessorParameter*); void checkForDuplicateParamID (AudioProcessorParameter*);
void checkForDuplicateGroupIDs (const AudioProcessorParameterGroup&); void checkForDuplicateGroupIDs (const AudioProcessorParameterGroup&);


Loading…
Cancel
Save