Receives incoming messages from a physical MIDI input device. More...
#include <juce_MidiDevices.h>
Public Member Functions | |
virtual | ~MidiInputCallback ()=default |
Destructor. More... | |
virtual void | handleIncomingMidiMessage (MidiInput *source, const MidiMessage &message)=0 |
Receives an incoming message. More... | |
virtual void | handlePartialSysexMessage (MidiInput *source, const uint8 *messageData, int numBytesSoFar, double timestamp) |
Notification sent each time a packet of a multi-packet sysex message arrives. More... | |
Receives incoming messages from a physical MIDI input device.
This class is overridden to handle incoming midi messages. See the MidiInput class for more details.
@tags{Audio}
|
virtualdefault |
Destructor.
|
pure virtual |
Receives an incoming message.
A MidiInput object will call this method when a midi event arrives. It'll be called on a high-priority system thread, so avoid doing anything time-consuming in here, and avoid making any UI calls. You might find the MidiBuffer class helpful for queueing incoming messages for use later.
source | the MidiInput object that generated the message |
message | the incoming message. The message's timestamp is set to a value equivalent to (Time::getMillisecondCounter() / 1000.0) to specify the time when the message arrived |
Implemented in juce::AudioProcessorPlayer, and juce::MidiMessageCollector.
|
inlinevirtual |
Notification sent each time a packet of a multi-packet sysex message arrives.
If a long sysex message is broken up into multiple packets, this callback is made for each packet that arrives until the message is finished, at which point the normal handleIncomingMidiMessage() callback will be made with the entire message.
The message passed in will contain the start of a sysex, but won't be finished with the terminating 0xf7 byte.
References juce::ignoreUnused(), and juce::gl::source.