Gin
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions

Classes

struct  ModSrcId
 Identifier for a modulation source in the ModMatrix system. More...
 
struct  ModDstId
 Identifier for a modulation destination in the ModMatrix system. More...
 
class  IModMatrix
 Interface for modulation matrix systems. More...
 
class  IModMatrix::Listener
 Listener interface for modulation matrix changes. More...
 
class  MidiLearn
 MIDI Learn system for mapping MIDI CC messages to plugin parameters. More...
 
class  ModVoice
 Make your synth voice inherit from this if it supports modulation. More...
 
class  ModMatrix
 Modulation matrix system for routing multiple modulation sources to parameters. More...
 
class  NoteDuration
 Musical note duration for tempo-synchronized timing. More...
 
class  Parameter
 Advanced parameter class with modulation, real-time callbacks, and host automation. More...
 
class  Parameter::ParameterListener
 
struct  Parameter::ParamState
 
class  SmoothingType
 Parameter smoothing configuration for audio-rate interpolation. More...
 
class  ProcessorOptions
 Plugin metadata and configuration options for Processor. More...
 
class  Processor
 Advanced audio processor base class with parameter management and preset system. More...
 
class  Program
 Plugin preset/program with file-based storage and parameter management. More...
 
class  SmoothedParameter< T >
 A silky smooth parameter. More...
 

Macros

#define ProcessorBaseClass   juce::AudioProcessor
 

Enumerations

enum class  ModFunction {
  ModFunction::linear , ModFunction::quadraticIn , ModFunction::quadraticInOut , ModFunction::quadraticOut ,
  ModFunction::sineIn , ModFunction::sineInOut , ModFunction::sineOut , ModFunction::exponentialIn ,
  ModFunction::exponentialInOut , ModFunction::exponentialOut , ModFunction::invLinear , ModFunction::invQuadraticIn ,
  ModFunction::invQuadraticInOut , ModFunction::invQuadraticOut , ModFunction::invSineIn , ModFunction::invSineInOut ,
  ModFunction::invSineOut , ModFunction::invExponentialIn , ModFunction::invExponentialInOut , ModFunction::invExponentialOut
}
 Modulation shaping functions for non-linear modulation curves. More...
 

Functions

float ModVoice::getValue (gin::Parameter *p)
 
float ModVoice::getValueUnsmoothed (gin::Parameter *p)
 

Detailed Description

Macro Definition Documentation

◆ ProcessorBaseClass

#define ProcessorBaseClass   juce::AudioProcessor

Enumeration Type Documentation

◆ ModFunction

Modulation shaping functions for non-linear modulation curves.

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

  • linear: Direct 1:1 mapping (no curve)
  • quadratic: Smooth acceleration (parabolic)
  • sine: Smooth S-curve using sine function
  • exponential: Rapid acceleration (exponential)
  • inv*: Inverted versions (1 - f(x))

Curve Timing:

  • *In: Ease in (slow start, fast end)
  • *Out: Ease out (fast start, slow end)
  • *InOut: Ease in and out (smooth both ends)

These functions are applied after the modulation source value is retrieved and before it's scaled by depth and applied to the destination.

See also
IModMatrix
Enumerator
linear 

Linear (no shaping)

quadraticIn 

Quadratic ease in.

quadraticInOut 

Quadratic ease in and out.

quadraticOut 

Quadratic ease out.

sineIn 

Sine ease in.

sineInOut 

Sine ease in and out.

sineOut 

Sine ease out.

exponentialIn 

Exponential ease in.

exponentialInOut 

Exponential ease in and out.

exponentialOut 

Exponential ease out.

invLinear 

Inverted linear.

invQuadraticIn 

Inverted quadratic ease in.

invQuadraticInOut 

Inverted quadratic ease in and out.

invQuadraticOut 

Inverted quadratic ease out.

invSineIn 

Inverted sine ease in.

invSineInOut 

Inverted sine ease in and out.

invSineOut 

Inverted sine ease out.

invExponentialIn 

Inverted exponential ease in.

invExponentialInOut 

Inverted exponential ease in and out.

invExponentialOut 

Inverted exponential ease out.

Function Documentation

◆ getValue()

float ModVoice::getValue ( gin::Parameter *  p)

References ModMatrix::getValue().

◆ getValueUnsmoothed()

float ModVoice::getValueUnsmoothed ( gin::Parameter *  p)

References ModMatrix::getValue().