JUCE: MidiInputCallback Class Reference

JUCE

Public Member Functions | List of all members
MidiInputCallback Class Referenceabstract
juce_audio_devices » midi_io

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

`#include <juce_MidiDevices.h>`

Inheritance diagram for 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

## Constructor & Destructor Documentation

## ◆ ~MidiInputCallback()

virtual MidiInputCallback::~MidiInputCallback | ( |  | ) |
| virtualdefault

Destructor.

## Member Function Documentation

## ◆ handleIncomingMidiMessage()

virtual void 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

  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 MidiMessageCollector, and AudioProcessorPlayer.

## ◆ handlePartialSysexMessage()

virtual void MidiInputCallback::handlePartialSysexMessage | ( | MidiInput * | source,
|  | const uint8 * | messageData,
|  | int | numBytesSoFar,
|  | double | timestamp
| ) |  |
| virtual

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 ignoreUnused(), and gl::source.

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

- juce_MidiDevices.h