LMMS
Loading...
Searching...
No Matches
juce::AudioParameterFloat Class Reference

#include <juce_AudioParameterFloat.h>

Inheritance diagram for juce::AudioParameterFloat:
juce::RangedAudioParameter juce::AudioProcessorParameterWithID juce::HostedAudioProcessorParameter juce::AudioProcessorParameter juce::AudioProcessorValueTreeState::Parameter

Public Member Functions

 AudioParameterFloat (const ParameterID &parameterID, const String &parameterName, NormalisableRange< float > normalisableRange, float defaultValue, const AudioParameterFloatAttributes &attributes={})
 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)
 AudioParameterFloat (const ParameterID &parameterID, const String &parameterName, float minValue, float maxValue, float defaultValue)
 ~AudioParameterFloat () override
float get () const noexcept
 operator float () const noexcept
AudioParameterFloatoperator= (float newValue)
const NormalisableRange< float > & getNormalisableRange () const override
Public Member Functions inherited from juce::RangedAudioParameter
int getNumSteps () const override
float convertTo0to1 (float v) const noexcept
float convertFrom0to1 (float v) const noexcept
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const AudioProcessorParameterWithIDAttributes &attributes={})
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const String &parameterLabel, Category parameterCategory=AudioProcessorParameter::genericParameter)
Public Member Functions inherited from juce::AudioProcessorParameterWithID
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const AudioProcessorParameterWithIDAttributes &attributes={})
 AudioProcessorParameterWithID (const ParameterID &parameterID, const String &parameterName, const String &parameterLabel, Category parameterCategory=AudioProcessorParameter::genericParameter)
String getName (int) const override
String getLabel () const override
Category getCategory () const override
String getParameterID () const override
bool isMetaParameter () const override
bool isAutomatable () const override
bool isOrientationInverted () const override
Public Member Functions inherited from juce::HostedAudioProcessorParameter
 AudioProcessorParameter () noexcept=default
 AudioProcessorParameter (int versionHint)
Public Member Functions inherited from juce::AudioProcessorParameter
 AudioProcessorParameter () noexcept=default
 AudioProcessorParameter (int versionHint)
virtual ~AudioProcessorParameter ()
void setValueNotifyingHost (float newValue)
void beginChangeGesture ()
void endChangeGesture ()
virtual bool isDiscrete () const
virtual bool isBoolean () const
int getParameterIndex () const noexcept
virtual String getCurrentValueAsText () const
virtual StringArray getAllValueStrings () const
int getVersionHint () const
void addListener (Listener *newListener)
void removeListener (Listener *listener)
void sendValueChangedMessageToListeners (float newValue)

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
}

Detailed Description

A subclass of AudioProcessorParameter that provides an easy way to create a parameter which maps onto a given NormalisableRange.

See also
AudioParameterInt, AudioParameterBool, AudioParameterChoice

@tags{Audio}

Constructor & Destructor Documentation

◆ AudioParameterFloat() [1/3]

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:

auto attributes = AudioParameterFloatAttributes().withStringFromValueFunction ([] (auto x, auto) { return String (x * 100); })
.withLabel ("%");
auto param = std::make_unique<AudioParameterFloat> ("paramID", "Parameter Name", NormalisableRange<float>(), 0.5f, attributes);
Definition juce_AudioParameterFloat.h:33
Definition juce_NormalisableRange.h:40
JUCE_NODISCARD auto withStringFromValueFunction(StringFromValue x) const
Definition juce_RangedAudioParameter.h:52
Definition juce_String.h:53
unsigned x[BMAX+1]
Definition inflate.c:1586
Parameters
parameterIDThe parameter ID to use
parameterNameThe parameter name to use
normalisableRangeThe NormalisableRange to use
defaultValueThe non-normalised default value
AttributesOptional characteristics

◆ AudioParameterFloat() [2/3]

juce::AudioParameterFloat::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 )
inline

Creates a AudioParameterFloat with the specified parameters.

Parameters
parameterIDThe parameter ID to use
parameterNameThe parameter name to use
normalisableRangeThe NormalisableRange to use
defaultValueThe non-normalised default value
parameterLabelAn optional label for the parameter's value
parameterCategoryAn optional parameter category
stringFromValueAn 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.
valueFromStringAn 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.

◆ AudioParameterFloat() [3/3]

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.

◆ ~AudioParameterFloat()

juce::AudioParameterFloat::~AudioParameterFloat ( )
override

Destructor.

Member Function Documentation

◆ get()

float juce::AudioParameterFloat::get ( ) const
inlinenoexcept

Returns the parameter's current value.

◆ getDefaultValue()

float juce::AudioParameterFloat::getDefaultValue ( ) const
overrideprivatevirtual

This should return the default value for this parameter.

Implements juce::AudioProcessorParameter.

Reimplemented in juce::AudioProcessorValueTreeState::Parameter.

◆ getNormalisableRange()

const NormalisableRange< float > & juce::AudioParameterFloat::getNormalisableRange ( ) const
inlineoverridevirtual

Returns the range of values that the parameter can take.

Implements juce::RangedAudioParameter.

◆ getNumSteps()

int juce::AudioParameterFloat::getNumSteps ( ) const
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.

See also
isDiscrete

Reimplemented from juce::AudioProcessorParameter.

Reimplemented in juce::AudioProcessorValueTreeState::Parameter.

◆ getText()

String juce::AudioParameterFloat::getText ( float normalisedValue,
int  ) const
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.

◆ getValue()

float juce::AudioParameterFloat::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 juce::AudioProcessorParameter.

◆ getValueForText()

float juce::AudioParameterFloat::getValueForText ( const String & text) const
overrideprivatevirtual

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

Implements juce::AudioProcessorParameter.

◆ operator float()

juce::AudioParameterFloat::operator float ( ) const
inlinenoexcept

Returns the parameter's current value.

◆ operator=()

AudioParameterFloat & juce::AudioParameterFloat::operator= ( float newValue)

Changes the parameter's current value.

◆ setValue()

void juce::AudioParameterFloat::setValue ( float newValue)
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.

◆ valueChanged()

void juce::AudioParameterFloat::valueChanged ( float newValue)
protectedvirtual

Override this method if you are interested in receiving callbacks when the parameter value changes.

Reimplemented in juce::AudioProcessorValueTreeState::Parameter.

Member Data Documentation

◆ range

NormalisableRange<float> juce::AudioParameterFloat::range

Provides access to the parameter's range.

◆ stringFromValueFunction

std::function<String (float, int)> juce::AudioParameterFloat::stringFromValueFunction
private

◆ value

std::atomic<float> juce::AudioParameterFloat::value
private

◆ valueDefault

const float juce::AudioParameterFloat::valueDefault
private

◆ valueFromStringFunction

std::function<float (const String&)> juce::AudioParameterFloat::valueFromStringFunction
private

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