JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::MidiInputCallback Class Referenceabstract

Receives incoming messages from a physical MIDI input device. More...

#include <juce_MidiDevices.h>

Inheritance diagram for juce::MidiInputCallback:

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...
 

Detailed Description

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.

See also
MidiInput

@tags{Audio}

Constructor & Destructor Documentation

◆ ~MidiInputCallback()

virtual juce::MidiInputCallback::~MidiInputCallback ( )
virtualdefault

Destructor.

Member Function Documentation

◆ handleIncomingMidiMessage()

virtual void juce::MidiInputCallback::handleIncomingMidiMessage ( MidiInput source,
const MidiMessage message 
)
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.

Parameters
sourcethe MidiInput object that generated the message
messagethe 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.

◆ handlePartialSysexMessage()

virtual void juce::MidiInputCallback::handlePartialSysexMessage ( MidiInput source,
const uint8 messageData,
int  numBytesSoFar,
double  timestamp 
)
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.


The documentation for this class was generated from the following file: