|
LMMS
|
#include <juce_AudioParameterFloat.h>
Public Attributes | |
| NormalisableRange< float > | range |
| Public Attributes inherited from juce::AudioProcessorParameterWithID | |
| const String | paramID |
| const String | name |
| const String | label |
| const Category | category |
Protected Member Functions | |
| virtual void | valueChanged (float newValue) |
Private Member Functions | |
| float | getValue () const override |
| void | setValue (float newValue) override |
| float | getDefaultValue () const override |
| int | getNumSteps () const override |
| String | getText (float, int) const override |
| float | getValueForText (const String &) const override |
Private Attributes | |
| std::atomic< float > | value |
| const float | valueDefault |
| std::function< String(float, int)> | stringFromValueFunction |
| std::function< float(const String &)> | valueFromStringFunction |
Additional Inherited Members | |
| Public Types inherited from juce::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 } |
A subclass of AudioProcessorParameter that provides an easy way to create a parameter which maps onto a given NormalisableRange.
@tags{Audio}
| juce::AudioParameterFloat::AudioParameterFloat | ( | const ParameterID & | parameterID, |
| const String & | parameterName, | ||
| NormalisableRange< float > | normalisableRange, | ||
| float | defaultValue, | ||
| const AudioParameterFloatAttributes & | attributes = {} ) |
Creates a AudioParameterFloat with the specified parameters.
Note that the attributes argument is optional and only needs to be supplied if you want to change options from their default values.
Example usage:
| parameterID | The parameter ID to use |
| parameterName | The parameter name to use |
| normalisableRange | The NormalisableRange to use |
| defaultValue | The non-normalised default value |
| Attributes | Optional characteristics |
|
inline |
Creates a AudioParameterFloat with the specified parameters.
| parameterID | The parameter ID to use |
| parameterName | The parameter name to use |
| normalisableRange | The NormalisableRange to use |
| defaultValue | The non-normalised default value |
| parameterLabel | An optional label for the parameter's value |
| parameterCategory | An optional parameter category |
| stringFromValue | An optional lambda function that converts a non-normalised value to a string with a maximum length. This may be used by hosts to display the parameter's value. |
| valueFromString | An optional lambda function that parses a string and converts it into a non-normalised value. Some hosts use this to allow users to type in parameter values. |
| juce::AudioParameterFloat::AudioParameterFloat | ( | const ParameterID & | parameterID, |
| const String & | parameterName, | ||
| float | minValue, | ||
| float | maxValue, | ||
| float | defaultValue ) |
Creates a AudioParameterFloat with an ID, name, and range. On creation, its value is set to the default value. For control over skew factors, you can use the other constructor and provide a NormalisableRange.
|
override |
Destructor.
|
inlinenoexcept |
Returns the parameter's current value.
|
overrideprivatevirtual |
This should return the default value for this parameter.
Implements juce::AudioProcessorParameter.
Reimplemented in juce::AudioProcessorValueTreeState::Parameter.
|
inlineoverridevirtual |
Returns the range of values that the parameter can take.
Implements juce::RangedAudioParameter.
|
overrideprivatevirtual |
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.
Reimplemented from juce::AudioProcessorParameter.
Reimplemented in juce::AudioProcessorValueTreeState::Parameter.
|
overrideprivatevirtual |
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 juce::AudioProcessorParameter.
|
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 juce::AudioProcessorParameter.
|
overrideprivatevirtual |
Should parse a string and return the appropriate value for it.
Implements juce::AudioProcessorParameter.
|
inlinenoexcept |
Returns the parameter's current value.
| AudioParameterFloat & juce::AudioParameterFloat::operator= | ( | float | newValue | ) |
Changes the parameter's current value.
|
overrideprivatevirtual |
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 juce::AudioProcessorParameter.
|
protectedvirtual |
Override this method if you are interested in receiving callbacks when the parameter value changes.
Reimplemented in juce::AudioProcessorValueTreeState::Parameter.
| NormalisableRange<float> juce::AudioParameterFloat::range |
Provides access to the parameter's range.
|
private |
|
private |