Advanced parameter class with modulation, real-time callbacks, and host automation.
More...
|
| | Parameter (Processor &, juce::String uid, juce::String name, juce::String shortName, juce::String label, float minValue, float maxValue, float intervalValue, float defaultValue, float skewFactor=1.0f, std::function< juce::String(const Parameter &, float)> textFunction=nullptr) |
| |
| | Parameter (Processor &, juce::String uid, juce::String name, juce::String shortName, juce::String label, juce::NormalisableRange< float > range, float defaultValue, std::function< juce::String(const Parameter &, float)> textFunction=nullptr) |
| |
| juce::String | getUid () const |
| |
| void | setInternal (bool i) |
| |
| bool | isInternal () const |
| |
| void | setModIndex (int i) |
| |
| int | getModIndex () const |
| |
| void | setModMatrix (ModMatrix *m) |
| |
| ModMatrix * | getModMatrix () const |
| |
| virtual void | prepareToPlay (double, int) |
| |
| virtual void | reset () |
| |
| float | getProcValue () |
| |
| virtual float | getProcValue (int) |
| |
| float | getUserValue () const |
| |
| int | getUserValueInt () const |
| |
| bool | getUserValueBool () const |
| |
| float | getUserDefaultValue () const |
| |
| virtual void | setUserValue (float v) |
| |
| virtual void | setUserValueNotifingHost (float f) |
| |
| void | setUserValueAsUserAction (float f) |
| |
| juce::String | getUserValueText () const |
| |
| juce::String | userValueToText (float val) |
| |
| bool | isOnOff () |
| |
| bool | isOn () |
| |
| virtual bool | isSmoothingActive () |
| |
| void | beginUserAction () |
| |
| void | beginUserTimedAction () |
| |
| void | endUserAction () |
| |
| juce::NormalisableRange< float > | getUserRange () const |
| |
| float | getUserRangeStart () const |
| |
| float | getUserRangeEnd () const |
| |
| void | addListener (ParameterListener *listener) |
| |
| void | removeListener (ParameterListener *listener) |
| |
| ParamState | getState () |
| |
| void | setState (const ParamState &state) |
| |
| juce::String | getParameterID () const override |
| |
| float | getValue () const override |
| |
| bool | getBoolValue () const |
| |
| void | setValue (float newValue) override |
| |
| float | getDefaultValue () const override |
| |
| juce::String | getName (int maximumStringLength) const override |
| |
| juce::String | getShortName () const |
| |
| juce::String | getLabel () const override |
| |
| int | getNumSteps () const override |
| |
| juce::String | getText (float value, int) const override |
| |
| float | getValueForText (const juce::String &text) const override |
| |
| bool | isOrientationInverted () const override |
| |
| bool | isAutomatable () const override |
| |
| bool | isMetaParameter () const override |
| |
| float | getSkew () |
| |
| bool | isSkewSymmetric () |
| |
| | RealtimeAsyncUpdater () |
| | Creates a RealtimeAsyncUpdater.
|
| |
| virtual | ~RealtimeAsyncUpdater () |
| | Destructor.
|
| |
| void | triggerAsyncUpdate () |
| | Triggers an asynchronous update.
|
| |
| void | cancelPendingUpdate () noexcept |
| | Cancels any pending update.
|
| |
| void | handleUpdateNowIfNeeded () |
| | Handles the update immediately if one is pending.
|
| |
| bool | isUpdatePending () const noexcept |
| | Checks if an update is currently pending.
|
| |
Advanced parameter class with modulation, real-time callbacks, and host automation.
Parameter provides a comprehensive plugin parameter implementation with features needed for professional audio plugins. It extends JUCE's parameter system with modulation support, user/processing value separation, and real-time safe callbacks.
Value Formats: Parameter values are represented in three formats:
- value: Normalized 0..1 range (for host automation)
- user value: Range as displayed to user (e.g., -100 to +10 dB)
- proc value: Range used for DSP processing (e.g., 0 to 3.1623 for gain)
By default, user value and proc value are identical. To provide custom processing values, set the conversionFunction (e.g., converting dB to linear gain).
Parameter Types:
- External: Exposed to host, can be automated and modulated
- Internal: Hidden from host, cannot be modulated (e.g., UI-only settings)
Key Features:
- Host automation support
- Modulation matrix integration
- Real-time safe value callbacks
- User action tracking (begin/end gestures)
- Custom text formatting
- Skewed parameter ranges
- Optional parameter smoothing
- Listener callbacks for UI updates
Usage:
"gain", "Gain", "Gain", "dB",
-100.0f, 10.0f,
0.1f,
0.0f,
1.0f);
gain->conversionFunction = [](
float db) {
return juce::Decibels::decibelsToGain(
db);
};
Advanced parameter class with modulation, real-time callbacks, and host automation.
Definition gin_parameter.h:67
Processor & processor
Definition gin_parameter.h:181
A lightweight 2D point class for projects that don't use juce_graphics.
Definition gin_point.h:25
- See also
- Processor, ModMatrix, SmoothedParameter