Midi Parser
A simple library that reads and parses binary MIDI files
MidiType Struct Reference

Contains definitions for different types, formats and statuses. More...

#include <types.h>

Public Types

enum  FileFormat { SingleTrack = 0, SimTracks = 1, IndTracks = 2 }
 Formats of the Midi files. More...
 
enum  EventType { MidiEvent = 0, SysExEvent = 1, MetaEvent = 2 }
 Types of the Midi events. More...
 
enum  MidiMessageStatus {
  NoteOff = 0x80, NoteOn = 0x90, PolyphonicKeyPressure = 0xA0, ControlChange = 0xB0,
  ProgramChange = 0xC0, ChannelPressure = 0xD0, PitchBend = 0xE0
}
 Statuses of the Midi messages. More...
 
enum  SysExMessageStatus { SOX = 0xF0, EOX = 0xF7 }
 Statuses of the System Exclusive Messages. More...
 
enum  MetaMessageStatus {
  SequenceNumber = 0x00, TextEvent = 0x01, CopyrightNotice = 0x02, SequenceName = 0x03,
  InstrumentName = 0x04, Lyric = 0x05, Marker = 0x06, CuePoint = 0x07,
  MidiChannelPrefix = 0x20, EndOfTrack = 0x2F, SetTempo = 0x51, SMTPEOffset = 0x54,
  TimeSignature = 0x58, KeySignature = 0x59, SequencerSpecific = 0x7F
}
 Statuses of the Meta events. More...
 

Detailed Description

Contains definitions for different types, formats and statuses.

Member Enumeration Documentation

◆ EventType

Types of the Midi events.

Enumerator
MidiEvent 

Midi events

SysExEvent 

System exclusive events

MetaEvent 

Meta events

◆ FileFormat

Formats of the Midi files.

  • In accordance with MIDI 1.0 specification
Enumerator
SingleTrack 

Files which only contain a single track

SimTracks 

Files which contain multiple tracks played simultaneously

IndTracks 

Files which contain multiple tracks played independently

◆ MetaMessageStatus

Statuses of the Meta events.

  • In accordance with MIDI 1.0 specification
Enumerator
SequenceNumber 

Sequence number event

TextEvent 

Text event

CopyrightNotice 

Copyright notice event

SequenceName 

Sequence name event

InstrumentName 

Instrument name event

Lyric 

Lyric event

Marker 

Marker event

CuePoint 

Cue point event

MidiChannelPrefix 

Midi channel prefix event

EndOfTrack 

End of track event

SetTempo 

Set tempo event

SMTPEOffset 

SMTPE offset event

TimeSignature 

Time signature event

KeySignature 

Key signature event

SequencerSpecific 

Sequencer-specific event

◆ MidiMessageStatus

Statuses of the Midi messages.

  • In accordance with MIDI 1.0 specification
Enumerator
NoteOff 

Note Off event

NoteOn 

Note On event (considered Note Off if velocity is 0)

PolyphonicKeyPressure 

Key pressure event after note was pressed (Aftertouch)

ControlChange 

Control change event

ProgramChange 

Program change event

ChannelPressure 

Channel aftertouch event

PitchBend 

Pitch wheel event

◆ SysExMessageStatus

Statuses of the System Exclusive Messages.

  • In accordance with MIDI 1.0 specification
Enumerator
SOX 

Start of System Exclusive event

EOX 

End of System Exclusive event


The documentation for this struct was generated from the following file: