JUCE: AudioProcessorValueTreeState::Parameter Class Reference

JUCE

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

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

`#include <juce_AudioProcessorValueTreeState.h>`

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...
AudioParameterFloat & | operator= (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, ...);
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...

can be replaced with

using Parameter = AudioProcessorValueTreeState::Parameter;
createAndAddParameter (std::make_unique<Parameter> (paramID1, paramName1, ...));
AudioProcessorValueTreeState::Parameter
A parameter class that maintains backwards compatibility with deprecated AudioProcessorValueTreeState...
Definition: juce_AudioProcessorValueTreeState.h:454
AudioProcessorValueTreeState::Parameter::Parameter
Parameter(const ParameterID &parameterID, const String &parameterName, NormalisableRange< float > valueRange, float defaultValue, const AudioProcessorValueTreeStateParameterAttributes &attributes={})
Constructs a parameter instance.

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

using Parameter = AudioProcessorValueTreeState::Parameter;
YourAudioProcessor()
: apvts (*this, &undoManager, "PARAMETERS", { std::make_unique<Parameter> (paramID1, paramName1, ...),
std::make_unique<Parameter> (paramID2, paramName2, ...),
... })
AudioProcessorValueTreeState::undoManager
UndoManager *const undoManager
Provides access to the undo manager that this object is using.
Definition: juce_AudioProcessorValueTreeState.h:418

## 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:

using Parameter = AudioProcessorValueTreeState::Parameter;
using Attributes = AudioProcessorValueTreeStateParameterAttributes;
auto parameter = std::make_unique<Parameter> (ParameterID { "uniqueID", 1 },
"Name",
NormalisableRange<float> { 0.0f, 100.0f },
50.0f,
Attributes().withStringFromValueFunction (myStringFromValueFunction)
.withValueFromStringFunction (myValueFromStringFunction)
.withLabel ("%"));
AudioProcessorValueTreeStateParameterAttributes
Advanced properties of an AudioProcessorValueTreeState::Parameter.
Definition: juce_AudioProcessorValueTreeState.h:38
NormalisableRange
Represents a mapping between an arbitrary range of values and a normalised 0->1 range.
Definition: juce_NormalisableRange.h:41
ParameterID
Combines a parameter ID and a version hint.
Definition: juce_AudioProcessorParameterWithID.h:34

Parameters

  parameterID | The globally-unique identifier of this parameter
  parameterName | The user-facing name of this parameter
  valueRange | The valid range of values for this parameter
  defaultValue | The initial parameter value
  attributes | Further 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:

- juce_AudioProcessorValueTreeState.h