Nanomidi
Simple stream-based MIDI message encoder and decoder
messages.h File Reference
#include <stddef.h>
#include <stdint.h>
Include dependency graph for messages.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  midi_message
 MIDI message data structure. More...
 
union  midi_message::data
 MIDI message data representation. More...
 
struct  midi_message::data::note_on
 Representation of MIDI_TYPE_NOTE_ON. More...
 
struct  midi_message::data::note_off
 Representation of MIDI_TYPE_NOTE_OFF. More...
 
struct  midi_message::data::polyphonic_pressure
 Representation of MIDI_TYPE_POLYPHONIC_PRESSURE. More...
 
struct  midi_message::data::control_change
 Representation of MIDI_TYPE_CONTROL_CHANGE. More...
 
struct  midi_message::data::program_change
 Representation of MIDI_TYPE_PROGRAM_CHANGE. More...
 
struct  midi_message::data::channel_pressure
 Representation of MIDI_TYPE_CHANNEL_PRESSURE. More...
 
struct  midi_message::data::pitch_bend
 Representation of MIDI_TYPE_PITCH_BEND. More...
 
struct  midi_message::data::time_code_quarter_frame
 Representation of MIDI_TYPE_TIME_CODE_QUARTER_FRAME. More...
 
struct  midi_message::data::song_position
 Representation of MIDI_TYPE_SONG_POSITION. More...
 
struct  midi_message::data::song_select
 Representation of MIDI_TYPE_SONG_SELECT. More...
 
struct  midi_message::data::sysex
 Representation of MIDI_TYPE_SYSEX. More...
 

Enumerations

enum  midi_type {
  MIDI_TYPE_NOTE_OFF = 0x80, MIDI_TYPE_NOTE_ON = 0x90, MIDI_TYPE_POLYPHONIC_PRESSURE = 0xa0, MIDI_TYPE_CONTROL_CHANGE = 0xb0,
  MIDI_TYPE_PROGRAM_CHANGE = 0xc0, MIDI_TYPE_CHANNEL_PRESSURE = 0xd0, MIDI_TYPE_PITCH_BEND = 0xe0, MIDI_TYPE_TIME_CODE_QUARTER_FRAME = 0xf1,
  MIDI_TYPE_SONG_POSITION = 0xf2, MIDI_TYPE_SONG_SELECT = 0xf3, MIDI_TYPE_TUNE_REQUEST = 0xf6, MIDI_TYPE_TIMING_CLOCK = 0xf8,
  MIDI_TYPE_START = 0xfa, MIDI_TYPE_CONTINUE = 0xfb, MIDI_TYPE_STOP = 0xfc, MIDI_TYPE_ACTIVE_SENSE = 0xfe,
  MIDI_TYPE_SYSTEM_RESET = 0xff, MIDI_TYPE_SYSEX = 0xf0, MIDI_TYPE_SYSTEM_EXCLUSIVE = MIDI_TYPE_SYSEX
}
 MIDI message types. More...