JUCE  v5.1.1-3-g1a0b28c73
JUCE API
AudioParameterChoice Class Reference

Provides a class of AudioProcessorParameter that can be used to select an indexed, named choice from a list. More...

#include <juce_AudioParameterChoice.h>

Inheritance diagram for AudioParameterChoice:
Collaboration diagram for AudioParameterChoice:

Public Types

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 Member Functions

 AudioParameterChoice (const String &parameterID, const String &name, const StringArray &choices, int defaultItemIndex, const String &label=String())
 Creates a AudioParameterChoice with an ID, name, and list of items. More...
 
 ~AudioParameterChoice ()
 Destructor. 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...
 
String getCurrentChoiceName () const noexcept
 Returns the name of the currently selected item. More...
 
int getIndex () const noexcept
 Returns the current index of the selected item. More...
 
int getParameterIndex () const noexcept
 Returns the index of this parameter in its parent processor's parameter list. More...
 
virtual bool isAutomatable () const
 Returns true if the host can automate this parameter. More...
 
virtual bool isMetaParameter () const
 Should return true if this parameter is a "meta" parameter. More...
 
virtual bool isOrientationInverted () const
 This can be overridden to tell the host that this parameter operates in the reverse direction. More...
 
 operator int () const noexcept
 Returns the current index of the selected item. More...
 
 operator String () const noexcept
 Returns the name of the currently selected item. More...
 
AudioParameterChoiceoperator= (int newValue)
 Changes the selected item to a new index. More...
 
void setValueNotifyingHost (float newValue)
 Your filter can call this when it needs to change one of its parameters. More...
 

Public Attributes

const Category category
 Provides access to the parameter's category. More...
 
const StringArray choices
 Provides access to the list of choices that this parameter is working with. More...
 
const String label
 Provides access to the parameter's label. More...
 
const String name
 Provides access to the parameter's name. More...
 
const String paramID
 Provides access to the parameter's ID string. More...
 

Private Member Functions

int convertFrom0to1 (float) const noexcept
 
float convertTo0to1 (int) const noexcept
 
float getDefaultValue () const override
 This should return the default value for this parameter. More...
 
int getNumSteps () const override
 Returns the number of discrete interval steps that this parameter's range should be quantised into. More...
 
String getText (float, int) const override
 Returns a textual version of the supplied parameter value. More...
 
float getValue () const override
 Called by the host to find out the value of this parameter. More...
 
float getValueForText (const String &) const override
 Should parse a string and return the appropriate value for it. More...
 
int limitRange (int) const noexcept
 
void setValue (float newValue) override
 The host will call this method to change the value of one of the filter's parameters. More...
 

Private Attributes

float defaultValue
 
float value
 

Detailed Description

Provides a class of AudioProcessorParameter that can be used to select an indexed, named choice from a list.

See also
AudioParameterFloat, AudioParameterInt, AudioParameterBool

Member Enumeration Documentation

◆ Category

Enumerator
genericParameter 
inputGain 

If your parameter is not a meter then you should use this category.

outputGain 

Currently not used.

inputMeter 

The following categories tell the host that this parameter is a meter level value and therefore read-only.

Most hosts will display these type of parameters as a meter in the generic view of your plug-in. Pro-Tools will also show the meter in the mixer view.

outputMeter 
compressorLimiterGainReductionMeter 
expanderGateGainReductionMeter 
analysisMeter 
otherMeter 

Constructor & Destructor Documentation

◆ AudioParameterChoice()

AudioParameterChoice::AudioParameterChoice ( const String parameterID,
const String name,
const StringArray choices,
int  defaultItemIndex,
const String label = String() 
)

Creates a AudioParameterChoice with an ID, name, and list of items.

On creation, its value is set to the default index.

◆ ~AudioParameterChoice()

AudioParameterChoice::~AudioParameterChoice ( )

Destructor.

Member Function Documentation

◆ beginChangeGesture()

void AudioProcessorParameter::beginChangeGesture ( )
inherited

Sends a signal to the host to tell it that the user is about to start changing this parameter.

This allows the host to know when a parameter is actively being held by the user, and it may use this information to help it record automation. If you call this, it must be matched by a later call to endChangeGesture().

◆ convertFrom0to1()

int AudioParameterChoice::convertFrom0to1 ( float  ) const
privatenoexcept

◆ convertTo0to1()

float AudioParameterChoice::convertTo0to1 ( int  ) const
privatenoexcept

◆ endChangeGesture()

void AudioProcessorParameter::endChangeGesture ( )
inherited

Tells the host that the user has finished changing this parameter.

This allows the host to know when a parameter is actively being held by the user, and it may use this information to help it record automation. A call to this method must follow a call to beginChangeGesture().

◆ getCurrentChoiceName()

String AudioParameterChoice::getCurrentChoiceName ( ) const
inlinenoexcept

Returns the name of the currently selected item.

◆ getDefaultValue()

float AudioParameterChoice::getDefaultValue ( ) const
overrideprivatevirtual

This should return the default value for this parameter.

Implements AudioProcessorParameter.

◆ getIndex()

int AudioParameterChoice::getIndex ( ) const
inlinenoexcept

Returns the current index of the selected item.

References juce::roundToInt().

◆ getNumSteps()

int AudioParameterChoice::getNumSteps ( ) const
overrideprivatevirtual

Returns the number of discrete interval 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.

Reimplemented from AudioProcessorParameter.

◆ getParameterIndex()

int AudioProcessorParameter::getParameterIndex ( ) const
inlinenoexceptinherited

Returns the index of this parameter in its parent processor's parameter list.

◆ getText()

String AudioParameterChoice::getText ( float  value,
int   
) const
overrideprivatevirtual

Returns a textual version of the supplied 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.

◆ getValue()

float AudioParameterChoice::getValue ( ) const
overrideprivatevirtual

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.

◆ getValueForText()

float AudioParameterChoice::getValueForText ( const String text) const
overrideprivatevirtual

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

Implements AudioProcessorParameter.

◆ isAutomatable()

virtual bool AudioProcessorParameter::isAutomatable ( ) const
virtualinherited

Returns true if the host can automate this parameter.

By default, this returns true.

◆ isMetaParameter()

virtual bool AudioProcessorParameter::isMetaParameter ( ) const
virtualinherited

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.

◆ isOrientationInverted()

virtual bool AudioProcessorParameter::isOrientationInverted ( ) const
virtualinherited

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).

◆ limitRange()

int AudioParameterChoice::limitRange ( int  ) const
privatenoexcept

◆ operator int()

AudioParameterChoice::operator int ( ) const
inlinenoexcept

Returns the current index of the selected item.

◆ operator String()

AudioParameterChoice::operator String ( ) const
inlinenoexcept

Returns the name of the currently selected item.

◆ operator=()

AudioParameterChoice& AudioParameterChoice::operator= ( int  newValue)

Changes the selected item to a new index.

◆ setValue()

void AudioParameterChoice::setValue ( float  newValue)
overrideprivatevirtual

The host will call this method to change the value of one of the filter's parameters.

The host may call this at any time, including during the audio processing callback, so the filter has to process this very fast and avoid blocking.

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.

◆ setValueNotifyingHost()

void AudioProcessorParameter::setValueNotifyingHost ( float  newValue)
inherited

Your filter can call this when it needs to change one of its parameters.

This could happen when the editor or some other internal operation changes a parameter. This method will call the setValue() method to change the value, and will then send a message to the host telling it about the change.

Note that to make sure the host correctly handles automation, you should call the beginChangeGesture() and endChangeGesture() methods to tell the host when the user has started and stopped changing the parameter.

Member Data Documentation

◆ category

const Category AudioProcessorParameterWithID::category
inherited

Provides access to the parameter's category.

◆ choices

const StringArray AudioParameterChoice::choices

Provides access to the list of choices that this parameter is working with.

◆ defaultValue

float AudioParameterChoice::defaultValue
private

◆ label

const String AudioProcessorParameterWithID::label
inherited

Provides access to the parameter's label.

◆ name

const String AudioProcessorParameterWithID::name
inherited

Provides access to the parameter's name.

◆ paramID

const String AudioProcessorParameterWithID::paramID
inherited

Provides access to the parameter's ID string.

◆ value

float AudioParameterChoice::value
private

The documentation for this class was generated from the following file: