From 6faa33cfbdd1b56581d5e8bb266e1a9bd6a6147e Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 10 Dec 2015 10:34:25 +0000 Subject: [PATCH] Added new method MidiOutput::sendBlockOfMessagesNow() --- modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp | 10 ++++++++++ modules/juce_audio_devices/midi_io/juce_MidiOutput.h | 7 ++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp b/modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp index 4881afbdd2..e09ed0825f 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp +++ b/modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp @@ -40,6 +40,16 @@ MidiOutput::MidiOutput(const String& midiName) { } +void MidiOutput::sendBlockOfMessagesNow (const MidiBuffer& buffer) +{ + MidiBuffer::Iterator i (buffer); + MidiMessage message; + int samplePosition; // Note: not actually used, so no need to initialise. + + while (i.getNextEvent (message, samplePosition)) + sendMessageNow (message); +} + void MidiOutput::sendBlockOfMessages (const MidiBuffer& buffer, const double millisecondCounterToStartAt, double samplesPerSecondForBuffer) diff --git a/modules/juce_audio_devices/midi_io/juce_MidiOutput.h b/modules/juce_audio_devices/midi_io/juce_MidiOutput.h index d229269926..b744477735 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiOutput.h +++ b/modules/juce_audio_devices/midi_io/juce_MidiOutput.h @@ -87,11 +87,12 @@ public: /** Returns the name of this device. */ const String& getName() const noexcept { return name; } - /** Makes this device output a midi message. - @see MidiMessage - */ + /** Sends out a MIDI message immediately. */ void sendMessageNow (const MidiMessage& message); + /** Sends out a sequence of MIDI messages immediately. */ + void sendBlockOfMessagesNow (const MidiBuffer& buffer); + //============================================================================== /** This lets you supply a block of messages that will be sent out at some point in the future.