Gin
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions | Variables

Namespaces

namespace  Distortion
 Distortion.
 

Classes

class  ADSR
 Linear ADSR. More...
 
class  AnalogADSR
 Analog ADSR. More...
 
class  AudioEquationParser
 Enhances the EquationParser with math related functions like filters and oscilllators. More...
 
class  AudioFifo
 FIFO - stuff audio in one end and it pops out the other. More...
 
struct  FuncState
 Base class to store an audio functions state But you say "functions don't have state!" Well, that's true, but to make things like filters act as functions, I need to hide a bit of state in them. More...
 
struct  OscState
 State for an oscillator. More...
 
struct  NoiseState
 State for noise. More...
 
struct  HP12State
 State for high pass filter. More...
 
struct  HP24State
 State for high pass filter. More...
 
struct  BP12State
 State for band pass filter. More...
 
struct  BP24State
 State for band pass filter. More...
 
struct  LP12State
 State for low pass filter. More...
 
struct  LP24State
 State for low pass filter. More...
 
struct  Notch12State
 State for notch filter. More...
 
struct  Notch24State
 State for notch filter. More...
 
class  AudioFunctionHost
 State managment for audio functions. More...
 
class  GainProcessor
 
class  WetDryMix
 Mix between wet and dry with a nice curve. More...
 
class  BandLimitedLookupTable
 Lookup tables for holding bandlimited waveforms. More...
 
class  BandLimitedLookupTables
 Generate and hold bandlimited lookup tabkes for all the common waveforms. More...
 
class  DelayLine
 Audio Delay with linear interpolation. More...
 
class  AirWindowsDistortion
 Distortion based on AirWindows plugins. More...
 
class  EnvelopeDetector
 EnvelopeDetector for Dynamics. More...
 
class  Dynamics
 Compressor / Gate / Expander / Limiter based on algorithm from Designing Audio Effect Plug-ins in C++ by Will Pirkle. More...
 
class  EasedValueSmoother< T >
 Linearly smooths a value in a 0 to 1 range at a constant rate. More...
 
class  EQ
 Basic multi channel / multi band EQ. More...
 
class  FastMath< F >
 
class  Filter
 Basic multi channel filter. More...
 
class  GateEffect
 Gate effect. More...
 
class  LevelTracker
 Track audio levels with decay in dB. More...
 
class  LFO
 LFO with many shapes. More...
 
struct  LFO::Parameters
 
class  MidiFifo
 FIFO - stuff midi in one end and it pops out the other. More...
 
class  Modulation
 Audio modulation, for a chorus or phaser etc. More...
 
class  MSEG
 MSEG LFO. More...
 
struct  MSEG::Parameters
 
struct  MSEG::Point
 
struct  MSEG::Data
 
class  WhiteNoise
 
class  PinkNoise
 
class  StereoOscillator
 Virtual Analog Stereo oscillator. More...
 
struct  StereoOscillator::Params
 
struct  VoicedOscillatorParams
 
class  VoicedStereoOscillator< O, P >
 Stereo Oscillator with multiples voices, pan, spread, detune, etc. More...
 
struct  VoicedStereoOscillatorParams
 
class  BLLTVoicedStereoOscillator
 Stereo Oscillator with multiple voices, pan, spread, detune, etc. More...
 
class  PlateReverb< F, I >
 Plate reverb from Dattorro's paper. More...
 
class  ResamplingFifo
 ResamplingFifo - uses secret rabbit code. More...
 
class  Sample
 Holds an audio sample. More...
 
class  SampleOscillator
 Oscillator for playing samples. More...
 
class  ScratchBuffer
 A temporay buffer provided from a list. More...
 
class  SimpleVerb
 Simple Reverb. More...
 
class  StepLFO
 LFO with editable number of steps. More...
 
class  StereoDelay
 Stereo delay with feedback and cross feedback. More...
 
class  StereoEnhancer
 Stereo Enhancer. More...
 
class  StereoProcessor
 Stereo Processor. More...
 
struct  GlideInfo
 Info on how the voice should glide. More...
 
class  SynthesiserVoice
 A voice with glide info and fast kill support. More...
 
class  Synthesiser
 MPESynthesiser with better fast kill, mono and glide support. More...
 
class  TextRenderer
 Render audio to ascii waveforms. More...
 
class  ValueSmoother< T >
 Linearly smooths a value in a 0 to 1 range at a constant rate. More...
 
class  DCBlocker
 
class  WTOscillator
 WT Oscillator. More...
 
struct  WTOscillator::Params
 
struct  WTVoicedStereoOscillatorParams
 
class  WTVoicedStereoOscillator
 Stereo Wavetable Oscillator with multiples voices, pan, spread, detune, etc. More...
 

Enumerations

enum class  Wave {
  Wave::silence = 0 , Wave::sine = 1 , Wave::triangle = 2 , Wave::sawUp = 3 ,
  Wave::sawDown = 4 , Wave::pulse = 5 , Wave::square = 6 , Wave::whiteNoise = 7 ,
  Wave::pinkNoise = 8
}
 

Functions

juce::Value findValue (juce::ValueTree &state, juce::Identifier name, juce::var value)
 
template<class T >
getMidiNoteInHertz (const T noteNumber, const T frequencyOfA=(T) 440.0)
 
template<class T >
getMidiNoteFromHertz (const T freq, const T frequencyOfA=(T) 440.0)
 
float velocityToGain (float velocity, float sensitivity=1.0f)
 
void applyGain (juce::AudioSampleBuffer &buffer, juce::LinearSmoothedValue< float > &gain)
 
void applyGain (juce::AudioSampleBuffer &buffer, int channel, juce::LinearSmoothedValue< float > &gain)
 
void clip (juce::AudioSampleBuffer &buffer, float low=-1.0f, float high=1.0f)
 
juce::String getMidiMessageType (const juce::MidiMessage &msg)
 
juce::AudioSampleBuffer sliceBuffer (juce::AudioSampleBuffer &input, int start, int length)
 Get a section of an audio buffer.
 
ScratchBuffer monoBuffer (juce::AudioSampleBuffer &input)
 Get a buffer but mono.
 
template<class T >
lerp (T a, T b, T t)
 Computes the linear interpolation between a and b, if the parameter t is inside [0, 1].
 
template<class T >
int sign (T x)
 Sign +1 or -1 of number.
 
float sine (float phase, float unused1=0, float unused2=0)
 
float triangle (float phase, float freq, float sampleRate)
 
float sawUp (float phase, float freq, float sampleRate)
 
float sawDown (float phase, float freq, float sampleRate)
 
float pulse (float phase, float pw, float freq, float sampleRate)
 
float squareWave (float phase, float freq, float sampleRate)
 
bool loadWavetables (juce::OwnedArray< BandLimitedLookupTable > &bllt, double playbackSampleRate, juce::AudioSampleBuffer &buffer, double fileSampleRate, int tableSize)
 

Variables

constexpr float Q = 0.70710678118655f
 

Detailed Description

Enumeration Type Documentation

◆ Wave

enum class Wave
strong
Enumerator
silence 
sine 
triangle 
sawUp 
sawDown 
pulse 
square 
whiteNoise 
pinkNoise 

Function Documentation

◆ findValue()

juce::Value findValue ( juce::ValueTree &  state,
juce::Identifier  name,
juce::var  value 
)

◆ getMidiNoteInHertz()

template<class T >
T getMidiNoteInHertz ( const noteNumber,
const frequencyOfA = (T)440.0 
)

◆ getMidiNoteFromHertz()

template<class T >
T getMidiNoteFromHertz ( const freq,
const frequencyOfA = (T)440.0 
)

◆ velocityToGain()

float velocityToGain ( float  velocity,
float  sensitivity = 1.0f 
)

◆ applyGain() [1/2]

void applyGain ( juce::AudioSampleBuffer &  buffer,
juce::LinearSmoothedValue< float > &  gain 
)

◆ applyGain() [2/2]

void applyGain ( juce::AudioSampleBuffer &  buffer,
int  channel,
juce::LinearSmoothedValue< float > &  gain 
)

◆ clip()

void clip ( juce::AudioSampleBuffer &  buffer,
float  low = -1.0f,
float  high = 1.0f 
)

◆ getMidiMessageType()

juce::String getMidiMessageType ( const juce::MidiMessage &  msg)

◆ sliceBuffer()

juce::AudioSampleBuffer sliceBuffer ( juce::AudioSampleBuffer &  input,
int  start,
int  length 
)

Get a section of an audio buffer.

◆ monoBuffer()

ScratchBuffer monoBuffer ( juce::AudioSampleBuffer &  input)

Get a buffer but mono.

◆ lerp()

template<class T >
T lerp ( a,
b,
t 
)

Computes the linear interpolation between a and b, if the parameter t is inside [0, 1].

◆ sign()

template<class T >
int sign ( x)

Sign +1 or -1 of number.

◆ sine()

float sine ( float  phase,
float  unused1 = 0,
float  unused2 = 0 
)

◆ triangle()

float triangle ( float  phase,
float  freq,
float  sampleRate 
)

◆ sawUp()

float sawUp ( float  phase,
float  freq,
float  sampleRate 
)

◆ sawDown()

float sawDown ( float  phase,
float  freq,
float  sampleRate 
)

◆ pulse()

float pulse ( float  phase,
float  pw,
float  freq,
float  sampleRate 
)

◆ squareWave()

float squareWave ( float  phase,
float  freq,
float  sampleRate 
)

◆ loadWavetables()

bool loadWavetables ( juce::OwnedArray< BandLimitedLookupTable > &  bllt,
double  playbackSampleRate,
juce::AudioSampleBuffer &  buffer,
double  fileSampleRate,
int  tableSize 
)

Variable Documentation

◆ Q

constexpr float Q = 0.70710678118655f
constexpr