102 void removeVoice (
int index);
110 void reduceNumVoices (
int newNumVoices);
120 virtual void turnOffAllVoices (
bool allowTailOff);
141 void setCurrentPlaybackSampleRate (
double newRate)
override;
158 void handleMidiEvent (
const MidiMessage&)
override;
195 void noteAdded (
MPENote newNote)
override;
210 void noteReleased (
MPENote finishedNote)
override;
218 void notePressureChanged (
MPENote changedNote)
override;
226 void notePitchbendChanged (
MPENote changedNote)
override;
234 void noteTimbreChanged (
MPENote changedNote)
override;
242 void noteKeyStateChanged (
MPENote changedNote)
override;
251 int numSamples)
override;
259 int numSamples)
override;
273 bool stealIfNoneAvailable)
const;
310 bool shouldStealVoices =
false;
311 uint32 lastNoteOnCounter = 0;
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.
#define JUCE_API
This macro is added to all JUCE public class declarations.
This struct represents a playing MPE note.
Derive from this class to create a basic audio generator capable of MPE.