Gin
|
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) |
SynthesiserVoice * | getOldestVoice () |
SynthesiserVoice * | getNewestVoice () |
Protected Attributes | |
int | noteOnIndex = -1 |
int | noteOffIndex = -1 |
MPESynthesiser with better fast kill, mono and glide support.
Synthesiser::Synthesiser | ( | ) |
void Synthesiser::setMono | ( | bool | m | ) |
void Synthesiser::setNumVoices | ( | int | v | ) |
void Synthesiser::setLegato | ( | bool | l | ) |
void Synthesiser::setGlissando | ( | bool | g | ) |
void Synthesiser::setPortamento | ( | bool | p | ) |
void Synthesiser::setGlideRate | ( | float | r | ) |
|
override |
Referenced by handleMidiEvent().
void Synthesiser::setMPE | ( | bool | newMPE | ) |
|
override |
References turnOffAllVoices().
void Synthesiser::setPitchBendRange | ( | int | newPB | ) |
|
override |
References findVoiceToSteal(), getNumActiveVoices(), noteAddedMono(), startVoice(), and Assets::voice.
|
override |
References noteReleasedMono(), noteReleasedMonoGlide(), and Assets::voice.
void Synthesiser::noteAddedMono | ( | juce::MPENote | newNote | ) |
References retriggerVoice(), and startVoice().
Referenced by noteAdded().
void Synthesiser::noteReleasedMonoGlide | ( | juce::MPENote | finishedNote | ) |
References retriggerVoice(), and startVoice().
Referenced by noteReleased().
void Synthesiser::noteReleasedMono | ( | juce::MPENote | finishedNote | ) |
References retriggerVoice(), startVoice(), and Assets::voice.
Referenced by noteReleased().
bool Synthesiser::isNotePlaying | ( | juce::MPENote & | n | ) |
int Synthesiser::getNumActiveVoices | ( | ) |
Referenced by noteAdded().
juce::Array<SynthesiserVoice*> Synthesiser::getActiveVoices | ( | ) |
int Synthesiser::getCpuUsage | ( | ) |
References Assets::cpu, and math::min().
void Synthesiser::startBlock | ( | ) |
void Synthesiser::endBlock | ( | int | blockSize | ) |
void Synthesiser::retriggerVoice | ( | SynthesiserVoice * | v, |
juce::MPENote | note | ||
) |
References SynthesiserVoice::noteRetriggered(), SynthesiserVoice::setCurrentlyPlayingNote(), and updateGlide().
Referenced by noteAddedMono(), noteReleasedMono(), and noteReleasedMonoGlide().
void Synthesiser::startVoice | ( | juce::MPESynthesiserVoice * | v, |
juce::MPENote | note | ||
) |
References updateGlide().
Referenced by noteAdded(), noteAddedMono(), noteReleasedMono(), and noteReleasedMonoGlide().
void Synthesiser::updateGlide | ( | juce::MPESynthesiserVoice * | v | ) |
References GlideInfo::fromNote, GlideInfo::glissando, GlideInfo::portamento, GlideInfo::rate, and Assets::voice.
Referenced by retriggerVoice(), and startVoice().
void Synthesiser::stopVoiceFastKill | ( | juce::MPESynthesiserVoice * | v, |
juce::MPENote | note, | ||
bool | tailOff | ||
) |
|
override |
References Assets::voice.
Referenced by noteAdded().
void Synthesiser::renderNextBlock | ( | juce::AudioBuffer< floatType > & | outputAudio, |
const juce::MidiBuffer & | inputMidi, | ||
int | startSample, | ||
int | numSamples | ||
) |
References getNewestVoice(), noteOffIndex, and noteOnIndex.
SynthesiserVoice* Synthesiser::getOldestVoice | ( | ) |
References Assets::voice.
SynthesiserVoice* Synthesiser::getNewestVoice | ( | ) |
References Assets::voice.
Referenced by renderNextBlock().
|
protected |
Referenced by renderNextBlock().
|
protected |
Referenced by renderNextBlock().