41class JUCE_API MidiKeyboardState
63 bool isNoteOn (
int midiChannel,
int midiNoteNumber)
const noexcept;
82 void noteOn (
int midiChannel,
int midiNoteNumber,
float velocity);
94 void noteOff (
int midiChannel,
int midiNoteNumber,
float velocity);
134 bool injectIndirectEvents);
155 int midiChannel,
int midiNoteNumber,
float velocity) = 0;
167 int midiChannel,
int midiNoteNumber,
float velocity) = 0;
183 std::atomic<uint16> noteStates[128];
187 void noteOnInternal (
int midiChannel,
int midiNoteNumber,
float velocity);
188 void noteOffInternal (
int midiChannel,
int midiNoteNumber,
float velocity);
190 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MidiKeyboardState)
virtual void handleNoteOff(MidiKeyboardState *source, int midiChannel, int midiNoteNumber, float velocity)=0
virtual void handleNoteOn(MidiKeyboardState *source, int midiChannel, int midiNoteNumber, float velocity)=0
void processNextMidiBuffer(MidiBuffer &buffer, int startSample, int numSamples, bool injectIndirectEvents)
void addListener(Listener *listener)
void noteOff(int midiChannel, int midiNoteNumber, float velocity)
void allNotesOff(int midiChannel)
void processNextMidiEvent(const MidiMessage &message)
void removeListener(Listener *listener)
bool isNoteOn(int midiChannel, int midiNoteNumber) const noexcept
void noteOn(int midiChannel, int midiNoteNumber, float velocity)
bool isNoteOnForChannels(int midiChannelMask, int midiNoteNumber) const noexcept