|
Gin
|
Modulation matrix system for routing multiple modulation sources to parameters. More...
#include <gin_modmatrix.h>
Classes | |
| class | Listener |
Public Types | |
| enum | PolarityMode { unipolar , bipolar , sameAsSource } |
| Modulation polarity modes for source-to-destination mapping. More... | |
| enum | Function { linear , quadraticIn , quadraticInOut , quadraticOut , sineIn , sineInOut , sineOut , exponentialIn , exponentialInOut , exponentialOut , invLinear , invQuadraticIn , invQuadraticInOut , invQuadraticOut , invSineIn , invSineInOut , invSineOut , invExponentialIn , invExponentialInOut , invExponentialOut } |
| Modulation shaping functions for non-linear modulation curves. More... | |
Static Public Member Functions | |
| static float | shape (float v, Function f, bool biPolarSrc, bool biPolarDst) |
Modulation matrix system for routing multiple modulation sources to parameters.
The ModMatrix provides a flexible modulation routing system commonly used in synthesizers and audio effects. It allows multiple modulation sources (LFOs, envelopes, velocity, etc.) to control multiple destination parameters with configurable depth, enable/disable, and curve shaping.
Key Features:
Usage:
Example:
Modulation polarity modes for source-to-destination mapping.
PolarityMode determines how modulation values are interpreted when applied to parameters:
This affects how modulation depth is applied and visualized in the UI.
| Enumerator | |
|---|---|
| unipolar | 0 to 1 (positive only) |
| bipolar | -1 to 1 (positive and negative) |
| sameAsSource | Match source polarity. |
Modulation shaping functions for non-linear modulation curves.
Function provides various easing curves to shape modulation between source and destination. These allow creative control over how modulation values are mapped, enabling smooth fades, exponential responses, and inverted behaviors.
Curve Types:
Curve Timing:
These functions are applied after the modulation source value is retrieved and before it's scaled by depth and applied to the destination.
Usage Example:
|
default |
| void ModMatrix::setDefaultPolarityMode | ( | PolarityMode | m | ) |
| void ModMatrix::updateState | ( | juce::ValueTree & | vt | ) |
References easeExponentialIn(), easeExponentialInOut(), easeExponentialOut(), easeQuadraticIn(), easeQuadraticInOut(), easeQuadraticOut(), easeSineIn(), easeSineInOut(), easeSineOut(), exponentialIn, exponentialInOut, exponentialOut, invExponentialIn, invExponentialInOut, invExponentialOut, invLinear, invQuadraticIn, invQuadraticInOut, invQuadraticOut, invSineIn, invSineInOut, invSineOut, linear, quadraticIn, quadraticInOut, quadraticOut, sineIn, sineInOut, and sineOut.
Referenced by getLiveValues(), getValue(), getValue(), and ModCurveButton::paintButton().
References shape().
Referenced by ModVoice::getValue(), and ModVoice::getValueUnsmoothed().
References shape().
| ModSrcId ModMatrix::addMonoModSource | ( | const juce::String & | id, |
| const juce::String & | name, | ||
| bool | bipolar | ||
| ) |
| ModSrcId ModMatrix::addPolyModSource | ( | const juce::String & | id, |
| const juce::String & | name, | ||
| bool | bipolar | ||
| ) |
| void ModMatrix::build | ( | ) |
| void ModMatrix::disableLearn | ( | ) |
| ModSrcId ModMatrix::getLearn | ( | ) |
Referenced by ModulationOverview::ModulationOverview().
| int ModMatrix::getNumModSources | ( | ) |
Referenced by ModSrcListBox::getNumRows().
| juce::String ModMatrix::getModSrcName | ( | ModSrcId | src | ) |
References ModSrcId::id.
References ModSrcId::id.
References ModSrcId::id.
| juce::String ModMatrix::getModDstName | ( | ModDstId | dst | ) |
| juce::Array< ModSrcId > ModMatrix::getModSources | ( | gin::Parameter * | ) |
| bool ModMatrix::shouldShowLiveModValues | ( | ) |
Referenced by ModulationOverview::ModulationOverview().