An abstract base class for parameter objects that can be added to an AudioProcessor. More...
#include <juce_AudioProcessorParameter.h>
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 | |
AudioProcessorParameter () noexcept | |
virtual | ~AudioProcessorParameter () |
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... | |
virtual Category | getCategory () const |
Returns the parameter's category. More... | |
virtual float | getDefaultValue () const =0 |
This should return the default value for this parameter. More... | |
virtual String | getLabel () const =0 |
Some parameters may be able to return a label string for their units. More... | |
virtual String | getName (int maximumStringLength) const =0 |
Returns the name to display for this parameter, which should be made to fit within the given string length. More... | |
virtual int | getNumSteps () const |
Returns the number of discrete interval steps that this parameter's range should be quantised into. More... | |
int | getParameterIndex () const noexcept |
Returns the index of this parameter in its parent processor's parameter list. More... | |
virtual String | getText (float value, int) const |
Returns a textual version of the supplied parameter value. More... | |
virtual float | getValue () const =0 |
Called by the host to find out the value of this parameter. More... | |
virtual float | getValueForText (const String &text) const =0 |
Should parse a string and return the appropriate value for it. 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... | |
virtual void | setValue (float newValue)=0 |
The host will call this method to change the value of one of the filter's parameters. More... | |
void | setValueNotifyingHost (float newValue) |
Your filter can call this when it needs to change one of its parameters. More... | |
Private Attributes | |
int | parameterIndex |
AudioProcessor * | processor |
Friends | |
class | AudioProcessor |
An abstract base class for parameter objects that can be added to an AudioProcessor.
|
noexcept |
|
virtual |
Destructor.
void AudioProcessorParameter::beginChangeGesture | ( | ) |
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().
void AudioProcessorParameter::endChangeGesture | ( | ) |
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().
|
virtual |
Returns the parameter's category.
Reimplemented in AudioProcessorParameterWithID.
|
pure virtual |
This should return the default value for this parameter.
Implemented in AudioParameterFloat, AudioParameterChoice, AudioParameterInt, and AudioParameterBool.
|
pure virtual |
Some parameters may be able to return a label string for their units.
For example "Hz" or "%".
Implemented in AudioProcessorParameterWithID.
Returns the name to display for this parameter, which should be made to fit within the given string length.
Implemented in AudioProcessorParameterWithID.
|
virtual |
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 in AudioParameterFloat, AudioParameterChoice, AudioParameterInt, and AudioParameterBool.
|
inlinenoexcept |
Returns the index of this parameter in its parent processor's parameter list.
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 in AudioParameterFloat, AudioParameterChoice, AudioParameterInt, and AudioParameterBool.
|
pure virtual |
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.
Implemented in AudioParameterFloat, AudioParameterChoice, AudioParameterInt, and AudioParameterBool.
|
pure virtual |
Should parse a string and return the appropriate value for it.
Implemented in AudioParameterFloat, AudioParameterChoice, AudioParameterInt, and AudioParameterBool.
|
virtual |
Returns true if the host can automate this parameter.
By default, this returns true.
|
virtual |
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.
|
virtual |
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).
|
pure virtual |
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.
Implemented in AudioParameterFloat, AudioParameterChoice, AudioParameterInt, and AudioParameterBool.
void AudioProcessorParameter::setValueNotifyingHost | ( | float | newValue | ) |
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.
|
friend |
|
private |
|
private |