|
| virtual | ~IModMatrix ()=default |
| virtual void | addListener (Listener *l)=0 |
| virtual void | removeListener (Listener *l)=0 |
| virtual int | getNumModSources ()=0 |
| virtual juce::String | getModSrcName (ModSrcId src)=0 |
| virtual bool | getModSrcPoly (ModSrcId src)=0 |
| virtual bool | getModSrcBipolar (ModSrcId src)=0 |
| virtual juce::String | getModDstName (ModDstId dst)=0 |
| virtual Parameter * | getParameter (ModDstId d)=0 |
| virtual void | enableLearn (ModSrcId source)=0 |
| virtual void | disableLearn ()=0 |
| virtual ModSrcId | getLearn ()=0 |
| virtual bool | isModulated (ModDstId param)=0 |
| virtual juce::Array< ModSrcId > | getModSources (gin::Parameter *p)=0 |
| virtual float | getModDepth (ModSrcId src, ModDstId param)=0 |
| virtual std::vector< std::pair< ModDstId, float > > | getModDepths (ModSrcId src)=0 |
| virtual std::vector< std::pair< ModSrcId, float > > | getModDepths (ModDstId param)=0 |
| virtual void | setModDepth (ModSrcId src, ModDstId param, float f)=0 |
| virtual void | clearModDepth (ModSrcId src, ModDstId param)=0 |
| virtual ModFunction | getModFunction (ModSrcId src, ModDstId param)=0 |
| virtual void | setModFunction (ModSrcId src, ModDstId param, ModFunction f)=0 |
| virtual bool | getModEnable (ModSrcId src, ModDstId param)=0 |
| virtual void | setModEnable (ModSrcId src, ModDstId param, bool b)=0 |
| virtual bool | getModBipolarMapping (ModSrcId src, ModDstId param)=0 |
| virtual void | setModBipolarMapping (ModSrcId src, ModDstId param, bool b)=0 |
| virtual bool | shouldShowLiveModValues ()=0 |
| virtual juce::Array< float > | getLiveValues (gin::Parameter *p)=0 |
Interface for modulation matrix systems.
IModMatrix provides the abstract interface for modulation routing systems 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.
Implementations:
- gin::ModMatrix: Full-featured implementation with dynamic routing
- tonic::ModMatrix: Fixed-slot implementation with parameter-based control
Key Features:
- Listener pattern for UI updates
- Learning mode for quick modulation assignment
- Query methods for modulation routing
- Modulation depth, function, and enable control
- See also
- ModMatrix, ModSrcId, ModDstId, ModFunction