97 void removeVoice (
int index);
105 void reduceNumVoices (
int newNumVoices);
115 virtual void turnOffAllVoices (
bool allowTailOff);
136 void setCurrentPlaybackSampleRate (
double newRate)
override;
153 void handleMidiEvent (
const MidiMessage&)
override;
190 void noteAdded (
MPENote newNote)
override;
205 void noteReleased (
MPENote finishedNote)
override;
213 void notePressureChanged (
MPENote changedNote)
override;
221 void notePitchbendChanged (
MPENote changedNote)
override;
229 void noteTimbreChanged (
MPENote changedNote)
override;
237 void noteKeyStateChanged (
MPENote changedNote)
override;
246 int numSamples)
override;
254 int numSamples)
override;
268 bool stealIfNoneAvailable)
const;
306 uint32 lastNoteOnCounter = 0;
307 mutable CriticalSection stealLock;
308 mutable Array<MPESynthesiserVoice*> usableVoicesToStealArray;
A multi-channel buffer containing floating point audio samples.
This class represents an instrument handling MPE.
Represents an MPE voice that an MPESynthesiser can use to play a sound.
Base class for an MPE-compatible musical device that can play sounds.
bool isVoiceStealingEnabled() const noexcept
Returns true if note-stealing is enabled.
int getNumVoices() const noexcept
Returns the number of voices that have been added.
void setVoiceStealingEnabled(bool shouldSteal) noexcept
If set to true, then the synth will try to take over an existing voice if it runs out and needs to pl...
virtual void handleProgramChange(int, int)
Callback for MIDI program change messages.
virtual void handleController(int, int, int)
Callback for MIDI controller messages.
Encapsulates a MIDI message.
An array designed for holding objects.
This struct represents a playing MPE note.
Derive from this class to create a basic audio generator capable of MPE.