Control Surface master
MIDI Control Surface library for Arduino
Classes | Enumerations | Functions
MIDI_MessageTypes.hpp File Reference
#include <AH/Arduino-Wrapper.h>
#include <AH/STL/cstddef>
#include <AH/STL/vector>
#include <AH/Settings/Warnings.hpp>
#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 , NOTE_OFF = 0x80 , NOTE_ON = 0x90 , KEY_PRESSURE = 0xA0 ,
  CC = 0xB0 , CONTROL_CHANGE = CC , PROGRAM_CHANGE = 0xC0 , CHANNEL_PRESSURE = 0xD0 ,
  PITCH_BEND = 0xE0 , SYSEX_START = 0xF0 , MTC_QUARTER_FRAME = 0xF1 , SONG_POSITION_POINTER = 0xF2 ,
  SONG_SELECT = 0xF3 , UNDEFINED_SYSCOMMON_1 = 0xF4 , UNDEFINED_SYSCOMMON_2 = 0xF5 , TUNE_REQUEST = 0xF6 ,
  SYSEX_END = 0xF7 , TIMING_CLOCK = 0xF8 , UNDEFINED_REALTIME_1 = 0xF9 , START = 0xFA ,
  CONTINUE = 0xFB , STOP = 0xFC , UNDEFINED_REALTIME_2 = 0xFD , ACTIVE_SENSING = 0xFE ,
  SYSTEM_RESET = 0xFF
}
 All possible MIDI status byte values (without channel). More...
 
enum class  MIDICodeIndexNumber : uint8_t {
  MISC_FUNCTION_CODES = 0x0 , CABLE_EVENTS = 0x1 , SYSTEM_COMMON_2B = 0x2 , SYSTEM_COMMON_3B = 0x3 ,
  SYSEX_START_CONT = 0x4 , SYSTEM_COMMON_1B = 0x5 , SYSEX_END_1B = 0x5 , SYSEX_END_2B = 0x6 ,
  SYSEX_END_3B = 0x7 , NOTE_OFF = 0x8 , NOTE_ON = 0x9 , KEY_PRESSURE = 0xA ,
  CONTROL_CHANGE = 0xB , PROGRAM_CHANGE = 0xC , CHANNEL_PRESSURE = 0xD , PITCH_BEND = 0xE ,
  SINGLE_BYTE = 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 
NOTE_OFF 
NOTE_ON 
KEY_PRESSURE 
CC 
CONTROL_CHANGE 
PROGRAM_CHANGE 
CHANNEL_PRESSURE 
PITCH_BEND 
SYSEX_START 
MTC_QUARTER_FRAME 
SONG_POSITION_POINTER 
SONG_SELECT 
UNDEFINED_SYSCOMMON_1 
UNDEFINED_SYSCOMMON_2 
TUNE_REQUEST 
SYSEX_END 
TIMING_CLOCK 
UNDEFINED_REALTIME_1 
START 
CONTINUE 
STOP 
UNDEFINED_REALTIME_2 
ACTIVE_SENSING 
SYSTEM_RESET 

Definition at line 24 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
MISC_FUNCTION_CODES 
CABLE_EVENTS 
SYSTEM_COMMON_2B 
SYSTEM_COMMON_3B 
SYSEX_START_CONT 
SYSTEM_COMMON_1B 
SYSEX_END_1B 
SYSEX_END_2B 
SYSEX_END_3B 
NOTE_OFF 
NOTE_ON 
KEY_PRESSURE 
CONTROL_CHANGE 
PROGRAM_CHANGE 
CHANNEL_PRESSURE 
PITCH_BEND 
SINGLE_BYTE 

Definition at line 61 of file MIDI_MessageTypes.hpp.

Function Documentation

◆ operator<<() [1/2]

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

Definition at line 380 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 387 of file MIDI_MessageTypes.hpp.