Loading...
Searching...
No Matches
LegacyAudioParameter Class Referencefinal
Inheritance diagram for LegacyAudioParameter:

Public Member Functions

 LegacyAudioParameter (AudioProcessorParameter::Listener &listener, AudioProcessor &audioProcessorToUse, int audioParameterIndex)
float getValue () const override
 Called by the host to find out the value of this parameter.
void setValue (float newValue) override
 The host will call this method to change the value of a parameter.
float getDefaultValue () const override
 This should return the default value for this parameter.
String getName (int maxLen) const override
 Returns the name to display for this parameter, which should be made to fit within the given string length.
String getLabel () const override
 Some parameters may be able to return a label string for their units.
int getNumSteps () const override
 Returns the number of steps that this parameter's range should be quantised into.
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.
bool isBoolean () const override
 Returns whether the parameter represents a boolean switch, typically with "On" and "Off" states.
bool isOrientationInverted () const override
 This can be overridden to tell the host that this parameter operates in the reverse direction.
bool isAutomatable () const override
 Returns true if the host can automate this parameter.
bool isMetaParameter () const override
 Should return true if this parameter is a "meta" parameter.
Category getCategory () const override
 Returns the parameter's category.
String getCurrentValueAsText () const override
 Returns the current value of the parameter as a String.
String getParameterID () const override
 Returns an ID that is unique to this parameter.
float getValueForText (const String &) const override
 Should parse a string and return the appropriate value for it.
String getText (float, int) const override
 Returns a textual version of the supplied normalised parameter value.
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.
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.
virtual ~AudioProcessorParameter ()
 Destructor.
void setValueNotifyingHost (float newValue)
 A processor should call this when it needs to change one of its parameters.
void beginChangeGesture ()
 Sends a signal to the host to tell it that the user is about to start changing this parameter.
void endChangeGesture ()
 Tells the host that the user has finished changing this parameter.
int getParameterIndex () const noexcept
 Returns the index of this parameter in its parent processor's parameter list.
void setParameterIndex (int) noexcept
virtual StringArray getAllValueStrings () const
 Returns the set of strings which represent the possible states a parameter can be in.
int getVersionHint () const
void setOwner (Listener *listener) noexcept
void addListener (Listener *newListener)
 Registers a listener to receive events when the parameter's state changes.
void removeListener (Listener *listener)
 Removes a previously registered parameter listener.
void sendValueChangedMessageToListeners (float newValue)

Static Public Member Functions

static bool isLegacy (AudioProcessorParameter *param) noexcept
static int getParamIndex (AudioProcessor &proc, AudioProcessorParameter *param) noexcept
static String getParamID (const AudioProcessorParameter *param, bool forceLegacyParamIDs) noexcept
Static Public Member Functions inherited from AudioProcessorParameter
static int getDefaultNumParameterSteps () noexcept
 Returns the default number of steps for a parameter.

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
}

Constructor & Destructor Documentation

◆ LegacyAudioParameter()

LegacyAudioParameter::LegacyAudioParameter ( AudioProcessorParameter::Listener & listener,
AudioProcessor & audioProcessorToUse,
int audioParameterIndex )

Member Function Documentation

◆ getValue()

float LegacyAudioParameter::getValue ( ) const
overridevirtual

Called by the host to find out the value of this parameter.

Hosts will expect the value returned to be between 0 and 1.0.

This could be called quite frequently, so try to make your code efficient. It's also likely to be called by non-UI threads, so the code in here should be thread-aware.

Implements AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ setValue()

void LegacyAudioParameter::setValue ( float newValue)
overridevirtual

The host will call this method to change the value of a parameter.

The host may call this at any time, including during the audio processing callback, so your implementation has to process this very efficiently and avoid any kind of locking.

If you want to set the value of a parameter internally, e.g. from your editor component, then don't call this directly - instead, use the setValueNotifyingHost() method, which will also send a message to the host telling it about the change. If the message isn't sent, the host won't be able to automate your parameters properly.

The value passed will be between 0 and 1.0.

Implements AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getDefaultValue()

float LegacyAudioParameter::getDefaultValue ( ) const
overridevirtual

This should return the default value for this parameter.

Implements AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getName()

String LegacyAudioParameter::getName ( int maximumStringLength) const
overridevirtual

Returns the name to display for this parameter, which should be made to fit within the given string length.

Implements AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getLabel()

String LegacyAudioParameter::getLabel ( ) const
overridevirtual

Some parameters may be able to return a label string for their units.

For example "Hz" or "%".

Implements AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getNumSteps()

int LegacyAudioParameter::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 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 AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ isDiscrete()

bool LegacyAudioParameter::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.

References AudioProcessorParameter::getParameterIndex().

◆ isBoolean()

bool LegacyAudioParameter::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.

◆ isOrientationInverted()

bool LegacyAudioParameter::isOrientationInverted ( ) const
overridevirtual

This can be overridden to tell the host that this parameter operates in the reverse direction.

(Not all plugin formats or hosts will actually use this information).

Reimplemented from AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ isAutomatable()

bool LegacyAudioParameter::isAutomatable ( ) const
overridevirtual

Returns true if the host can automate this parameter.

By default, this returns true.

Reimplemented from AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ isMetaParameter()

bool LegacyAudioParameter::isMetaParameter ( ) const
overridevirtual

Should return true if this parameter is a "meta" parameter.

A meta-parameter is a parameter that changes other params. It is used by some hosts (e.g. AudioUnit hosts). By default this returns false.

Reimplemented from AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getCategory()

Category LegacyAudioParameter::getCategory ( ) const
overridevirtual

Returns the parameter's category.

Reimplemented from AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getCurrentValueAsText()

String LegacyAudioParameter::getCurrentValueAsText ( ) const
overridevirtual

Returns the current value of the parameter as a String.

This function can be called when you are hosting plug-ins to get a more specialised textual representation of the current value from the plug-in, for example "On" rather than "1.0".

If you are implementing a plug-in then you should ignore this function and instead override getText.

Reimplemented from AudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getParameterID()

String LegacyAudioParameter::getParameterID ( ) const
overridevirtual

Returns an ID that is unique to this parameter.

Parameter indices are unstable across plugin versions, which means that the parameter found at a particular index in one version of a plugin might move to a different index in the subsequent version.

Unlike the parameter index, the ID returned by this function should be somewhat stable (depending on the format of the plugin), so it is more suitable for storing/recalling automation data.

Implements HostedAudioProcessorParameter.

References AudioProcessorParameter::getParameterIndex().

◆ getValueForText()

float LegacyAudioParameter::getValueForText ( const String & text) const
overridevirtual

Should parse a string and return the appropriate value for it.

Implements AudioProcessorParameter.

References jassertfalse.

◆ getText()

String LegacyAudioParameter::getText ( float normalisedValue,
int  ) const
overridevirtual

Returns a textual version of the supplied normalised parameter value.

The default implementation just returns the floating point value as a string, but this could do anything you need for a custom type of value.

Reimplemented from AudioProcessorParameter.

References jassertfalse.

◆ isLegacy()

bool LegacyAudioParameter::isLegacy ( AudioProcessorParameter * param)
staticnoexcept

◆ getParamIndex()

int LegacyAudioParameter::getParamIndex ( AudioProcessor & proc,
AudioProcessorParameter * param )
staticnoexcept

◆ getParamID()

String LegacyAudioParameter::getParamID ( const AudioProcessorParameter * param,
bool forceLegacyParamIDs )
staticnoexcept
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram