drumstick 2.9.0
C++ MIDI libraries using Qt objects, idioms, and style.
Realtime MIDI (I/O)

Realtime MIDI input/output multiplatform classes. More...

Namespaces

namespace  drumstick::rt
 Drumstick Real-Time library.
 

Classes

class  BackendManager
 The BackendManager class manages lists of dynamic and static backends for applications based on drumstick-rt. More...
 
class  MIDIInput
 MIDI IN interface. More...
 
class  MIDIOutput
 MIDI OUT interface. More...
 

Typedefs

typedef QPair< QString, QVariant > MIDIConnection
 MIDIConnection represents a connection identifier. More...
 

Functions

QString DRUMSTICK_RT_EXPORT drumstickLibraryVersion ()
 drumstickLibraryVersion provides the Drumstick version as an edited QString More...
 
int MIDI_LSB (int x)
 MIDI_LSB is a function to extract the least significative byte of a MIDI value. More...
 
int MIDI_MSB (int x)
 MIDI_MSB is a function to extract the most significative byte of a MIDI value. More...
 

Variables

const quint8 MIDI_STD_CHANNELS = 16
 Standard number of MIDI channels.
 
const quint8 MIDI_GM_STD_DRUM_CHANNEL = (10-1)
 Number of the GM percussion channel.
 
const quint8 MIDI_CONTROL_MSB_BANK_SELECT = 0x00
 MIDI Controller number for MSB Bank number.
 
const quint8 MIDI_CONTROL_MSB_MAIN_VOLUME = 0x07
 MIDI Controller number for MSB volume.
 
const quint8 MIDI_CONTROL_LSB_BANK_SELECT = 0x20
 MIDI Controller number for LSB Bank number.
 
const quint8 MIDI_CONTROL_REVERB_SEND = 0x5b
 MIDI Controller number for Reverb send.
 
const quint8 MIDI_CONTROL_ALL_SOUNDS_OFF = 0x78
 MIDI Controller number for All sounds off.
 
const quint8 MIDI_CONTROL_ALL_NOTES_OFF = 0x7b
 MIDI Controller number for All notes off.
 
const quint8 MIDI_CONTROL_RESET_CONTROLLERS = 0x79
 MIDI Controller number for Reset all controllers.
 
const quint8 MIDI_STATUS_NOTEOFF = 0x80
 MIDI status byte for NOTE OFF messages.
 
const quint8 MIDI_STATUS_NOTEON = 0x90
 MIDI status byte for NOTE ON messages.
 
const quint8 MIDI_STATUS_KEYPRESURE = 0xa0
 MIDI status byte for KEY pressure messages.
 
const quint8 MIDI_STATUS_CONTROLCHANGE = 0xb0
 MIDI status byte for CONTROL change messages.
 
const quint8 MIDI_STATUS_PROGRAMCHANGE = 0xc0
 MIDI status byte for PROGRAM change messages.
 
const quint8 MIDI_STATUS_CHANNELPRESSURE = 0xd0
 MIDI status byte for CHANNEL PRESSURE messages.
 
const quint8 MIDI_STATUS_PITCHBEND = 0xe0
 MIDI status byte for PITCH bend messages.
 
const quint8 MIDI_STATUS_SYSEX = 0xf0
 MIDI status byte for System Exclusive START messages.
 
const quint8 MIDI_STATUS_ENDSYSEX = 0xf7
 MIDI status byte for System Exclusive END messages.
 
const quint8 MIDI_STATUS_REALTIME = 0xf8
 Minimum value for MIDI Realtime messages status.
 
const quint8 MIDI_STATUS_MASK = 0xf0
 Mask to extract the MIDI status byte from a MIDI message.
 
const quint8 MIDI_CHANNEL_MASK = 0x0f
 Mask to extract the MIDI channel byte from a MIDI message.
 
const quint8 MIDI_COMMON_QTRFRAME = 0xF1
 MIDI Quarter frame status message.
 
const quint8 MIDI_COMMON_SONGPP = 0xF2
 MIDI Song Position status message.
 
const quint8 MIDI_COMMON_SONGSELECT = 0xF3
 MIDI Song Select status message.
 
const quint8 MIDI_COMMON_TUNEREQ = 0xF6
 MIDI Tune Request status message.
 
const quint8 MIDI_REALTIME_CLOCK = 0xF8
 MIDI Clock status message.
 
const quint8 MIDI_REALTIME_START = 0xFA
 MIDI Start status message.
 
const quint8 MIDI_REALTIME_CONTINUE = 0xFB
 MIDI Continue status message.
 
const quint8 MIDI_REALTIME_STOP = 0xFC
 MIDI Stop status message.
 
const quint8 MIDI_REALTIME_SENSING = 0xFE
 MIDI Active Sensing status message.
 
const quint8 MIDI_REALTIME_RESET = 0xFF
 MIDI Reset status message.
 

Detailed Description

Realtime MIDI input/output multiplatform classes.

BackendManager provides a mechanism to find and enumerate backends (plugins) to manage realtime MIDI input/output.

This class and plugins are multiplatform. The backends implement one of these interfaces:

MIDIInput: for plugins that can receive MIDI events

MIDIOutput: for plugins that can consume MIDI events

Typedef Documentation

◆ MIDIConnection

typedef QPair<QString,QVariant> MIDIConnection

MIDIConnection represents a connection identifier.

MIDIConnection is an alias for QPair<QString,QVariant> where the first component is a QString representing the symbolic name of the MIDI Port and the second component is a QVariant that represents the native identification of the MIDI port, which may be a string, a number, or any other data type accepted as a QVariant.

Definition at line 116 of file rtmidioutput.h.

Function Documentation

◆ drumstickLibraryVersion()

QString drumstickLibraryVersion ( )

drumstickLibraryVersion provides the Drumstick version as an edited QString

Returns
Drumstick library version

Definition at line 324 of file backendmanager.cpp.

◆ MIDI_LSB()

int MIDI_LSB ( int  x)
inline

MIDI_LSB is a function to extract the least significative byte of a MIDI value.

Parameters
xa MIDI integer value
Returns
the least significative byte of the input value

Definition at line 92 of file rtmidioutput.h.

◆ MIDI_MSB()

int MIDI_MSB ( int  x)
inline

MIDI_MSB is a function to extract the most significative byte of a MIDI value.

Parameters
xMIDI integer value
Returns
the most significative byte of the input value

Definition at line 102 of file rtmidioutput.h.