26MidiKeyboardState::MidiKeyboardState()
28 zerostruct (noteStates);
31MidiKeyboardState::~MidiKeyboardState()
39 zerostruct (noteStates);
45 jassert (midiChannel >= 0 && midiChannel <= 16);
47 return isPositiveAndBelow (n, 128)
48 && (noteStates[n] & (1 << (midiChannel - 1))) != 0;
53 return isPositiveAndBelow (n, 128)
59 jassert (midiChannel >= 0 && midiChannel <= 16);
74void MidiKeyboardState::noteOnInternal (
const int midiChannel,
const int midiNoteNumber,
const float velocity)
80 for (
int i = listeners.
size(); --i >= 0;)
99void MidiKeyboardState::noteOffInternal (
const int midiChannel,
const int midiNoteNumber,
const float velocity)
105 for (
int i = listeners.
size(); --i >= 0;)
114 if (midiChannel <= 0)
116 for (
int i = 1; i <= 16; ++i)
121 for (
int i = 0; i < 128; ++i)
122 noteOff (midiChannel, i, 0.0f);
138 for (
int i = 0; i < 128; ++i)
139 noteOffInternal (message.
getChannel(), i, 0.0f);
144 const int startSample,
145 const int numSamples,
163 while (
i2.getNextEvent (message, time))
166 buffer.
addEvent (message, startSample + pos);
ElementType getUnchecked(int index) const
int size() const noexcept
void removeFirstMatchingValue(ParameterType valueToRemove)
bool addIfNotAlreadyThere(ParameterType newElement)
bool getNextEvent(MidiMessage &result, int &samplePosition) noexcept
int getFirstEventTime() const noexcept
void addEvent(const MidiMessage &midiMessage, int sampleNumber)
int getLastEventTime() const noexcept
void processNextMidiBuffer(MidiBuffer &buffer, int startSample, int numSamples, bool injectIndirectEvents)
void noteOff(int midiChannel, int midiNoteNumber, float velocity)
void allNotesOff(int midiChannel)
void processNextMidiEvent(const MidiMessage &message)
void addListener(MidiKeyboardStateListener *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
void removeListener(MidiKeyboardStateListener *listener)
bool isNoteOn(bool returnTrueForVelocity0=false) const noexcept
float getFloatVelocity() const noexcept
int getChannel() const noexcept
bool isNoteOff(bool returnTrueForNoteOnVelocity0=true) const noexcept
static MidiMessage noteOn(int channel, int noteNumber, float velocity) noexcept
int getNoteNumber() const noexcept
bool isAllNotesOff() const noexcept
static MidiMessage noteOff(int channel, int noteNumber, float velocity) noexcept
static uint32 getMillisecondCounter() noexcept