Public Member Functions | List of all members
AudioProcessorValueTreeState::Parameter Class Referencefinal

A parameter class that maintains backwards compatibility with deprecated AudioProcessorValueTreeState functionality. More...

Inheritance diagram for AudioProcessorValueTreeState::Parameter:

Public Member Functions

 Parameter (const ParameterID &parameterID, const String &parameterName, NormalisableRange< float > valueRange, float defaultValue, const AudioProcessorValueTreeStateParameterAttributes &attributes={})
 Constructs a parameter instance. More...
 
 Parameter (const ParameterID &parameterID, const String &parameterName, const String &labelText, NormalisableRange< float > valueRange, float defaultParameterValue, std::function< String(float)> valueToTextFunction, std::function< float(const String &)> textToValueFunction, bool isMetaParameter=false, bool isAutomatableParameter=true, bool isDiscrete=false, AudioProcessorParameter::Category parameterCategory=AudioProcessorParameter::genericParameter, bool isBoolean=false)
 
float getDefaultValue () const override
 This should return the default value for this parameter. More...
 
int getNumSteps () const override
 Returns the number of steps that this parameter's range should be quantised into. More...
 
bool isDiscrete () const override
 Returns whether the parameter uses discrete values, based on the result of getNumSteps, or allows the host to select values continuously. More...
 
bool isBoolean () const override
 Returns whether the parameter represents a boolean switch, typically with "On" and "Off" states. More...
 
- Public Member Functions inherited from AudioParameterFloat
 AudioParameterFloat (const ParameterID &parameterID, const String &parameterName, NormalisableRange< float > normalisableRange, float defaultValue, const AudioParameterFloatAttributes &attributes={})
 Creates a AudioParameterFloat with the specified parameters. More...
 
 AudioParameterFloat (const ParameterID &parameterID, const String &parameterName, NormalisableRange< float > normalisableRange, float defaultValue, const String &parameterLabel, Category parameterCategory=AudioProcessorParameter::genericParameter, std::function< String(float value, int maximumStringLength)> stringFromValue=nullptr, std::function< float(const String &text)> valueFromString=nullptr)
 Creates a AudioParameterFloat with the specified parameters. More...
 
 AudioParameterFloat (const ParameterID &parameterID, const String &parameterName, float minValue, float maxValue, float defaultValue)
 Creates a AudioParameterFloat with an ID, name, and range. More...
 
 ~AudioParameterFloat () override
 Destructor. More...
 
float get () const noexcept
 Returns the parameter's current value. More...
 
 operator float () const noexcept
 Returns the parameter's current value. More...
 
AudioParameterFloatoperator= (float newValue)
 Changes the parameter's current value. More...
 
const NormalisableRange< float > & getNormalisableRange () const override
 Returns the range of values that the parameter can take. More...
 
- Public Member Functions inherited from RangedAudioParameter
int getNumSteps () const override
 Returns the number of steps for this parameter based on the normalisable range's interval. More...
 
float convertTo0to1 (float v) const noexcept
 Normalises and snaps a value based on the normalisable range. More...
 
float convertFrom0to1 (float v) const noexcept
 Denormalises and snaps a value based on the normalisable range. More...
 
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const AudioProcessorParameterWithIDAttributes &attributes={})
 The creation of this object requires providing a name and ID which will be constant for its lifetime. More...
 
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const String &parameterLabel, Category parameterCategory=AudioProcessorParameter::genericParameter)
 The creation of this object requires providing a name and ID which will be constant for its lifetime. More...
 
- Public Member Functions inherited from AudioProcessorParameterWithID
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const AudioProcessorParameterWithIDAttributes &attributes={})
 The creation of this object requires providing a name and ID which will be constant for its lifetime. More...
 
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const String &parameterLabel, Category parameterCategory=AudioProcessorParameter::genericParameter)
 The creation of this object requires providing a name and ID which will be constant for its lifetime. More...
 
String getName (int) const override
 Returns the name to display for this parameter, which should be made to fit within the given string length. More...
 
String getLabel () const override
 Some parameters may be able to return a label string for their units. More...
 
Category getCategory () const override
 Returns the parameter's category. More...
 
String getParameterID () const override
 Returns an ID that is unique to this parameter. More...
 
bool isMetaParameter () const override
 Should return true if this parameter is a "meta" parameter. More...
 
bool isAutomatable () const override
 Returns true if the host can automate this parameter. More...
 
bool isOrientationInverted () const override
 This can be overridden to tell the host that this parameter operates in the reverse direction. More...
 
- Public Member Functions inherited from HostedAudioProcessorParameter
 AudioProcessorParameter () noexcept=default
 
 AudioProcessorParameter (int versionHint)
 The version hint supplied to this constructor is used in Audio Unit plugins to aid ordering parameter identifiers when JUCE_FORCE_USE_LEGACY_PARAM_IDS is not enabled. More...
 
- Public Member Functions inherited from AudioProcessorParameter
 AudioProcessorParameter () noexcept=default
 
 AudioProcessorParameter (int versionHint)
 The version hint supplied to this constructor is used in Audio Unit plugins to aid ordering parameter identifiers when JUCE_FORCE_USE_LEGACY_PARAM_IDS is not enabled. More...
 
virtual ~AudioProcessorParameter ()
 Destructor. More...
 
void setValueNotifyingHost (float newValue)
 A processor should call this when it needs to change one of its parameters. More...
 
void beginChangeGesture ()
 Sends a signal to the host to tell it that the user is about to start changing this parameter. More...
 
void endChangeGesture ()
 Tells the host that the user has finished changing this parameter. More...
 
int getParameterIndex () const noexcept
 Returns the index of this parameter in its parent processor's parameter list. More...
 
virtual String getCurrentValueAsText () const
 Returns the current value of the parameter as a String. More...
 
virtual StringArray getAllValueStrings () const
 Returns the set of strings which represent the possible states a parameter can be in. More...
 
int getVersionHint () const
 
void addListener (Listener *newListener)
 Registers a listener to receive events when the parameter's state changes. More...
 
void removeListener (Listener *listener)
 Removes a previously registered parameter listener. More...
 
void sendValueChangedMessageToListeners (float newValue)
 

Additional Inherited Members

- Public Types inherited from AudioProcessorParameter
enum  Category {
  genericParameter = (0 << 16) | 0, inputGain = (1 << 16) | 0, outputGain = (1 << 16) | 1, inputMeter = (2 << 16) | 0,
  outputMeter = (2 << 16) | 1, compressorLimiterGainReductionMeter = (2 << 16) | 2, expanderGateGainReductionMeter = (2 << 16) | 3, analysisMeter = (2 << 16) | 4,
  otherMeter = (2 << 16) | 5
}
 
- Public Attributes inherited from AudioParameterFloat
NormalisableRange< float > range
 Provides access to the parameter's range. More...
 
- Public Attributes inherited from AudioProcessorParameterWithID
const String paramID
 Provides access to the parameter's ID string. More...
 
const String name
 Provides access to the parameter's name. More...
 
const String label
 Provides access to the parameter's label. More...
 
const Category category
 Provides access to the parameter's category. More...
 

Detailed Description

A parameter class that maintains backwards compatibility with deprecated AudioProcessorValueTreeState functionality.

Previous calls to

createAndAddParameter (paramID1, paramName1, ...);

can be replaced with

createAndAddParameter (std::make_unique<Parameter> (paramID1, paramName1, ...));

However, a much better approach is to use the AudioProcessorValueTreeState constructor directly

YourAudioProcessor()
: apvts (*this, &undoManager, "PARAMETERS", { std::make_unique<Parameter> (paramID1, paramName1, ...),
std::make_unique<Parameter> (paramID2, paramName2, ...),
... })

Constructor & Destructor Documentation

◆ Parameter() [1/2]

AudioProcessorValueTreeState::Parameter::Parameter ( const ParameterID parameterID,
const String parameterName,
NormalisableRange< float >  valueRange,
float  defaultValue,
const AudioProcessorValueTreeStateParameterAttributes attributes = {} 
)

Constructs a parameter instance.

Example usage:

auto parameter = std::make_unique<Parameter> (ParameterID { "uniqueID", 1 },
"Name",
NormalisableRange<float> { 0.0f, 100.0f },
50.0f,
Attributes().withStringFromValueFunction (myStringFromValueFunction)
.withValueFromStringFunction (myValueFromStringFunction)
.withLabel ("%"));
Parameters
parameterIDThe globally-unique identifier of this parameter
parameterNameThe user-facing name of this parameter
valueRangeThe valid range of values for this parameter
defaultValueThe initial parameter value
attributesFurther advanced settings to customise the behaviour of this parameter

◆ Parameter() [2/2]

AudioProcessorValueTreeState::Parameter::Parameter ( const ParameterID parameterID,
const String parameterName,
const String labelText,
NormalisableRange< float >  valueRange,
float  defaultParameterValue,
std::function< String(float)>  valueToTextFunction,
std::function< float(const String &)>  textToValueFunction,
bool  isMetaParameter = false,
bool  isAutomatableParameter = true,
bool  isDiscrete = false,
AudioProcessorParameter::Category  parameterCategory = AudioProcessorParameter::genericParameter,
bool  isBoolean = false 
)

Member Function Documentation

◆ getDefaultValue()

float AudioProcessorValueTreeState::Parameter::getDefaultValue ( ) const
overridevirtual

This should return the default value for this parameter.

Reimplemented from AudioParameterFloat.

◆ getNumSteps()

int AudioProcessorValueTreeState::Parameter::getNumSteps ( ) const
overridevirtual

Returns the number of steps that this parameter's range should be quantised into.

If you want a continuous range of values, don't override this method, and allow the default implementation to return AudioProcessor::getDefaultNumParameterSteps().

If your parameter is boolean, then you may want to make this return 2.

The value that is returned may or may not be used, depending on the host. If you want the host to display stepped automation values, rather than a continuous interpolation between successive values, you should override isDiscrete to return true.

See also
isDiscrete

Reimplemented from AudioParameterFloat.

◆ isDiscrete()

bool AudioProcessorValueTreeState::Parameter::isDiscrete ( ) const
overridevirtual

Returns whether the parameter uses discrete values, based on the result of getNumSteps, or allows the host to select values continuously.

This information may or may not be used, depending on the host. If you want the host to display stepped automation values, rather than a continuous interpolation between successive values, override this method to return true.

See also
getNumSteps

Reimplemented from AudioProcessorParameter.

◆ isBoolean()

bool AudioProcessorValueTreeState::Parameter::isBoolean ( ) const
overridevirtual

Returns whether the parameter represents a boolean switch, typically with "On" and "Off" states.

This information may or may not be used, depending on the host. If you want the host to display a switch, rather than a two item dropdown menu, override this method to return true. You also need to override isDiscrete() to return true and getNumSteps() to return 2.

See also
isDiscrete getNumSteps

Reimplemented from AudioProcessorParameter.


The documentation for this class was generated from the following file:
AudioProcessorValueTreeStateParameterAttributes
Advanced properties of an AudioProcessorValueTreeState::Parameter.
Definition: juce_AudioProcessorValueTreeState.h:39
ParameterID
Combines a parameter ID and a version hint.
Definition: juce_AudioProcessorParameterWithID.h:35
AudioProcessorValueTreeState::undoManager
UndoManager *const undoManager
Provides access to the undo manager that this object is using.
Definition: juce_AudioProcessorValueTreeState.h:420
NormalisableRange< float >
AudioProcessorValueTreeState::Parameter
A parameter class that maintains backwards compatibility with deprecated AudioProcessorValueTreeState...
Definition: juce_AudioProcessorValueTreeState.h:455
AudioProcessorValueTreeState::Parameter::Parameter
Parameter(const ParameterID &parameterID, const String &parameterName, NormalisableRange< float > valueRange, float defaultValue, const AudioProcessorValueTreeStateParameterAttributes &attributes={})
Constructs a parameter instance.
AudioProcessorValueTreeState::createAndAddParameter
RangedAudioParameter * createAndAddParameter(std::unique_ptr< RangedAudioParameter > parameter)
This function adds a parameter to the attached AudioProcessor and that parameter will be managed by t...