Gin
Loading...
Searching...
No Matches
IModMatrix Class Referenceabstract

Interface for modulation matrix systems. More...

#include <gin_imodmatrix.h>

Inheritance diagram for IModMatrix:

Classes

class  Listener
 Listener interface for modulation matrix changes. More...

Public Member Functions

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

Detailed Description

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

Constructor & Destructor Documentation

◆ ~IModMatrix()

virtual IModMatrix::~IModMatrix ( )
virtualdefault

Member Function Documentation

◆ addListener()

virtual void IModMatrix::addListener ( Listener * l)
pure virtual

Implemented in ModMatrix.

◆ removeListener()

virtual void IModMatrix::removeListener ( Listener * l)
pure virtual

Implemented in ModMatrix.

◆ getNumModSources()

virtual int IModMatrix::getNumModSources ( )
pure virtual

Implemented in ModMatrix.

◆ getModSrcName()

virtual juce::String IModMatrix::getModSrcName ( ModSrcId src)
pure virtual

Implemented in ModMatrix.

◆ getModSrcPoly()

virtual bool IModMatrix::getModSrcPoly ( ModSrcId src)
pure virtual

Implemented in ModMatrix.

◆ getModSrcBipolar()

virtual bool IModMatrix::getModSrcBipolar ( ModSrcId src)
pure virtual

Implemented in ModMatrix.

◆ getModDstName()

virtual juce::String IModMatrix::getModDstName ( ModDstId dst)
pure virtual

Implemented in ModMatrix.

◆ getParameter()

virtual Parameter * IModMatrix::getParameter ( ModDstId d)
pure virtual

Implemented in ModMatrix.

◆ enableLearn()

virtual void IModMatrix::enableLearn ( ModSrcId source)
pure virtual

Implemented in ModMatrix.

◆ disableLearn()

virtual void IModMatrix::disableLearn ( )
pure virtual

Implemented in ModMatrix.

◆ getLearn()

virtual ModSrcId IModMatrix::getLearn ( )
pure virtual

Implemented in ModMatrix.

◆ isModulated()

virtual bool IModMatrix::isModulated ( ModDstId param)
pure virtual

Implemented in ModMatrix.

◆ getModSources()

virtual juce::Array< ModSrcId > IModMatrix::getModSources ( gin::Parameter * p)
pure virtual

Implemented in ModMatrix.

◆ getModDepth()

virtual float IModMatrix::getModDepth ( ModSrcId src,
ModDstId param )
pure virtual

Implemented in ModMatrix.

◆ getModDepths() [1/2]

virtual std::vector< std::pair< ModDstId, float > > IModMatrix::getModDepths ( ModSrcId src)
pure virtual

Implemented in ModMatrix.

◆ getModDepths() [2/2]

virtual std::vector< std::pair< ModSrcId, float > > IModMatrix::getModDepths ( ModDstId param)
pure virtual

Implemented in ModMatrix.

◆ setModDepth()

virtual void IModMatrix::setModDepth ( ModSrcId src,
ModDstId param,
float f )
pure virtual

Implemented in ModMatrix.

◆ clearModDepth()

virtual void IModMatrix::clearModDepth ( ModSrcId src,
ModDstId param )
pure virtual

Implemented in ModMatrix.

◆ getModFunction()

virtual ModFunction IModMatrix::getModFunction ( ModSrcId src,
ModDstId param )
pure virtual

Implemented in ModMatrix.

◆ setModFunction()

virtual void IModMatrix::setModFunction ( ModSrcId src,
ModDstId param,
ModFunction f )
pure virtual

Implemented in ModMatrix.

◆ getModEnable()

virtual bool IModMatrix::getModEnable ( ModSrcId src,
ModDstId param )
pure virtual

Implemented in ModMatrix.

◆ setModEnable()

virtual void IModMatrix::setModEnable ( ModSrcId src,
ModDstId param,
bool b )
pure virtual

Implemented in ModMatrix.

◆ getModBipolarMapping()

virtual bool IModMatrix::getModBipolarMapping ( ModSrcId src,
ModDstId param )
pure virtual

Implemented in ModMatrix.

◆ setModBipolarMapping()

virtual void IModMatrix::setModBipolarMapping ( ModSrcId src,
ModDstId param,
bool b )
pure virtual

Implemented in ModMatrix.

◆ shouldShowLiveModValues()

virtual bool IModMatrix::shouldShowLiveModValues ( )
pure virtual

Implemented in ModMatrix.

◆ getLiveValues()

virtual juce::Array< float > IModMatrix::getLiveValues ( gin::Parameter * p)
pure virtual

Implemented in ModMatrix.


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