45 incomingMessages.
clear();
59 jassert (! approximatelyEqual (message.
getTimeStamp(), 0.0));
80 jassert (numSamples > 0);
87 if (! incomingMessages.
isEmpty())
112 const auto pos = ((meta.samplePosition - startSample) * scale) >> 10;
113 destBuffer.addEvent (meta.data, meta.numBytes, jlimit (0, numSamples - 1, pos));
122 for (
const auto metadata : incomingMessages)
124 jlimit (0, numSamples - 1,
metadata.samplePosition + startSample));
127 incomingMessages.
clear();
void ensureSize(size_t minimumNumBytes)
MidiBufferIterator cbegin() const noexcept
MidiBufferIterator findNextSamplePosition(int samplePosition) const noexcept
MidiBufferIterator cend() const noexcept
bool isEmpty() const noexcept
bool addEvent(const MidiMessage &midiMessage, int sampleNumber)
void handleIncomingMidiMessage(MidiInput *, const MidiMessage &) override
void handleNoteOn(MidiKeyboardState *, int midiChannel, int midiNoteNumber, float velocity) override
void removeNextBlockOfMessages(MidiBuffer &destBuffer, int numSamples)
void handleNoteOff(MidiKeyboardState *, int midiChannel, int midiNoteNumber, float velocity) override
void ensureStorageAllocated(size_t bytes)
~MidiMessageCollector() override
void reset(double sampleRate)
void addMessageToQueue(const MidiMessage &message)
static MidiMessage noteOn(int channel, int noteNumber, float velocity) noexcept
double getTimeStamp() const noexcept
static MidiMessage noteOff(int channel, int noteNumber, float velocity) noexcept
void setTimeStamp(double newTimestamp) noexcept
static double getMillisecondCounterHiRes() noexcept