Control Surface main
MIDI Control Surface library for Arduino
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
MIDI_MessageTypes.hpp File Reference
#include <AH/Arduino-Wrapper.h>
#include <AH/PrintStream/PrintStream.hpp>
#include <AH/STL/cstddef>
#include <AH/STL/vector>
#include <Settings/NamespaceSettings.hpp>
#include <Def/Cable.hpp>
#include <Def/Channel.hpp>
#include <Def/MIDIAddress.hpp>
+ Include dependency graph for MIDI_MessageTypes.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MIDIMessage
 
struct  ChannelMessage
 
struct  SysCommonMessage
 
struct  SysExMessage
 
struct  RealTimeMessage
 

Enumerations

enum class  MIDIMessageType : uint8_t {
  None = 0x00 , NoteOff = 0x80 , NoteOn = 0x90 , KeyPressure = 0xA0 ,
  ControlChange = 0xB0 , ProgramChange = 0xC0 , ChannelPressure = 0xD0 , PitchBend = 0xE0 ,
  SysExStart = 0xF0 , MTCQuarterFrame = 0xF1 , SongPositionPointer = 0xF2 , SongSelect = 0xF3 ,
  UndefinedSysCommon1 = 0xF4 , UndefinedSysCommon2 = 0xF5 , TuneRequest = 0xF6 , SysExEnd = 0xF7 ,
  TimingClock = 0xF8 , UndefinedRealTime1 = 0xF9 , Start = 0xFA , Continue = 0xFB ,
  Stop = 0xFC , UndefinedRealTime2 = 0xFD , ActiveSensing = 0xFE , SystemReset = 0xFF
}
 All possible MIDI status byte values (without channel). More...
 
enum class  MIDICodeIndexNumber : uint8_t {
  MiscFunctionCodes = 0x0 , CableEvents = 0x1 , SystemCommon2B = 0x2 , SystemCommon3B = 0x3 ,
  SysExStartCont = 0x4 , SystemCommon1B = 0x5 , SysExEnd1B = 0x5 , SysExEnd2B = 0x6 ,
  SysExEnd3B = 0x7 , NoteOff = 0x8 , NoteOn = 0x9 , KeyPressure = 0xA ,
  ControlChange = 0xB , ProgramChange = 0xC , ChannelPressure = 0xD , PitchBend = 0xE ,
  SingleByte = 0xF
}
 MIDI USB Code Index Numbers. More...
 

Functions

Print & operator<< (Print &os, SysExMessage m)
 
FlashString_t enum_to_string (MIDIMessageType)
 
Print & operator<< (Print &os, MIDIMessageType m)
 

Enumeration Type Documentation

◆ MIDIMessageType

enum class MIDIMessageType : uint8_t
strong

All possible MIDI status byte values (without channel).

Enumerator
None 

Special value that does not correspond to an actual message type.

NoteOff 

Note Off Channel Voice message (3B).

NoteOn 

Note On Channel Voice message (3B).

KeyPressure 

Key Pressure Channel Voice message (3B).

ControlChange 

Control Change Channel Voice message (3B).

ProgramChange 

Program Change Channel Voice message (2B).

ChannelPressure 

Channel Pressure Channel Voice message (2B).

PitchBend 

Pitch Bend Channel Voice message (3B).

SysExStart 

Start of System Exclusive.

MTCQuarterFrame 

MIDI Time Code Quarter Frame System Common message (2B).

SongPositionPointer 

Song Position Pointer System Common message (3B).

SongSelect 

Song Select System Common message (2B).

UndefinedSysCommon1 

Undefined System Common message 0xF4 (1B).

UndefinedSysCommon2 

Undefined System Common message 0xF5 (1B).

TuneRequest 

Tune Request System Common message (1B).

SysExEnd 

End of System Exclusive.

TimingClock 

Timing Clock System Real-Time message.

UndefinedRealTime1 

Undefined System Real-Time message 0xF9.

Start 

Start System Real-Time message.

Continue 

Continue System Real-Time message.

Stop 

Stop System Real-Time message.

UndefinedRealTime2 

Undefined System Real-Time message 0xFD.

ActiveSensing 

Active Sensing System Real-Time message.

SystemReset 

Reset System Real-Time message.

Definition at line 22 of file MIDI_MessageTypes.hpp.

◆ MIDICodeIndexNumber

enum class MIDICodeIndexNumber : uint8_t
strong

MIDI USB Code Index Numbers.

See also
Table 4-1 in https://usb.org/sites/default/files/midi10.pdf.
Enumerator
MiscFunctionCodes 
CableEvents 
SystemCommon2B 
SystemCommon3B 
SysExStartCont 
SystemCommon1B 
SysExEnd1B 
SysExEnd2B 
SysExEnd3B 
NoteOff 
NoteOn 
KeyPressure 
ControlChange 
ProgramChange 
ChannelPressure 
PitchBend 
SingleByte 

Definition at line 91 of file MIDI_MessageTypes.hpp.

Function Documentation

◆ operator<<() [1/2]

Print & operator<< ( Print & os,
SysExMessage m )
inline

Definition at line 408 of file MIDI_MessageTypes.hpp.

◆ enum_to_string()

FlashString_t enum_to_string ( MIDIMessageType m)

Definition at line 6 of file MIDI_MessageTypes.cpp.

◆ operator<<() [2/2]

Print & operator<< ( Print & os,
MIDIMessageType m )
inline

Definition at line 415 of file MIDI_MessageTypes.hpp.