diff options
Diffstat (limited to 'libs/midi++2/midi++/types.h')
-rw-r--r-- | libs/midi++2/midi++/types.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/libs/midi++2/midi++/types.h b/libs/midi++2/midi++/types.h new file mode 100644 index 0000000000..b9d9bf33e7 --- /dev/null +++ b/libs/midi++2/midi++/types.h @@ -0,0 +1,69 @@ +#ifndef __midi_types_h__ +#define __midi_types_h__ + +namespace MIDI { + + typedef char channel_t; + typedef float controller_value_t; + typedef unsigned char byte; + typedef unsigned short pitchbend_t; + + enum eventType { + none = 0x0, + raw = 0xF4, /* undefined in MIDI spec */ + any = 0xF5, /* undefined in MIDI spec */ + off = 0x80, + on = 0x90, + controller = 0xB0, + program = 0xC0, + chanpress = 0xD0, + polypress = 0xA0, + pitchbend = 0xE0, + sysex = 0xF0, + mtc_quarter = 0xF1, + position = 0xF2, + song = 0xF3, + tune = 0xF6, + eox = 0xF7, + timing = 0xF8, + start = 0xFA, + contineu = 0xFB, /* note spelling */ + stop = 0xFC, + active = 0xFE, + reset = 0xFF + }; + + extern const char *controller_names[]; + byte decode_controller_name (const char *name); + + struct EventTwoBytes { + union { + byte note_number; + byte controller_number; + }; + union { + byte velocity; + byte value; + }; + }; + + enum MTC_FPS { + MTC_24_FPS = 0, + MTC_25_FPS = 1, + MTC_30_FPS_DROP = 2, + MTC_30_FPS = 3 + }; + + enum MTC_Status { + MTC_Stopped = 0, + MTC_Forward, + MTC_Backward, + }; + +}; /* namespace MIDI */ + +#endif // __midi_types_h__ + + + + |