Gin
Public Member Functions | Protected Attributes | List of all members
Synthesiser Class Reference

MPESynthesiser with better fast kill, mono and glide support. More...

Inherits juce::MPESynthesiser.

Public Member Functions

 Synthesiser ()
 
void setMono (bool m)
 
void setNumVoices (int v)
 
void setLegato (bool l)
 
void setGlissando (bool g)
 
void setPortamento (bool p)
 
void setGlideRate (float r)
 
void turnOffAllVoices (bool allowTailOff) override
 
void setMPE (bool newMPE)
 
void handleMidiEvent (const juce::MidiMessage &message) override
 
void setPitchBendRange (int newPB)
 
void noteAdded (juce::MPENote newNote) override
 
void noteReleased (juce::MPENote finishedNote) override
 
void noteAddedMono (juce::MPENote newNote)
 
void noteReleasedMonoGlide (juce::MPENote finishedNote)
 
void noteReleasedMono (juce::MPENote finishedNote)
 
bool isNotePlaying (juce::MPENote &n)
 
int getNumActiveVoices ()
 
juce::Array< SynthesiserVoice * > getActiveVoices ()
 
int getCpuUsage ()
 
void startBlock ()
 
void endBlock (int blockSize)
 
void retriggerVoice (SynthesiserVoice *v, juce::MPENote note)
 
void startVoice (juce::MPESynthesiserVoice *v, juce::MPENote note)
 
void updateGlide (juce::MPESynthesiserVoice *v)
 
void stopVoiceFastKill (juce::MPESynthesiserVoice *v, juce::MPENote note, bool tailOff)
 
juce::MPESynthesiserVoice * findVoiceToSteal (juce::MPENote noteToStealVoiceFor=juce::MPENote()) const override
 
template<typename floatType >
void renderNextBlock (juce::AudioBuffer< floatType > &outputAudio, const juce::MidiBuffer &inputMidi, int startSample, int numSamples)
 
SynthesiserVoicegetOldestVoice ()
 
SynthesiserVoicegetNewestVoice ()
 

Protected Attributes

int noteOnIndex = -1
 
int noteOffIndex = -1
 

Detailed Description

MPESynthesiser with better fast kill, mono and glide support.

Constructor & Destructor Documentation

◆ Synthesiser()

Synthesiser::Synthesiser ( )

Member Function Documentation

◆ setMono()

void Synthesiser::setMono ( bool  m)

◆ setNumVoices()

void Synthesiser::setNumVoices ( int  v)

◆ setLegato()

void Synthesiser::setLegato ( bool  l)

◆ setGlissando()

void Synthesiser::setGlissando ( bool  g)

◆ setPortamento()

void Synthesiser::setPortamento ( bool  p)

◆ setGlideRate()

void Synthesiser::setGlideRate ( float  r)

◆ turnOffAllVoices()

void Synthesiser::turnOffAllVoices ( bool  allowTailOff)
override

Referenced by handleMidiEvent().

◆ setMPE()

void Synthesiser::setMPE ( bool  newMPE)

◆ handleMidiEvent()

void Synthesiser::handleMidiEvent ( const juce::MidiMessage &  message)
override

References turnOffAllVoices().

◆ setPitchBendRange()

void Synthesiser::setPitchBendRange ( int  newPB)

◆ noteAdded()

void Synthesiser::noteAdded ( juce::MPENote  newNote)
override

◆ noteReleased()

void Synthesiser::noteReleased ( juce::MPENote  finishedNote)
override

◆ noteAddedMono()

void Synthesiser::noteAddedMono ( juce::MPENote  newNote)

References retriggerVoice(), and startVoice().

Referenced by noteAdded().

◆ noteReleasedMonoGlide()

void Synthesiser::noteReleasedMonoGlide ( juce::MPENote  finishedNote)

References retriggerVoice(), and startVoice().

Referenced by noteReleased().

◆ noteReleasedMono()

void Synthesiser::noteReleasedMono ( juce::MPENote  finishedNote)

References retriggerVoice(), startVoice(), and Assets::voice.

Referenced by noteReleased().

◆ isNotePlaying()

bool Synthesiser::isNotePlaying ( juce::MPENote &  n)

◆ getNumActiveVoices()

int Synthesiser::getNumActiveVoices ( )

Referenced by noteAdded().

◆ getActiveVoices()

juce::Array<SynthesiserVoice*> Synthesiser::getActiveVoices ( )

◆ getCpuUsage()

int Synthesiser::getCpuUsage ( )

References Assets::cpu, and math::min().

◆ startBlock()

void Synthesiser::startBlock ( )

◆ endBlock()

void Synthesiser::endBlock ( int  blockSize)

◆ retriggerVoice()

void Synthesiser::retriggerVoice ( SynthesiserVoice v,
juce::MPENote  note 
)

◆ startVoice()

void Synthesiser::startVoice ( juce::MPESynthesiserVoice *  v,
juce::MPENote  note 
)

◆ updateGlide()

void Synthesiser::updateGlide ( juce::MPESynthesiserVoice *  v)

◆ stopVoiceFastKill()

void Synthesiser::stopVoiceFastKill ( juce::MPESynthesiserVoice *  v,
juce::MPENote  note,
bool  tailOff 
)

◆ findVoiceToSteal()

juce::MPESynthesiserVoice* Synthesiser::findVoiceToSteal ( juce::MPENote  noteToStealVoiceFor = juce::MPENote()) const
override

References Assets::voice.

Referenced by noteAdded().

◆ renderNextBlock()

template<typename floatType >
void Synthesiser::renderNextBlock ( juce::AudioBuffer< floatType > &  outputAudio,
const juce::MidiBuffer &  inputMidi,
int  startSample,
int  numSamples 
)

◆ getOldestVoice()

SynthesiserVoice* Synthesiser::getOldestVoice ( )

References Assets::voice.

◆ getNewestVoice()

SynthesiserVoice* Synthesiser::getNewestVoice ( )

References Assets::voice.

Referenced by renderNextBlock().

Member Data Documentation

◆ noteOnIndex

int Synthesiser::noteOnIndex = -1
protected

Referenced by renderNextBlock().

◆ noteOffIndex

int Synthesiser::noteOffIndex = -1
protected

Referenced by renderNextBlock().


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