Gin
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
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 ParametergetParameter (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< ModSrcIdgetModSources (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< floatgetLiveValues (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:

Key Features:

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.

Referenced by ModulationOverview::ModulationOverview().

◆ removeListener()

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

◆ getNumModSources()

virtual int IModMatrix::getNumModSources ( )
pure virtual

Implemented in ModMatrix.

Referenced by ModSrcListBox::getNumRows().

◆ 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.

Referenced by ModulationOverview::ModulationOverview().

◆ 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: