Midi Parser
A simple library that reads and parses binary MIDI files
types.h
1 //
2 // Created by MStefan99 on 6.8.20.
3 //
4 
5 #ifndef MIDI_PARSER_TYPES_H
6 #define MIDI_PARSER_TYPES_H
7 
11 struct MidiType {
17  typedef enum {
19  SimTracks = 1,
20  IndTracks = 2
22 
26  typedef enum {
27  MidiEvent = 0,
28  SysExEvent = 1,
29  MetaEvent = 2
31 
37  typedef enum {
38  NoteOff = 0x80,
39  NoteOn = 0x90,
41  ControlChange = 0xB0,
42  ProgramChange = 0xC0,
43  ChannelPressure = 0xD0,
44  PitchBend = 0xE0
46 
52  typedef enum {
53  SOX = 0xF0,
54  EOX = 0xF7
56 
62  typedef enum {
63  SequenceNumber = 0x00,
64  TextEvent = 0x01,
65  CopyrightNotice = 0x02,
66  SequenceName = 0x03,
67  InstrumentName = 0x04,
68  Lyric = 0x05,
69  Marker = 0x06,
70  CuePoint = 0x07,
72  EndOfTrack = 0x2F,
73  SetTempo = 0x51,
74  SMTPEOffset = 0x54,
75  TimeSignature = 0x58,
76  KeySignature = 0x59,
77  SequencerSpecific = 0x7F
79 };
80 
81 #endif //MIDI_PARSER_TYPES_H
MidiType::EventType
EventType
Types of the Midi events.
Definition: types.h:26
MidiType::SequenceNumber
@ SequenceNumber
Definition: types.h:63
MidiType::SequencerSpecific
@ SequencerSpecific
Definition: types.h:77
MidiType::MetaMessageStatus
MetaMessageStatus
Statuses of the Meta events.
Definition: types.h:62
MidiType::SysExMessageStatus
SysExMessageStatus
Statuses of the System Exclusive Messages.
Definition: types.h:52
MidiType::CopyrightNotice
@ CopyrightNotice
Definition: types.h:65
MidiType::SetTempo
@ SetTempo
Definition: types.h:73
MidiType::PolyphonicKeyPressure
@ PolyphonicKeyPressure
Definition: types.h:40
MidiType::ControlChange
@ ControlChange
Definition: types.h:41
MidiType::Lyric
@ Lyric
Definition: types.h:68
MidiType::FileFormat
FileFormat
Formats of the Midi files.
Definition: types.h:17
MidiType::KeySignature
@ KeySignature
Definition: types.h:76
MidiType::SimTracks
@ SimTracks
Definition: types.h:19
MidiType::MidiChannelPrefix
@ MidiChannelPrefix
Definition: types.h:71
MidiType::MidiMessageStatus
MidiMessageStatus
Statuses of the Midi messages.
Definition: types.h:37
SysExEvent
Contains data of the System Exclusive event.
Definition: SysExEvent.h:20
MetaEvent
Contains data of the meta event.
Definition: MetaEvent.h:20
MidiType::NoteOff
@ NoteOff
Definition: types.h:38
MidiType::EOX
@ EOX
Definition: types.h:54
MidiType::CuePoint
@ CuePoint
Definition: types.h:70
MidiType::SOX
@ SOX
Definition: types.h:53
MidiType::IndTracks
@ IndTracks
Definition: types.h:20
MidiType::PitchBend
@ PitchBend
Definition: types.h:44
MidiType::SMTPEOffset
@ SMTPEOffset
Definition: types.h:74
MidiType::InstrumentName
@ InstrumentName
Definition: types.h:67
MidiEvent
Contains data of the Midi event.
Definition: MidiEvent.h:20
MidiType::NoteOn
@ NoteOn
Definition: types.h:39
MidiType::Marker
@ Marker
Definition: types.h:69
MidiType::SequenceName
@ SequenceName
Definition: types.h:66
MidiType::ChannelPressure
@ ChannelPressure
Definition: types.h:43
MidiType::EndOfTrack
@ EndOfTrack
Definition: types.h:72
MidiType::TimeSignature
@ TimeSignature
Definition: types.h:75
MidiType::SingleTrack
@ SingleTrack
Definition: types.h:18
MidiType::ProgramChange
@ ProgramChange
Definition: types.h:42
MidiType::TextEvent
@ TextEvent
Definition: types.h:64
MidiType
Contains definitions for different types, formats and statuses.
Definition: types.h:11