ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
midi.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  _MidiMessagePayload
union  _MidiMessagePayload::_MsgData
struct  _MidiMessagePayload::_MsgData::_NoteOn
struct  _MidiMessagePayload::_MsgData::_NoteOff
struct  _MidiMessagePayload::_MsgData::_NoteKeyPressure
struct  _MidiMessagePayload::_MsgData::_NoteParameter
struct  _MidiMessagePayload::_MsgData::_ChangeProgram
struct  _MidiMessagePayload::_MsgData::_ChangePressure
struct  _MidiMessagePayload::_MsgData::_PitchWheel
struct  _MidiMessagePayload::_MsgData::_MetaEvent
union  _MidiMessagePayload::_MsgData::_MetaEvent::_Data
struct  _MidiMessagePayload::_MsgData::_MetaEvent::_Data::_Text
struct  _MidiMessagePayload::_MsgData::_MetaEvent::_Data::_Tempo
struct  _MidiMessagePayload::_MsgData::_MetaEvent::_Data::_SMPTE
struct  _MidiMessagePayload::_MsgData::_MetaEvent::_Data::_KeySig
struct  _MidiMessagePayload::_MsgData::_MetaEvent::_Data::_TimeSig
struct  _MidiMessagePayload::_MsgData::_MetaEvent::_Data::_Sequencer
struct  _MidiMessagePayload::_MsgData::_SysEx

Macros

#define MIDI_WHEEL_CENTRE   8192
#define MIDI_CHANNEL_1   1
#define MIDI_CHANNEL_2   2
#define MIDI_CHANNEL_3   3
#define MIDI_CHANNEL_4   4
#define MIDI_CHANNEL_5   5
#define MIDI_CHANNEL_6   6
#define MIDI_CHANNEL_7   7
#define MIDI_CHANNEL_8   8
#define MIDI_CHANNEL_9   9
#define MIDI_CHANNEL_10   10
#define MIDI_CHANNEL_11   11
#define MIDI_CHANNEL_12   12
#define MIDI_CHANNEL_13   13
#define MIDI_CHANNEL_14   14
#define MIDI_CHANNEL_15   15
#define MIDI_CHANNEL_16   16
#define MIDI_CHANNEL_DRUMS   10
#define MIDI_OCTAVE   12
#define MIDI_NOTE_MIDDLE_C   MIDI_NOTE_C5
#define MIDI_NOTE_C   0
#define MIDI_NOTE_C_SHARP   1
#define MIDI_NOTE_C_FLAT   -11
#define MIDI_NOTE_D   2
#define MIDI_NOTE_D_SHARP   3
#define MIDI_NOTE_D_FLAT   1
#define MIDI_NOTE_E   4
#define MIDI_NOTE_E_SHARP   5
#define MIDI_NOTE_E_FLAT   3
#define MIDI_NOTE_F   5
#define MIDI_NOTE_F_SHARP   6
#define MIDI_NOTE_F_FLAT   5
#define MIDI_NOTE_G   7
#define MIDI_NOTE_G_SHARP   8
#define MIDI_NOTE_G_FLAT   6
#define MIDI_NOTE_A   9
#define MIDI_NOTE_A_SHARP   10
#define MIDI_NOTE_A_FLAT   8
#define MIDI_NOTE_B   11
#define MIDI_NOTE_B_SHARP   12
#define MIDI_NOTE_B_FLAT   10
#define MIDI_NOTE_C0   0
#define MIDI_NOTE_C1   12
#define MIDI_NOTE_C2   24
#define MIDI_NOTE_C3   36
#define MIDI_NOTE_C4   48
#define MIDI_NOTE_C5   60
#define MIDI_NOTE_C6   72
#define MIDI_NOTE_C7   84
#define MIDI_NOTE_C8   96
#define MIDI_NOTE_C9   108
#define MIDI_NOTE_C10   120
#define MIDI_OCTAVE_0   MIDI_NOTE_C0
#define MIDI_OCTAVE_1   MIDI_NOTE_C1
#define MIDI_OCTAVE_2   MIDI_NOTE_C2
#define MIDI_OCTAVE_3   MIDI_NOTE_C3
#define MIDI_OCTAVE_4   MIDI_NOTE_C4
#define MIDI_OCTAVE_5   MIDI_NOTE_C5
#define MIDI_OCTAVE_6   MIDI_NOTE_C6
#define MIDI_OCTAVE_7   MIDI_NOTE_C7
#define MIDI_OCTAVE_8   MIDI_NOTE_C8
#define MIDI_OCTAVE_9   MIDI_NOTE_C9
#define MIDI_OCTAVE_10   MIDI_NOTE_C10
#define MIDI_DURATION_BREVE   1536
#define MIDI_DURATION_MINIM   768
#define MIDI_DURATION_CROCHET   384
#define MIDI_DURATION_QUAVER   192
#define MIDI_DURATION_SEMIQUAVER   96
#define MIDI_DURATION_SEMIDEMIQUAVER   48
#define MIDI_DURATION_DOTTED_MINIM   (768+384)
#define MIDI_DURATION_DOTTED_CROCHET   (384+192)
#define MIDI_DURATION_DOTTED_QUAVER   (192+96)
#define MIDI_DURATION_DOTTED_SEMIQUAVER   (96+48)
#define MIDI_DURATION_DOTTED_SEMIDEMIQUAVER   (48+24)
#define MIDI_DURATION_TRIPLE_CROCHET   256
#define MIDI_VOL_FULL   127
#define MIDI_VOL_HALF   64
#define MIDI_VOL_OFF   0
#define MIDI_INSTRUMENT_ACOUSTIC_GRAND_PIANO   0
#define MIDI_INSTRUMENT_BRIGHT_ACOUSTIC_PIANO   1
#define MIDI_INSTRUMENT_ELECTRIC_GRAND_PIANO   2
#define MIDI_INSTRUMENT_HONKY_TONK_PIANO   3
#define MIDI_INSTRUMENT_ELECTRIC_PIANO_1   4
#define MIDI_INSTRUMENT_ELECTRIC_PIANO_2   5
#define MIDI_INSTRUMENT_HARPSICHORD   6
#define MIDI_INSTRUMENT_CLAVI   7
#define MIDI_INSTRUMENT_CELESTA   8
#define MIDI_INSTRUMENT_GLOCKENSPIEL   9
#define MIDI_INSTRUMENT_MUSIC_BOX   10
#define MIDI_INSTRUMENT_VIBRAPHONE   11
#define MIDI_INSTRUMENT_MARIMBA   12
#define MIDI_INSTRUMENT_XYLOPHONE   13
#define MIDI_INSTRUMENT_TUBULAR_BELLS   14
#define MIDI_INSTRUMENT_DULCIMER   15
#define MIDI_INSTRUMENT_DRAWBAR_ORGAN   16
#define MIDI_INSTRUMENT_PERCUSSIVE_ORGAN   17
#define MIDI_INSTRUMENT_ROCK_ORGAN   18
#define MIDI_INSTRUMENT_CHURCH_ORGAN   19
#define MIDI_INSTRUMENT_REED_ORGAN   20
#define MIDI_INSTRUMENT_ACCORDION   21
#define MIDI_INSTRUMENT_HARMONICA   22
#define MIDI_INSTRUMENT_TANGO_ACCORDION   23
#define MIDI_INSTRUMENT_ACOUSTIC_GUITAR_NYLON   24
#define MIDI_INSTRUMENT_ACOUSTIC_GUITAR_STEEL   25
#define MIDI_INSTRUMENT_ELECTRIC_GUITAR_JAZZ   26
#define MIDI_INSTRUMENT_ELECTRIC_GUITAR_CLEAN   27
#define MIDI_INSTRUMENT_ELECTRIC_GUITAR_MUTED   28
#define MIDI_INSTRUMENT_OVERDRIVEN_GUITAR   29
#define MIDI_INSTRUMENT_DISTORTION_GUITAR   30
#define MIDI_INSTRUMENT_GUITAR_HARMONICS   31
#define MIDI_INSTRUMENT_ACOUSTIC_BASS   32
#define MIDI_INSTRUMENT_ELECTRIC_BASS_FINGER   33
#define MIDI_INSTRUMENT_ELECTRIC_BASS_PICK   34
#define MIDI_INSTRUMENT_FRETLESS_BASS   35
#define MIDI_INSTRUMENT_SLAP_BASS_1   36
#define MIDI_INSTRUMENT_SLAP_BASS_2   37
#define MIDI_INSTRUMENT_SYNTH_BASS_1   38
#define MIDI_INSTRUMENT_SYNTH_BASS_2   39
#define MIDI_INSTRUMENT_VIOLIN   40
#define MIDI_INSTRUMENT_VIOLA   41
#define MIDI_INSTRUMENT_CELLO   42
#define MIDI_INSTRUMENT_CONTRABASS   43
#define MIDI_INSTRUMENT_TREMOLO_STRINGS   44
#define MIDI_INSTRUMENT_PIZZICATO_STRINGS   45
#define MIDI_INSTRUMENT_ORCHESTRAL_HARP   46
#define MIDI_INSTRUMENT_TIMPANI   47
#define MIDI_INSTRUMENT_STRING_ENSEMBLE_1   48
#define MIDI_INSTRUMENT_STRING_ENSEMBLE_2   49
#define MIDI_INSTRUMENT_SYNTHSTRINGS_1   50
#define MIDI_INSTRUMENT_SYNTHSTRINGS_2   51
#define MIDI_INSTRUMENT_CHOIR_AAHS   52
#define MIDI_INSTRUMENT_VOICE_OOHS   53
#define MIDI_INSTRUMENT_SYNTH_VOICE   54
#define MIDI_INSTRUMENT_ORCHESTRA_HIT   55
#define MIDI_INSTRUMENT_TRUMPET   56
#define MIDI_INSTRUMENT_TROMBONE   57
#define MIDI_INSTRUMENT_TUBA   58
#define MIDI_INSTRUMENT_MUTED_TRUMPET   59
#define MIDI_INSTRUMENT_FRENCH_HORN   60
#define MIDI_INSTRUMENT_BRASS_SECTION   61
#define MIDI_INSTRUMENT_SYNTHBRASS_1   62
#define MIDI_INSTRUMENT_SYNTHBRASS_2   63
#define MIDI_INSTRUMENT_SOPRANO_SAX   64
#define MIDI_INSTRUMENT_ALTO_SAX   65
#define MIDI_INSTRUMENT_TENOR_SAX   66
#define MIDI_INSTRUMENT_BARITONE_SAX   67
#define MIDI_INSTRUMENT_OBOE   68
#define MIDI_INSTRUMENT_ENGLISH_HORN   69
#define MIDI_INSTRUMENT_BASSOON   70
#define MIDI_INSTRUMENT_CLARINET   71
#define MIDI_INSTRUMENT_PICCOLO   72
#define MIDI_INSTRUMENT_FLUTE   73
#define MIDI_INSTRUMENT_RECORDER   74
#define MIDI_INSTRUMENT_PAN_FLUTE   75
#define MIDI_INSTRUMENT_BLOWN_BOTTLE   76
#define MIDI_INSTRUMENT_SHAKUHACHI   77
#define MIDI_INSTRUMENT_WHISTLE   78
#define MIDI_INSTRUMENT_OCARINA   79
#define MIDI_INSTRUMENT_LEAD_1_SQUARE   80
#define MIDI_INSTRUMENT_LEAD_2_SAWTOOTH   81
#define MIDI_INSTRUMENT_LEAD_3_CALLIOPE   82
#define MIDI_INSTRUMENT_LEAD_4_CHIFF   83
#define MIDI_INSTRUMENT_LEAD_5_CHARANG   84
#define MIDI_INSTRUMENT_LEAD_6_VOICE   85
#define MIDI_INSTRUMENT_LEAD_7_FIFTHS   86
#define MIDI_INSTRUMENT_LEAD_8_BASS_AND_LEAD   87
#define MIDI_INSTRUMENT_PAD_1_NEW_AGE   88
#define MIDI_INSTRUMENT_PAD_2_WARM   89
#define MIDI_INSTRUMENT_PAD_3_POLYSYNTH   90
#define MIDI_INSTRUMENT_PAD_4_CHOIR   91
#define MIDI_INSTRUMENT_PAD_5_BOWED   92
#define MIDI_INSTRUMENT_PAD_6_METALLIC   93
#define MIDI_INSTRUMENT_PAD_7_HALO   94
#define MIDI_INSTRUMENT_PAD_8_SWEEP   95
#define MIDI_INSTRUMENT_FX_1_RAIN   96
#define MIDI_INSTRUMENT_FX_2_SOUNDTRACK   97
#define MIDI_INSTRUMENT_FX_3_CRYSTAL   98
#define MIDI_INSTRUMENT_FX_4_ATMOSPHERE   99
#define MIDI_INSTRUMENT_FX_5_BRIGHTNESS   100
#define MIDI_INSTRUMENT_FX_6_GOBLINS   101
#define MIDI_INSTRUMENT_FX_7_ECHOES   102
#define MIDI_INSTRUMENT_FX_8_SCIFI   103
#define MIDI_INSTRUMENT_SITAR   104
#define MIDI_INSTRUMENT_BANJO   105
#define MIDI_INSTRUMENT_SHAMISEN   106
#define MIDI_INSTRUMENT_KOTO   107
#define MIDI_INSTRUMENT_KALIMBA   108
#define MIDI_INSTRUMENT_BAG_PIPE   109
#define MIDI_INSTRUMENT_FIDDLE   110
#define MIDI_INSTRUMENT_SHANAI   111
#define MIDI_INSTRUMENT_TINKLE_BELL   112
#define MIDI_INSTRUMENT_AGOGO   113
#define MIDI_INSTRUMENT_STEEL_DRUMS   114
#define MIDI_INSTRUMENT_WOODBLOCK   115
#define MIDI_INSTRUMENT_TAIKO_DRUM   116
#define MIDI_INSTRUMENT_MELODIC_TOM   117
#define MIDI_INSTRUMENT_SYNTH_DRUM   118
#define MIDI_INSTRUMENT_REVERSE_CYMBAL   119
#define MIDI_INSTRUMENT_GUITAR_FRET   NOISE 120
#define MIDI_INSTRUMENT_BREATH_NOISE   121
#define MIDI_INSTRUMENT_SEASHORE   122
#define MIDI_INSTRUMENT_BIRD_TWEET   123
#define MIDI_INSTRUMENT_TELEPHONE_RING   124
#define MIDI_INSTRUMENT_HELICOPTER   125
#define MIDI_INSTRUMENT_APPLAUSE   126
#define MIDI_INSTRUMENT_GUNSHOT   127
#define MIDI_INSTRUMENT_DRUM_ACOUSTIC_BASS_DRUM   35
#define MIDI_INSTRUMENT_DRUM_BASS_DRUM   36
#define MIDI_INSTRUMENT_DRUM_SIDE_STICK   37
#define MIDI_INSTRUMENT_DRUM_ACOUSTIC_SNARE   38
#define MIDI_INSTRUMENT_DRUM_HAND_CLAP   39
#define MIDI_INSTRUMENT_DRUM_ELECTRIC_SNARE   40
#define MIDI_INSTRUMENT_DRUM_LOW_FLOOR_TOM   41
#define MIDI_INSTRUMENT_DRUM_CLOSED_HI_HAT   42
#define MIDI_INSTRUMENT_DRUM_HIGH_FLOOR_TOM   43
#define MIDI_INSTRUMENT_DRUM_PEDAL_HI_HAT   44
#define MIDI_INSTRUMENT_DRUM_LOW_TOM   45
#define MIDI_INSTRUMENT_DRUM_OPEN_HI_HAT   46
#define MIDI_INSTRUMENT_DRUM_LOW_MID_TOM   47
#define MIDI_INSTRUMENT_DRUM_HI_MID_TOM   48
#define MIDI_INSTRUMENT_DRUM_CRASH_CYMBAL_1   49
#define MIDI_INSTRUMENT_DRUM_HIGH_TOM   50
#define MIDI_INSTRUMENT_DRUM_RIDE_CYMBAL_1   51
#define MIDI_INSTRUMENT_DRUM_CHINESE_CYMBAL   52
#define MIDI_INSTRUMENT_DRUM_RIDE_BELL   53
#define MIDI_INSTRUMENT_DRUM_TAMBOURINE   54
#define MIDI_INSTRUMENT_DRUM_SPLASH_CYMBAL   55
#define MIDI_INSTRUMENT_DRUM_COWBELL   56
#define MIDI_INSTRUMENT_DRUM_CRASH_CYMBAL_2   57
#define MIDI_INSTRUMENT_DRUM_VIBRA_SLAP   58
#define MIDI_INSTRUMENT_DRUM_RIDE_CYMBAL_2   59
#define MIDI_INSTRUMENT_DRUM_HI_BONGO   60
#define MIDI_INSTRUMENT_DRUM_LOW_BONGO   61
#define MIDI_INSTRUMENT_DRUM_MUTE_HI_CONGA   62
#define MIDI_INSTRUMENT_DRUM_OPEN_HI_CONGA   63
#define MIDI_INSTRUMENT_DRUM_LOW_CONGA   64
#define MIDI_INSTRUMENT_DRUM_HIGH_TIMBALE   65
#define MIDI_INSTRUMENT_DRUM_LOW_TIMBALE   66
#define MIDI_INSTRUMENT_DRUM_HIGH_AGOGO   67
#define MIDI_INSTRUMENT_DRUM_LOW_AGOGO   68
#define MIDI_INSTRUMENT_DRUM_CABASA   69
#define MIDI_INSTRUMENT_DRUM_MARACAS   70
#define MIDI_INSTRUMENT_DRUM_SHORT_WHISTLE   71
#define MIDI_INSTRUMENT_DRUM_LONG_WHISTLE   72
#define MIDI_INSTRUMENT_DRUM_SHORT_GUIRO   73
#define MIDI_INSTRUMENT_DRUM_LONG_GUIRO   74
#define MIDI_INSTRUMENT_DRUM_CLAVES   75
#define MIDI_INSTRUMENT_DRUM_HI_WOOD_BLOCK   76
#define MIDI_INSTRUMENT_DRUM_LOW_WOOD_BLOCK   77
#define MIDI_INSTRUMENT_DRUM_MUTE_CUICA   78
#define MIDI_INSTRUMENT_DRUM_OPEN_CUICA   79
#define MIDI_INSTRUMENT_DRUM_MUTE_TRIANGLE   80
#define MIDI_INSTRUMENT_DRUM_OPEN_TRIANGLE   81
#define CHORD_ROOT_MASK   0x000000ff
#define CHORD_TYPE_MASK   0x0000ff00
#define CHORD_BASS_MASK   0x00ff0000
#define CHORD_ADDITION_MASK   0xff000000
#define CHORD_TYPE_MAJOR   0x00000100
#define CHORD_TYPE_MINOR   0x00000200
#define CHORD_TYPE_AUG   0x00000300
#define CHORD_TYPE_DIM   0x00000400
#define CHORD_ADD_7TH   0x01000000
#define CHORD_ADD_9TH   0x02000000
#define CHORD_ADD_MAJ7TH   0x04000000
#define TRUE   1
#define FALSE   0
#define MIDI_PPQN_DEFAULT   384
#define MIDI_VERSION_DEFAULT   1
#define MAX_MIDI_TRACKS   256
#define MAX_TRACK_POLYPHONY   64

Typedefs

typedef enum _MidiMessage MidiMessage
typedef enum _ControlCommand MidiControlCommand
typedef enum _MidiSystemCommand MidiSystemCommand
typedef enum _MidiRealTime MidiRealTime
typedef enum _MidiSystemExclusive MidiSystemExclusive
typedef enum _MidiNote MidiNote
typedef enum _MidiMetaInfo MidiMetaInfo
typedef enum _MidiTextInfo MidiTextInfo
typedef unsigned char BYTE
typedef uint16_t WORD
typedef uint32_t DWORD
typedef void MidiFile
typedef struct _MidiMessagePayload MidiMessagePayload

Enumerations

enum  _MidiMessage {
  messageNoteOff = 0x80 , messageNoteOn = 0x90 , messageNoteKeyPressure = 0xa0 , messageSetParameter = 0xb0 ,
  messageSetProgram = 0xc0 , messageChangePressure = 0xd0 , messageSetPitchWheel = 0xe0 , messageMetaEvent = 0xff ,
  messageSysEx1 = 0xf0 , messageSysEx2 = 0xf7 , messagePatchChange = messageSetProgram , messageControlChange = messageSetParameter ,
  messageSysMask = 0xf0
}
enum  _ControlCommand {
  controlCommandBankSelect = 0 , controlCommandModulation = 1 , controlCommandBreathControl = 2 , controlCommandUndefined3 = 3 ,
  controlCommandFootControl = 4 , controlCommandPortamentoTime = 5 , controlCommandDateEntry = 6 , controlCommandVolume = 7 ,
  controlCommandBalance = 8 , controlCommandUndefined9 = 9 , controlCommandPan = 10 , controlCommandExpression = 11 ,
  controlCommandEffectControl1 = 12 , controlCommandEffectControl2 = 13 , controlCommandUndefined14 = 14 , controlCommandUndefined15 = 15 ,
  controlCommandGeneralPurpose1 = 16 , controlCommandGeneralPurpose2 = 17 , controlCommandGeneralPurpose3 = 18 , controlCommandGeneralPurpose4 = 19 ,
  controlCommandUndefined20 = 20 , controlCommandUndefined21 = 21 , controlCommandUndefined22 = 22 , controlCommandUndefined23 = 23 ,
  controlCommandUndefined24 = 24 , controlCommandUndefined25 = 25 , controlCommandUndefined26 = 26 , controlCommandUndefined27 = 27 ,
  controlCommandUndefined28 = 28 , controlCommandUndefined29 = 29 , controlCommandUndefined30 = 30 , controlCommandUndefined31 = 31 ,
  controlCommandBankSelectLSB = 32 , controlCommandModulationLSB = 33 , controlCommandBreathControlLSB = 34 , controlCommandUndefined35 = 35 ,
  controlCommandFootControlLSB = 36 , controlCommandPortamentoTimeLSB = 37 , controlCommandDateEntryLSB = 38 , controlCommandVolumeLSB = 39 ,
  controlCommandBalanceLSB = 40 , controlCommandUndefined41 = 41 , controlCommandPanLSB = 42 , controlCommandExpressionLSB = 43 ,
  controlCommandEffectControl1LSB = 44 , controlCommandEffectControl2LSB = 45 , controlCommandUndefined46 = 46 , controlCommandUndefined47 = 47 ,
  controlCommandGeneralPurpose1LSB = 48 , controlCommandGeneralPurpose2LSB = 49 , controlCommandGeneralPurpose3LSB = 50 , controlCommandGeneralPurpose4LSB = 51 ,
  controlCommandUndefined52 = 52 , controlCommandUndefined53 = 53 , controlCommandUndefined54 = 54 , controlCommandUndefined55 = 55 ,
  controlCommandUndefined56 = 56 , controlCommandUndefined57 = 57 , controlCommandUndefined58 = 58 , controlCommandUndefined59 = 59 ,
  controlCommandUndefined60 = 60 , controlCommandUndefined61 = 61 , controlCommandUndefined62 = 62 , controlCommandUndefined63 = 63 ,
  controlCommandSustainPedal = 64 , controlCommandPortamento = 65 , controlCommandPedalSustenuto = 66 , controlCommandPedalSoft = 67 ,
  controlCommandLegatoFootSwitch = 68 , controlCommandHold2 = 69 , controlCommandSoundVariation = 70 , controlCommandTimbre = 71 ,
  controlCommandReleaseTime = 72 , controlCommandAttackTime = 73 , controlCommandBrightness = 74 , controlCommandReverb = 75 ,
  controlCommandDelay = 76 , controlCommandPitchTranspose = 77 , controlCommandFlange = 78 , controlCommandSpecialFX = 79 ,
  controlCommandGeneralPurpose5 = 80 , controlCommandGeneralPurpose6 = 81 , controlCommandGeneralPurpose7 = 82 , controlCommandGeneralPurpose8 = 83 ,
  controlCommandPortamentoControl = 84 , controlCommandUndefined85 = 85 , controlCommandUndefined86 = 86 , controlCommandUndefined87 = 87 ,
  controlCommandUndefined88 = 88 , controlCommandUndefined89 = 89 , controlCommandUndefined90 = 90 , controlCommandFXDepth = 91 ,
  controlCommandTremeloDepth = 92 , controlCommandChorusDepth = 93 , controlCommandCelestaDepth = 94 , controlCommandPhaserDepth = 95 ,
  controlCommandDataInc = 96 , controlCommandDataDec = 97 , controlCommandNonRegParamLSB = 98 , controlCommandNonRefParamMSB = 99 ,
  controlCommandRegParamLSB = 100 , controlCommandRegParamMSB = 101 , controlCommandUndefined102 = 102 , controlCommandUndefined103 = 103 ,
  controlCommandUndefined104 = 104 , controlCommandUndefined105 = 105 , controlCommandUndefined106 = 106 , controlCommandUndefined107 = 107 ,
  controlCommandUndefined108 = 108 , controlCommandUndefined109 = 109 , controlCommandUndefined110 = 110 , controlCommandUndefined111 = 111 ,
  controlCommandUndefined112 = 112 , controlCommandUndefined113 = 113 , controlCommandUndefined114 = 114 , controlCommandUndefined115 = 115 ,
  controlCommandUndefined116 = 116 , controlCommandUndefined117 = 117 , controlCommandUndefined118 = 118 , controlCommandUndefined119 = 119 ,
  controlCommandAllSoundOff = 120 , controlCommandResetAllControllers = 121 , controlCommandLocalControl = 122 , controlCommandAllNotesOff = 123 ,
  controlCommandOmniModeOff = 124 , controlCommandOmniModeOn = 125 , controlCommandMonoModeOn = 126 , controlCommandPolyModeOn = 127 ,
  controlCommandModWheel = 1 , controlCommandHarmContent = 71 , controlCommandSoundController1 = 70 , controlCommandSoundController2 = 71 ,
  controlCommandSoundController3 = 72 , controlCommandSoundController4 = 73 , controlCommandSoundController5 = 74 , controlCommandSoundController6 = 75 ,
  controlCommandSoundController7 = 76 , controlCommandSoundController8 = 77 , controlCommandSoundController9 = 78 , controlCommandSoundController10 = 79 ,
  controlCommandEffect1Depth = 91 , controlCommandEffect2Depth = 92 , controlCommandEffect3Depth = 93 , controlCommandEffect4Depth = 94 ,
  controlCommandEffect5Depth = 95 , controlCommandDetuneDepth = 94
}
enum  _MidiSystemCommand {
  systemCommandUndefinedF1 = 0xf1 , systemCommandSongPosition = 0xf2 , systemCommandSongSelect = 0xf3 , systemCommandUndefinedF4 = 0xf4 ,
  systemCommandUndefinedF5 = 0xf5 , systemCommandTuneRequest = 0xf6 , systemCommandEOX = 0xf7
}
enum  _MidiRealTime {
  realTimeTimingClock = 0xf8 , realTimeUndefinedF9 = 0xf9 , realTimeStart = 0xfa , realTimeContinue = 0xfb ,
  realTimeStop = 0xfc , realTimeUndefinedFD = 0xfd , realTimeActiveSensing = 0xfe , realTimeSystemReset = 0xff
}
enum  _MidiSystemExclusive { systemExclusiveEOX = 0xf7 }
enum  _MidiNote {
  noteCFlatMaj = 0x87 , noteGFlatMaj = 0x86 , noteDFlatMaj = 0x85 , noteAFlatMaj = 0x84 ,
  noteEFlatMaj = 0x83 , noteBFlatMaj = 0x82 , noteFMaj = 0x81 , noteCMaj = 0x00 ,
  noteGMaj = 0x01 , noteDMaj = 0x02 , noteAMaj = 0x03 , noteEMaj = 0x04 ,
  noteBMaj = 0x05 , noteFSharpMaj = 0x06 , noteCSharpMaj = 0x07 , noteCFlatMin = 0xc7 ,
  noteGFlatMin = 0xc6 , noteDFlatMin = 0xc5 , noteAFlatMin = 0xc4 , noteEFlatMin = 0xc3 ,
  noteBFlatMin = 0xc2 , noteFMin = 0xc1 , noteCMin = 0x40 , noteGMin = 0x41 ,
  noteDMin = 0x42 , noteAMin = 0x43 , noteEMin = 0x44 , noteBMin = 0x45 ,
  noteFSharpMin = 0x46 , noteCSharpMin = 0x47 , noteMaskNeg = 0x80 , noteMaskFlatKeys = 0x80 ,
  noteMaskMin = 0x40 , noteMaskKey = 0x07
}
enum  _MidiMetaInfo {
  metaInfoSequenceNumber = 0 , metaInfoTextEvent = 1 , metaInfoCopyright = 2 , metaInfoTrackName = 3 ,
  metaInfoInstrument = 4 , metaInfoLyric = 5 , metaInfoMarker = 6 , metaInfoCuePoint = 7 ,
  metaInfoMIDIPort = 0x21 , metaInfoEndSequence = 0x2f , metaInfoSetTempo = 0x51 , metaInfoSMPTEOffset = 0x54 ,
  metaInfoTimeSig = 0x58 , metaInfoKeySig = 0x59 , metaInfoSequencerSpecific = 0x7f
}
enum  _MidiTextInfo {
  textInfoTextEvent = 1 , textInfoCopyright = 2 , textInfoTrackName = 3 , textInfoInstrument = 4 ,
  textInfoLyric = 5 , textInfoMarker = 6 , textInfoCuePoint = 7
}

Functions

int muGetInstrumentName (char *pName, int iInstr)
int muGetDrumName (char *pName, int iInstr)
int muGetMIDIMsgName (char *pName, MidiMessage iMsg)
int muGetControlName (char *pName, MidiControlCommand iCC)
int muGetKeySigName (char *pName, MidiNote iKey)
int muGetTextName (char *pName, MidiTextInfo iEvent)
int muGetMetaName (char *pName, MidiMetaInfo iEvent)
int muGetNoteFromName (const char *pName)
char * muGetNameFromNote (char *pStr, int iNote)
float muGetFreqFromNote (int iNote)
int muGetNoteFromFreq (float fFreq)
int muGuessChord (const int *pNoteStatus, const int channel, const int lowRange, const int highRange)
char * muGetChordName (char *str, int chord)
MidiFilemidiFileCreate (const char *pFilename, int bOverwriteIfExists)
int midiFileSetTracksDefaultChannel (MidiFile *pMF, int iTrack, int iChannel)
int midiFileGetTracksDefaultChannel (const MidiFile *pMF, int iTrack)
int midiFileFlushTrack (MidiFile *pMF, int iTrack, int bFlushToEnd, DWORD dwEndTimePos)
int midiFileSyncTracks (MidiFile *pMF, int iTrack1, int iTrack2)
int midiFileSetPPQN (MidiFile *pMF, int PPQN)
int midiFileGetPPQN (const MidiFile *pMF)
int midiFileSetVersion (MidiFile *pMF, int iVersion)
int midiFileGetVersion (const MidiFile *pMF)
MidiFilemidiFileOpen (const char *pFilename)
int midiFileClose (MidiFile *pMF)
int midiSongAddSMPTEOffset (MidiFile *pMF, int iTrack, int iHours, int iMins, int iSecs, int iFrames, int iFFrames)
int midiSongAddSimpleTimeSig (MidiFile *pMF, int iTrack, int iNom, int iDenom)
int midiSongAddTimeSig (MidiFile *pMF, int iTrack, int iNom, int iDenom, int iClockInMetroTick, int iNotated32nds)
int midiSongAddKeySig (MidiFile *pMF, int iTrack, MidiNote iKey)
int midiSongAddTempo (MidiFile *pMF, int iTrack, int iTempo)
int midiSongAddMIDIPort (MidiFile *pMF, int iTrack, int iPort)
int midiSongAddEndSequence (MidiFile *pMF, int iTrack)
int midiTrackAddRaw (MidiFile *pMF, int iTrack, int iDataSize, const BYTE *pData, int bMovePtr, int iDeltaTime)
int midiTrackIncTime (MidiFile *pMF, int iTrack, int iDeltaTime, int bOverridePPQN)
int midiTrackAddText (MidiFile *pMF, int iTrack, MidiTextInfo iType, const char *pTxt)
int midiTrackAddMsg (MidiFile *pMF, int iTrack, MidiMessage iMsg, int iParam1, int iParam2)
int midiTrackSetKeyPressure (MidiFile *pMF, int iTrack, int iNote, int iAftertouch)
int midiTrackAddControlChange (MidiFile *pMF, int iTrack, MidiControlCommand iCCType, int iParam)
int midiTrackAddProgramChange (MidiFile *pMF, int iTrack, int iInstrPatch)
int midiTrackChangeKeyPressure (MidiFile *pMF, int iTrack, int iDeltaPressure)
int midiTrackSetPitchWheel (MidiFile *pMF, int iTrack, int iWheelPos)
int midiTrackAddNote (MidiFile *pMF, int iTrack, int iNote, int iLength, int iVol, int bAutoInc, int bOverrideLength)
int midiTrackAddRest (MidiFile *pMF, int iTrack, int iLength, int bOverridePPQN)
int midiTrackGetEndPos (MidiFile *pMF, int iTrack)
int midiReadGetNumTracks (const MidiFile *pMF)
int midiReadGetNextMessage (const MidiFile *pMF, int iTrack, MidiMessagePayload *pMsg)
void midiReadInitMessage (MidiMessagePayload *pMsg)
void midiReadFreeMessage (MidiMessagePayload *pMsg)

Macro Definition Documentation

◆ CHORD_ADD_7TH

#define CHORD_ADD_7TH   0x01000000

Definition at line 568 of file midi.h.

◆ CHORD_ADD_9TH

#define CHORD_ADD_9TH   0x02000000

Definition at line 569 of file midi.h.

◆ CHORD_ADD_MAJ7TH

#define CHORD_ADD_MAJ7TH   0x04000000

Definition at line 570 of file midi.h.

◆ CHORD_ADDITION_MASK

#define CHORD_ADDITION_MASK   0xff000000

Definition at line 561 of file midi.h.

◆ CHORD_BASS_MASK

#define CHORD_BASS_MASK   0x00ff0000

Definition at line 560 of file midi.h.

◆ CHORD_ROOT_MASK

#define CHORD_ROOT_MASK   0x000000ff

Definition at line 558 of file midi.h.

◆ CHORD_TYPE_AUG

#define CHORD_TYPE_AUG   0x00000300

Definition at line 565 of file midi.h.

◆ CHORD_TYPE_DIM

#define CHORD_TYPE_DIM   0x00000400

Definition at line 566 of file midi.h.

◆ CHORD_TYPE_MAJOR

#define CHORD_TYPE_MAJOR   0x00000100

Definition at line 563 of file midi.h.

◆ CHORD_TYPE_MASK

#define CHORD_TYPE_MASK   0x0000ff00

Definition at line 559 of file midi.h.

◆ CHORD_TYPE_MINOR

#define CHORD_TYPE_MINOR   0x00000200

Definition at line 564 of file midi.h.

◆ FALSE

#define FALSE   0

Definition at line 593 of file midi.h.

◆ MAX_MIDI_TRACKS

#define MAX_MIDI_TRACKS   256

Definition at line 599 of file midi.h.

◆ MAX_TRACK_POLYPHONY

#define MAX_TRACK_POLYPHONY   64

Definition at line 600 of file midi.h.

◆ MIDI_CHANNEL_1

#define MIDI_CHANNEL_1   1

Definition at line 293 of file midi.h.

◆ MIDI_CHANNEL_10

#define MIDI_CHANNEL_10   10

Definition at line 302 of file midi.h.

◆ MIDI_CHANNEL_11

#define MIDI_CHANNEL_11   11

Definition at line 303 of file midi.h.

◆ MIDI_CHANNEL_12

#define MIDI_CHANNEL_12   12

Definition at line 304 of file midi.h.

◆ MIDI_CHANNEL_13

#define MIDI_CHANNEL_13   13

Definition at line 305 of file midi.h.

◆ MIDI_CHANNEL_14

#define MIDI_CHANNEL_14   14

Definition at line 306 of file midi.h.

◆ MIDI_CHANNEL_15

#define MIDI_CHANNEL_15   15

Definition at line 307 of file midi.h.

◆ MIDI_CHANNEL_16

#define MIDI_CHANNEL_16   16

Definition at line 308 of file midi.h.

◆ MIDI_CHANNEL_2

#define MIDI_CHANNEL_2   2

Definition at line 294 of file midi.h.

◆ MIDI_CHANNEL_3

#define MIDI_CHANNEL_3   3

Definition at line 295 of file midi.h.

◆ MIDI_CHANNEL_4

#define MIDI_CHANNEL_4   4

Definition at line 296 of file midi.h.

◆ MIDI_CHANNEL_5

#define MIDI_CHANNEL_5   5

Definition at line 297 of file midi.h.

◆ MIDI_CHANNEL_6

#define MIDI_CHANNEL_6   6

Definition at line 298 of file midi.h.

◆ MIDI_CHANNEL_7

#define MIDI_CHANNEL_7   7

Definition at line 299 of file midi.h.

◆ MIDI_CHANNEL_8

#define MIDI_CHANNEL_8   8

Definition at line 300 of file midi.h.

◆ MIDI_CHANNEL_9

#define MIDI_CHANNEL_9   9

Definition at line 301 of file midi.h.

◆ MIDI_CHANNEL_DRUMS

#define MIDI_CHANNEL_DRUMS   10

Definition at line 310 of file midi.h.

◆ MIDI_DURATION_BREVE

#define MIDI_DURATION_BREVE   1536

Definition at line 362 of file midi.h.

◆ MIDI_DURATION_CROCHET

#define MIDI_DURATION_CROCHET   384

Definition at line 364 of file midi.h.

◆ MIDI_DURATION_DOTTED_CROCHET

#define MIDI_DURATION_DOTTED_CROCHET   (384+192)

Definition at line 370 of file midi.h.

◆ MIDI_DURATION_DOTTED_MINIM

#define MIDI_DURATION_DOTTED_MINIM   (768+384)

Definition at line 369 of file midi.h.

◆ MIDI_DURATION_DOTTED_QUAVER

#define MIDI_DURATION_DOTTED_QUAVER   (192+96)

Definition at line 371 of file midi.h.

◆ MIDI_DURATION_DOTTED_SEMIDEMIQUAVER

#define MIDI_DURATION_DOTTED_SEMIDEMIQUAVER   (48+24)

Definition at line 373 of file midi.h.

◆ MIDI_DURATION_DOTTED_SEMIQUAVER

#define MIDI_DURATION_DOTTED_SEMIQUAVER   (96+48)

Definition at line 372 of file midi.h.

◆ MIDI_DURATION_MINIM

#define MIDI_DURATION_MINIM   768

Definition at line 363 of file midi.h.

◆ MIDI_DURATION_QUAVER

#define MIDI_DURATION_QUAVER   192

Definition at line 365 of file midi.h.

◆ MIDI_DURATION_SEMIDEMIQUAVER

#define MIDI_DURATION_SEMIDEMIQUAVER   48

Definition at line 367 of file midi.h.

◆ MIDI_DURATION_SEMIQUAVER

#define MIDI_DURATION_SEMIQUAVER   96

Definition at line 366 of file midi.h.

◆ MIDI_DURATION_TRIPLE_CROCHET

#define MIDI_DURATION_TRIPLE_CROCHET   256

Definition at line 375 of file midi.h.

◆ MIDI_INSTRUMENT_ACCORDION

#define MIDI_INSTRUMENT_ACCORDION   21

Definition at line 402 of file midi.h.

◆ MIDI_INSTRUMENT_ACOUSTIC_BASS

#define MIDI_INSTRUMENT_ACOUSTIC_BASS   32

Definition at line 413 of file midi.h.

◆ MIDI_INSTRUMENT_ACOUSTIC_GRAND_PIANO

#define MIDI_INSTRUMENT_ACOUSTIC_GRAND_PIANO   0

Definition at line 381 of file midi.h.

◆ MIDI_INSTRUMENT_ACOUSTIC_GUITAR_NYLON

#define MIDI_INSTRUMENT_ACOUSTIC_GUITAR_NYLON   24

Definition at line 405 of file midi.h.

◆ MIDI_INSTRUMENT_ACOUSTIC_GUITAR_STEEL

#define MIDI_INSTRUMENT_ACOUSTIC_GUITAR_STEEL   25

Definition at line 406 of file midi.h.

◆ MIDI_INSTRUMENT_AGOGO

#define MIDI_INSTRUMENT_AGOGO   113

Definition at line 494 of file midi.h.

◆ MIDI_INSTRUMENT_ALTO_SAX

#define MIDI_INSTRUMENT_ALTO_SAX   65

Definition at line 446 of file midi.h.

◆ MIDI_INSTRUMENT_APPLAUSE

#define MIDI_INSTRUMENT_APPLAUSE   126

Definition at line 507 of file midi.h.

◆ MIDI_INSTRUMENT_BAG_PIPE

#define MIDI_INSTRUMENT_BAG_PIPE   109

Definition at line 490 of file midi.h.

◆ MIDI_INSTRUMENT_BANJO

#define MIDI_INSTRUMENT_BANJO   105

Definition at line 486 of file midi.h.

◆ MIDI_INSTRUMENT_BARITONE_SAX

#define MIDI_INSTRUMENT_BARITONE_SAX   67

Definition at line 448 of file midi.h.

◆ MIDI_INSTRUMENT_BASSOON

#define MIDI_INSTRUMENT_BASSOON   70

Definition at line 451 of file midi.h.

◆ MIDI_INSTRUMENT_BIRD_TWEET

#define MIDI_INSTRUMENT_BIRD_TWEET   123

Definition at line 504 of file midi.h.

◆ MIDI_INSTRUMENT_BLOWN_BOTTLE

#define MIDI_INSTRUMENT_BLOWN_BOTTLE   76

Definition at line 457 of file midi.h.

◆ MIDI_INSTRUMENT_BRASS_SECTION

#define MIDI_INSTRUMENT_BRASS_SECTION   61

Definition at line 442 of file midi.h.

◆ MIDI_INSTRUMENT_BREATH_NOISE

#define MIDI_INSTRUMENT_BREATH_NOISE   121

Definition at line 502 of file midi.h.

◆ MIDI_INSTRUMENT_BRIGHT_ACOUSTIC_PIANO

#define MIDI_INSTRUMENT_BRIGHT_ACOUSTIC_PIANO   1

Definition at line 382 of file midi.h.

◆ MIDI_INSTRUMENT_CELESTA

#define MIDI_INSTRUMENT_CELESTA   8

Definition at line 389 of file midi.h.

◆ MIDI_INSTRUMENT_CELLO

#define MIDI_INSTRUMENT_CELLO   42

Definition at line 423 of file midi.h.

◆ MIDI_INSTRUMENT_CHOIR_AAHS

#define MIDI_INSTRUMENT_CHOIR_AAHS   52

Definition at line 433 of file midi.h.

◆ MIDI_INSTRUMENT_CHURCH_ORGAN

#define MIDI_INSTRUMENT_CHURCH_ORGAN   19

Definition at line 400 of file midi.h.

◆ MIDI_INSTRUMENT_CLARINET

#define MIDI_INSTRUMENT_CLARINET   71

Definition at line 452 of file midi.h.

◆ MIDI_INSTRUMENT_CLAVI

#define MIDI_INSTRUMENT_CLAVI   7

Definition at line 388 of file midi.h.

◆ MIDI_INSTRUMENT_CONTRABASS

#define MIDI_INSTRUMENT_CONTRABASS   43

Definition at line 424 of file midi.h.

◆ MIDI_INSTRUMENT_DISTORTION_GUITAR

#define MIDI_INSTRUMENT_DISTORTION_GUITAR   30

Definition at line 411 of file midi.h.

◆ MIDI_INSTRUMENT_DRAWBAR_ORGAN

#define MIDI_INSTRUMENT_DRAWBAR_ORGAN   16

Definition at line 397 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_ACOUSTIC_BASS_DRUM

#define MIDI_INSTRUMENT_DRUM_ACOUSTIC_BASS_DRUM   35

Definition at line 510 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_ACOUSTIC_SNARE

#define MIDI_INSTRUMENT_DRUM_ACOUSTIC_SNARE   38

Definition at line 513 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_BASS_DRUM

#define MIDI_INSTRUMENT_DRUM_BASS_DRUM   36

Definition at line 511 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_CABASA

#define MIDI_INSTRUMENT_DRUM_CABASA   69

Definition at line 544 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_CHINESE_CYMBAL

#define MIDI_INSTRUMENT_DRUM_CHINESE_CYMBAL   52

Definition at line 527 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_CLAVES

#define MIDI_INSTRUMENT_DRUM_CLAVES   75

Definition at line 550 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_CLOSED_HI_HAT

#define MIDI_INSTRUMENT_DRUM_CLOSED_HI_HAT   42

Definition at line 517 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_COWBELL

#define MIDI_INSTRUMENT_DRUM_COWBELL   56

Definition at line 531 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_CRASH_CYMBAL_1

#define MIDI_INSTRUMENT_DRUM_CRASH_CYMBAL_1   49

Definition at line 524 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_CRASH_CYMBAL_2

#define MIDI_INSTRUMENT_DRUM_CRASH_CYMBAL_2   57

Definition at line 532 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_ELECTRIC_SNARE

#define MIDI_INSTRUMENT_DRUM_ELECTRIC_SNARE   40

Definition at line 515 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HAND_CLAP

#define MIDI_INSTRUMENT_DRUM_HAND_CLAP   39

Definition at line 514 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HI_BONGO

#define MIDI_INSTRUMENT_DRUM_HI_BONGO   60

Definition at line 535 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HI_MID_TOM

#define MIDI_INSTRUMENT_DRUM_HI_MID_TOM   48

Definition at line 523 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HI_WOOD_BLOCK

#define MIDI_INSTRUMENT_DRUM_HI_WOOD_BLOCK   76

Definition at line 551 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HIGH_AGOGO

#define MIDI_INSTRUMENT_DRUM_HIGH_AGOGO   67

Definition at line 542 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HIGH_FLOOR_TOM

#define MIDI_INSTRUMENT_DRUM_HIGH_FLOOR_TOM   43

Definition at line 518 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HIGH_TIMBALE

#define MIDI_INSTRUMENT_DRUM_HIGH_TIMBALE   65

Definition at line 540 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_HIGH_TOM

#define MIDI_INSTRUMENT_DRUM_HIGH_TOM   50

Definition at line 525 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LONG_GUIRO

#define MIDI_INSTRUMENT_DRUM_LONG_GUIRO   74

Definition at line 549 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LONG_WHISTLE

#define MIDI_INSTRUMENT_DRUM_LONG_WHISTLE   72

Definition at line 547 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_AGOGO

#define MIDI_INSTRUMENT_DRUM_LOW_AGOGO   68

Definition at line 543 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_BONGO

#define MIDI_INSTRUMENT_DRUM_LOW_BONGO   61

Definition at line 536 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_CONGA

#define MIDI_INSTRUMENT_DRUM_LOW_CONGA   64

Definition at line 539 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_FLOOR_TOM

#define MIDI_INSTRUMENT_DRUM_LOW_FLOOR_TOM   41

Definition at line 516 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_MID_TOM

#define MIDI_INSTRUMENT_DRUM_LOW_MID_TOM   47

Definition at line 522 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_TIMBALE

#define MIDI_INSTRUMENT_DRUM_LOW_TIMBALE   66

Definition at line 541 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_TOM

#define MIDI_INSTRUMENT_DRUM_LOW_TOM   45

Definition at line 520 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_LOW_WOOD_BLOCK

#define MIDI_INSTRUMENT_DRUM_LOW_WOOD_BLOCK   77

Definition at line 552 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_MARACAS

#define MIDI_INSTRUMENT_DRUM_MARACAS   70

Definition at line 545 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_MUTE_CUICA

#define MIDI_INSTRUMENT_DRUM_MUTE_CUICA   78

Definition at line 553 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_MUTE_HI_CONGA

#define MIDI_INSTRUMENT_DRUM_MUTE_HI_CONGA   62

Definition at line 537 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_MUTE_TRIANGLE

#define MIDI_INSTRUMENT_DRUM_MUTE_TRIANGLE   80

Definition at line 555 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_OPEN_CUICA

#define MIDI_INSTRUMENT_DRUM_OPEN_CUICA   79

Definition at line 554 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_OPEN_HI_CONGA

#define MIDI_INSTRUMENT_DRUM_OPEN_HI_CONGA   63

Definition at line 538 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_OPEN_HI_HAT

#define MIDI_INSTRUMENT_DRUM_OPEN_HI_HAT   46

Definition at line 521 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_OPEN_TRIANGLE

#define MIDI_INSTRUMENT_DRUM_OPEN_TRIANGLE   81

Definition at line 556 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_PEDAL_HI_HAT

#define MIDI_INSTRUMENT_DRUM_PEDAL_HI_HAT   44

Definition at line 519 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_RIDE_BELL

#define MIDI_INSTRUMENT_DRUM_RIDE_BELL   53

Definition at line 528 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_RIDE_CYMBAL_1

#define MIDI_INSTRUMENT_DRUM_RIDE_CYMBAL_1   51

Definition at line 526 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_RIDE_CYMBAL_2

#define MIDI_INSTRUMENT_DRUM_RIDE_CYMBAL_2   59

Definition at line 534 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_SHORT_GUIRO

#define MIDI_INSTRUMENT_DRUM_SHORT_GUIRO   73

Definition at line 548 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_SHORT_WHISTLE

#define MIDI_INSTRUMENT_DRUM_SHORT_WHISTLE   71

Definition at line 546 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_SIDE_STICK

#define MIDI_INSTRUMENT_DRUM_SIDE_STICK   37

Definition at line 512 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_SPLASH_CYMBAL

#define MIDI_INSTRUMENT_DRUM_SPLASH_CYMBAL   55

Definition at line 530 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_TAMBOURINE

#define MIDI_INSTRUMENT_DRUM_TAMBOURINE   54

Definition at line 529 of file midi.h.

◆ MIDI_INSTRUMENT_DRUM_VIBRA_SLAP

#define MIDI_INSTRUMENT_DRUM_VIBRA_SLAP   58

Definition at line 533 of file midi.h.

◆ MIDI_INSTRUMENT_DULCIMER

#define MIDI_INSTRUMENT_DULCIMER   15

Definition at line 396 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_BASS_FINGER

#define MIDI_INSTRUMENT_ELECTRIC_BASS_FINGER   33

Definition at line 414 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_BASS_PICK

#define MIDI_INSTRUMENT_ELECTRIC_BASS_PICK   34

Definition at line 415 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_GRAND_PIANO

#define MIDI_INSTRUMENT_ELECTRIC_GRAND_PIANO   2

Definition at line 383 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_GUITAR_CLEAN

#define MIDI_INSTRUMENT_ELECTRIC_GUITAR_CLEAN   27

Definition at line 408 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_GUITAR_JAZZ

#define MIDI_INSTRUMENT_ELECTRIC_GUITAR_JAZZ   26

Definition at line 407 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_GUITAR_MUTED

#define MIDI_INSTRUMENT_ELECTRIC_GUITAR_MUTED   28

Definition at line 409 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_PIANO_1

#define MIDI_INSTRUMENT_ELECTRIC_PIANO_1   4

Definition at line 385 of file midi.h.

◆ MIDI_INSTRUMENT_ELECTRIC_PIANO_2

#define MIDI_INSTRUMENT_ELECTRIC_PIANO_2   5

Definition at line 386 of file midi.h.

◆ MIDI_INSTRUMENT_ENGLISH_HORN

#define MIDI_INSTRUMENT_ENGLISH_HORN   69

Definition at line 450 of file midi.h.

◆ MIDI_INSTRUMENT_FIDDLE

#define MIDI_INSTRUMENT_FIDDLE   110

Definition at line 491 of file midi.h.

◆ MIDI_INSTRUMENT_FLUTE

#define MIDI_INSTRUMENT_FLUTE   73

Definition at line 454 of file midi.h.

◆ MIDI_INSTRUMENT_FRENCH_HORN

#define MIDI_INSTRUMENT_FRENCH_HORN   60

Definition at line 441 of file midi.h.

◆ MIDI_INSTRUMENT_FRETLESS_BASS

#define MIDI_INSTRUMENT_FRETLESS_BASS   35

Definition at line 416 of file midi.h.

◆ MIDI_INSTRUMENT_FX_1_RAIN

#define MIDI_INSTRUMENT_FX_1_RAIN   96

Definition at line 477 of file midi.h.

◆ MIDI_INSTRUMENT_FX_2_SOUNDTRACK

#define MIDI_INSTRUMENT_FX_2_SOUNDTRACK   97

Definition at line 478 of file midi.h.

◆ MIDI_INSTRUMENT_FX_3_CRYSTAL

#define MIDI_INSTRUMENT_FX_3_CRYSTAL   98

Definition at line 479 of file midi.h.

◆ MIDI_INSTRUMENT_FX_4_ATMOSPHERE

#define MIDI_INSTRUMENT_FX_4_ATMOSPHERE   99

Definition at line 480 of file midi.h.

◆ MIDI_INSTRUMENT_FX_5_BRIGHTNESS

#define MIDI_INSTRUMENT_FX_5_BRIGHTNESS   100

Definition at line 481 of file midi.h.

◆ MIDI_INSTRUMENT_FX_6_GOBLINS

#define MIDI_INSTRUMENT_FX_6_GOBLINS   101

Definition at line 482 of file midi.h.

◆ MIDI_INSTRUMENT_FX_7_ECHOES

#define MIDI_INSTRUMENT_FX_7_ECHOES   102

Definition at line 483 of file midi.h.

◆ MIDI_INSTRUMENT_FX_8_SCIFI

#define MIDI_INSTRUMENT_FX_8_SCIFI   103

Definition at line 484 of file midi.h.

◆ MIDI_INSTRUMENT_GLOCKENSPIEL

#define MIDI_INSTRUMENT_GLOCKENSPIEL   9

Definition at line 390 of file midi.h.

◆ MIDI_INSTRUMENT_GUITAR_FRET

#define MIDI_INSTRUMENT_GUITAR_FRET   NOISE 120

Definition at line 501 of file midi.h.

◆ MIDI_INSTRUMENT_GUITAR_HARMONICS

#define MIDI_INSTRUMENT_GUITAR_HARMONICS   31

Definition at line 412 of file midi.h.

◆ MIDI_INSTRUMENT_GUNSHOT

#define MIDI_INSTRUMENT_GUNSHOT   127

Definition at line 508 of file midi.h.

◆ MIDI_INSTRUMENT_HARMONICA

#define MIDI_INSTRUMENT_HARMONICA   22

Definition at line 403 of file midi.h.

◆ MIDI_INSTRUMENT_HARPSICHORD

#define MIDI_INSTRUMENT_HARPSICHORD   6

Definition at line 387 of file midi.h.

◆ MIDI_INSTRUMENT_HELICOPTER

#define MIDI_INSTRUMENT_HELICOPTER   125

Definition at line 506 of file midi.h.

◆ MIDI_INSTRUMENT_HONKY_TONK_PIANO

#define MIDI_INSTRUMENT_HONKY_TONK_PIANO   3

Definition at line 384 of file midi.h.

◆ MIDI_INSTRUMENT_KALIMBA

#define MIDI_INSTRUMENT_KALIMBA   108

Definition at line 489 of file midi.h.

◆ MIDI_INSTRUMENT_KOTO

#define MIDI_INSTRUMENT_KOTO   107

Definition at line 488 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_1_SQUARE

#define MIDI_INSTRUMENT_LEAD_1_SQUARE   80

Definition at line 461 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_2_SAWTOOTH

#define MIDI_INSTRUMENT_LEAD_2_SAWTOOTH   81

Definition at line 462 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_3_CALLIOPE

#define MIDI_INSTRUMENT_LEAD_3_CALLIOPE   82

Definition at line 463 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_4_CHIFF

#define MIDI_INSTRUMENT_LEAD_4_CHIFF   83

Definition at line 464 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_5_CHARANG

#define MIDI_INSTRUMENT_LEAD_5_CHARANG   84

Definition at line 465 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_6_VOICE

#define MIDI_INSTRUMENT_LEAD_6_VOICE   85

Definition at line 466 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_7_FIFTHS

#define MIDI_INSTRUMENT_LEAD_7_FIFTHS   86

Definition at line 467 of file midi.h.

◆ MIDI_INSTRUMENT_LEAD_8_BASS_AND_LEAD

#define MIDI_INSTRUMENT_LEAD_8_BASS_AND_LEAD   87

Definition at line 468 of file midi.h.

◆ MIDI_INSTRUMENT_MARIMBA

#define MIDI_INSTRUMENT_MARIMBA   12

Definition at line 393 of file midi.h.

◆ MIDI_INSTRUMENT_MELODIC_TOM

#define MIDI_INSTRUMENT_MELODIC_TOM   117

Definition at line 498 of file midi.h.

◆ MIDI_INSTRUMENT_MUSIC_BOX

#define MIDI_INSTRUMENT_MUSIC_BOX   10

Definition at line 391 of file midi.h.

◆ MIDI_INSTRUMENT_MUTED_TRUMPET

#define MIDI_INSTRUMENT_MUTED_TRUMPET   59

Definition at line 440 of file midi.h.

◆ MIDI_INSTRUMENT_OBOE

#define MIDI_INSTRUMENT_OBOE   68

Definition at line 449 of file midi.h.

◆ MIDI_INSTRUMENT_OCARINA

#define MIDI_INSTRUMENT_OCARINA   79

Definition at line 460 of file midi.h.

◆ MIDI_INSTRUMENT_ORCHESTRA_HIT

#define MIDI_INSTRUMENT_ORCHESTRA_HIT   55

Definition at line 436 of file midi.h.

◆ MIDI_INSTRUMENT_ORCHESTRAL_HARP

#define MIDI_INSTRUMENT_ORCHESTRAL_HARP   46

Definition at line 427 of file midi.h.

◆ MIDI_INSTRUMENT_OVERDRIVEN_GUITAR

#define MIDI_INSTRUMENT_OVERDRIVEN_GUITAR   29

Definition at line 410 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_1_NEW_AGE

#define MIDI_INSTRUMENT_PAD_1_NEW_AGE   88

Definition at line 469 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_2_WARM

#define MIDI_INSTRUMENT_PAD_2_WARM   89

Definition at line 470 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_3_POLYSYNTH

#define MIDI_INSTRUMENT_PAD_3_POLYSYNTH   90

Definition at line 471 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_4_CHOIR

#define MIDI_INSTRUMENT_PAD_4_CHOIR   91

Definition at line 472 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_5_BOWED

#define MIDI_INSTRUMENT_PAD_5_BOWED   92

Definition at line 473 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_6_METALLIC

#define MIDI_INSTRUMENT_PAD_6_METALLIC   93

Definition at line 474 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_7_HALO

#define MIDI_INSTRUMENT_PAD_7_HALO   94

Definition at line 475 of file midi.h.

◆ MIDI_INSTRUMENT_PAD_8_SWEEP

#define MIDI_INSTRUMENT_PAD_8_SWEEP   95

Definition at line 476 of file midi.h.

◆ MIDI_INSTRUMENT_PAN_FLUTE

#define MIDI_INSTRUMENT_PAN_FLUTE   75

Definition at line 456 of file midi.h.

◆ MIDI_INSTRUMENT_PERCUSSIVE_ORGAN

#define MIDI_INSTRUMENT_PERCUSSIVE_ORGAN   17

Definition at line 398 of file midi.h.

◆ MIDI_INSTRUMENT_PICCOLO

#define MIDI_INSTRUMENT_PICCOLO   72

Definition at line 453 of file midi.h.

◆ MIDI_INSTRUMENT_PIZZICATO_STRINGS

#define MIDI_INSTRUMENT_PIZZICATO_STRINGS   45

Definition at line 426 of file midi.h.

◆ MIDI_INSTRUMENT_RECORDER

#define MIDI_INSTRUMENT_RECORDER   74

Definition at line 455 of file midi.h.

◆ MIDI_INSTRUMENT_REED_ORGAN

#define MIDI_INSTRUMENT_REED_ORGAN   20

Definition at line 401 of file midi.h.

◆ MIDI_INSTRUMENT_REVERSE_CYMBAL

#define MIDI_INSTRUMENT_REVERSE_CYMBAL   119

Definition at line 500 of file midi.h.

◆ MIDI_INSTRUMENT_ROCK_ORGAN

#define MIDI_INSTRUMENT_ROCK_ORGAN   18

Definition at line 399 of file midi.h.

◆ MIDI_INSTRUMENT_SEASHORE

#define MIDI_INSTRUMENT_SEASHORE   122

Definition at line 503 of file midi.h.

◆ MIDI_INSTRUMENT_SHAKUHACHI

#define MIDI_INSTRUMENT_SHAKUHACHI   77

Definition at line 458 of file midi.h.

◆ MIDI_INSTRUMENT_SHAMISEN

#define MIDI_INSTRUMENT_SHAMISEN   106

Definition at line 487 of file midi.h.

◆ MIDI_INSTRUMENT_SHANAI

#define MIDI_INSTRUMENT_SHANAI   111

Definition at line 492 of file midi.h.

◆ MIDI_INSTRUMENT_SITAR

#define MIDI_INSTRUMENT_SITAR   104

Definition at line 485 of file midi.h.

◆ MIDI_INSTRUMENT_SLAP_BASS_1

#define MIDI_INSTRUMENT_SLAP_BASS_1   36

Definition at line 417 of file midi.h.

◆ MIDI_INSTRUMENT_SLAP_BASS_2

#define MIDI_INSTRUMENT_SLAP_BASS_2   37

Definition at line 418 of file midi.h.

◆ MIDI_INSTRUMENT_SOPRANO_SAX

#define MIDI_INSTRUMENT_SOPRANO_SAX   64

Definition at line 445 of file midi.h.

◆ MIDI_INSTRUMENT_STEEL_DRUMS

#define MIDI_INSTRUMENT_STEEL_DRUMS   114

Definition at line 495 of file midi.h.

◆ MIDI_INSTRUMENT_STRING_ENSEMBLE_1

#define MIDI_INSTRUMENT_STRING_ENSEMBLE_1   48

Definition at line 429 of file midi.h.

◆ MIDI_INSTRUMENT_STRING_ENSEMBLE_2

#define MIDI_INSTRUMENT_STRING_ENSEMBLE_2   49

Definition at line 430 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTH_BASS_1

#define MIDI_INSTRUMENT_SYNTH_BASS_1   38

Definition at line 419 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTH_BASS_2

#define MIDI_INSTRUMENT_SYNTH_BASS_2   39

Definition at line 420 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTH_DRUM

#define MIDI_INSTRUMENT_SYNTH_DRUM   118

Definition at line 499 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTH_VOICE

#define MIDI_INSTRUMENT_SYNTH_VOICE   54

Definition at line 435 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTHBRASS_1

#define MIDI_INSTRUMENT_SYNTHBRASS_1   62

Definition at line 443 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTHBRASS_2

#define MIDI_INSTRUMENT_SYNTHBRASS_2   63

Definition at line 444 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTHSTRINGS_1

#define MIDI_INSTRUMENT_SYNTHSTRINGS_1   50

Definition at line 431 of file midi.h.

◆ MIDI_INSTRUMENT_SYNTHSTRINGS_2

#define MIDI_INSTRUMENT_SYNTHSTRINGS_2   51

Definition at line 432 of file midi.h.

◆ MIDI_INSTRUMENT_TAIKO_DRUM

#define MIDI_INSTRUMENT_TAIKO_DRUM   116

Definition at line 497 of file midi.h.

◆ MIDI_INSTRUMENT_TANGO_ACCORDION

#define MIDI_INSTRUMENT_TANGO_ACCORDION   23

Definition at line 404 of file midi.h.

◆ MIDI_INSTRUMENT_TELEPHONE_RING

#define MIDI_INSTRUMENT_TELEPHONE_RING   124

Definition at line 505 of file midi.h.

◆ MIDI_INSTRUMENT_TENOR_SAX

#define MIDI_INSTRUMENT_TENOR_SAX   66

Definition at line 447 of file midi.h.

◆ MIDI_INSTRUMENT_TIMPANI

#define MIDI_INSTRUMENT_TIMPANI   47

Definition at line 428 of file midi.h.

◆ MIDI_INSTRUMENT_TINKLE_BELL

#define MIDI_INSTRUMENT_TINKLE_BELL   112

Definition at line 493 of file midi.h.

◆ MIDI_INSTRUMENT_TREMOLO_STRINGS

#define MIDI_INSTRUMENT_TREMOLO_STRINGS   44

Definition at line 425 of file midi.h.

◆ MIDI_INSTRUMENT_TROMBONE

#define MIDI_INSTRUMENT_TROMBONE   57

Definition at line 438 of file midi.h.

◆ MIDI_INSTRUMENT_TRUMPET

#define MIDI_INSTRUMENT_TRUMPET   56

Definition at line 437 of file midi.h.

◆ MIDI_INSTRUMENT_TUBA

#define MIDI_INSTRUMENT_TUBA   58

Definition at line 439 of file midi.h.

◆ MIDI_INSTRUMENT_TUBULAR_BELLS

#define MIDI_INSTRUMENT_TUBULAR_BELLS   14

Definition at line 395 of file midi.h.

◆ MIDI_INSTRUMENT_VIBRAPHONE

#define MIDI_INSTRUMENT_VIBRAPHONE   11

Definition at line 392 of file midi.h.

◆ MIDI_INSTRUMENT_VIOLA

#define MIDI_INSTRUMENT_VIOLA   41

Definition at line 422 of file midi.h.

◆ MIDI_INSTRUMENT_VIOLIN

#define MIDI_INSTRUMENT_VIOLIN   40

Definition at line 421 of file midi.h.

◆ MIDI_INSTRUMENT_VOICE_OOHS

#define MIDI_INSTRUMENT_VOICE_OOHS   53

Definition at line 434 of file midi.h.

◆ MIDI_INSTRUMENT_WHISTLE

#define MIDI_INSTRUMENT_WHISTLE   78

Definition at line 459 of file midi.h.

◆ MIDI_INSTRUMENT_WOODBLOCK

#define MIDI_INSTRUMENT_WOODBLOCK   115

Definition at line 496 of file midi.h.

◆ MIDI_INSTRUMENT_XYLOPHONE

#define MIDI_INSTRUMENT_XYLOPHONE   13

Definition at line 394 of file midi.h.

◆ MIDI_NOTE_A

#define MIDI_NOTE_A   9

Definition at line 331 of file midi.h.

◆ MIDI_NOTE_A_FLAT

#define MIDI_NOTE_A_FLAT   8

Definition at line 333 of file midi.h.

◆ MIDI_NOTE_A_SHARP

#define MIDI_NOTE_A_SHARP   10

Definition at line 332 of file midi.h.

◆ MIDI_NOTE_B

#define MIDI_NOTE_B   11

Definition at line 334 of file midi.h.

◆ MIDI_NOTE_B_FLAT

#define MIDI_NOTE_B_FLAT   10

Definition at line 336 of file midi.h.

◆ MIDI_NOTE_B_SHARP

#define MIDI_NOTE_B_SHARP   12

Definition at line 335 of file midi.h.

◆ MIDI_NOTE_C

#define MIDI_NOTE_C   0

Definition at line 316 of file midi.h.

◆ MIDI_NOTE_C0

#define MIDI_NOTE_C0   0

Definition at line 338 of file midi.h.

◆ MIDI_NOTE_C1

#define MIDI_NOTE_C1   12

Definition at line 339 of file midi.h.

◆ MIDI_NOTE_C10

#define MIDI_NOTE_C10   120

Definition at line 348 of file midi.h.

◆ MIDI_NOTE_C2

#define MIDI_NOTE_C2   24

Definition at line 340 of file midi.h.

◆ MIDI_NOTE_C3

#define MIDI_NOTE_C3   36

Definition at line 341 of file midi.h.

◆ MIDI_NOTE_C4

#define MIDI_NOTE_C4   48

Definition at line 342 of file midi.h.

◆ MIDI_NOTE_C5

#define MIDI_NOTE_C5   60

Definition at line 343 of file midi.h.

◆ MIDI_NOTE_C6

#define MIDI_NOTE_C6   72

Definition at line 344 of file midi.h.

◆ MIDI_NOTE_C7

#define MIDI_NOTE_C7   84

Definition at line 345 of file midi.h.

◆ MIDI_NOTE_C8

#define MIDI_NOTE_C8   96

Definition at line 346 of file midi.h.

◆ MIDI_NOTE_C9

#define MIDI_NOTE_C9   108

Definition at line 347 of file midi.h.

◆ MIDI_NOTE_C_FLAT

#define MIDI_NOTE_C_FLAT   -11

Definition at line 318 of file midi.h.

◆ MIDI_NOTE_C_SHARP

#define MIDI_NOTE_C_SHARP   1

Definition at line 317 of file midi.h.

◆ MIDI_NOTE_D

#define MIDI_NOTE_D   2

Definition at line 319 of file midi.h.

◆ MIDI_NOTE_D_FLAT

#define MIDI_NOTE_D_FLAT   1

Definition at line 321 of file midi.h.

◆ MIDI_NOTE_D_SHARP

#define MIDI_NOTE_D_SHARP   3

Definition at line 320 of file midi.h.

◆ MIDI_NOTE_E

#define MIDI_NOTE_E   4

Definition at line 322 of file midi.h.

◆ MIDI_NOTE_E_FLAT

#define MIDI_NOTE_E_FLAT   3

Definition at line 324 of file midi.h.

◆ MIDI_NOTE_E_SHARP

#define MIDI_NOTE_E_SHARP   5

Definition at line 323 of file midi.h.

◆ MIDI_NOTE_F

#define MIDI_NOTE_F   5

Definition at line 325 of file midi.h.

◆ MIDI_NOTE_F_FLAT

#define MIDI_NOTE_F_FLAT   5

Definition at line 327 of file midi.h.

◆ MIDI_NOTE_F_SHARP

#define MIDI_NOTE_F_SHARP   6

Definition at line 326 of file midi.h.

◆ MIDI_NOTE_G

#define MIDI_NOTE_G   7

Definition at line 328 of file midi.h.

◆ MIDI_NOTE_G_FLAT

#define MIDI_NOTE_G_FLAT   6

Definition at line 330 of file midi.h.

◆ MIDI_NOTE_G_SHARP

#define MIDI_NOTE_G_SHARP   8

Definition at line 329 of file midi.h.

◆ MIDI_NOTE_MIDDLE_C

#define MIDI_NOTE_MIDDLE_C   MIDI_NOTE_C5

Definition at line 314 of file midi.h.

◆ MIDI_OCTAVE

#define MIDI_OCTAVE   12

Definition at line 312 of file midi.h.

◆ MIDI_OCTAVE_0

#define MIDI_OCTAVE_0   MIDI_NOTE_C0

Definition at line 350 of file midi.h.

◆ MIDI_OCTAVE_1

#define MIDI_OCTAVE_1   MIDI_NOTE_C1

Definition at line 351 of file midi.h.

◆ MIDI_OCTAVE_10

#define MIDI_OCTAVE_10   MIDI_NOTE_C10

Definition at line 360 of file midi.h.

◆ MIDI_OCTAVE_2

#define MIDI_OCTAVE_2   MIDI_NOTE_C2

Definition at line 352 of file midi.h.

◆ MIDI_OCTAVE_3

#define MIDI_OCTAVE_3   MIDI_NOTE_C3

Definition at line 353 of file midi.h.

◆ MIDI_OCTAVE_4

#define MIDI_OCTAVE_4   MIDI_NOTE_C4

Definition at line 354 of file midi.h.

◆ MIDI_OCTAVE_5

#define MIDI_OCTAVE_5   MIDI_NOTE_C5

Definition at line 355 of file midi.h.

◆ MIDI_OCTAVE_6

#define MIDI_OCTAVE_6   MIDI_NOTE_C6

Definition at line 356 of file midi.h.

◆ MIDI_OCTAVE_7

#define MIDI_OCTAVE_7   MIDI_NOTE_C7

Definition at line 357 of file midi.h.

◆ MIDI_OCTAVE_8

#define MIDI_OCTAVE_8   MIDI_NOTE_C8

Definition at line 358 of file midi.h.

◆ MIDI_OCTAVE_9

#define MIDI_OCTAVE_9   MIDI_NOTE_C9

Definition at line 359 of file midi.h.

◆ MIDI_PPQN_DEFAULT

#define MIDI_PPQN_DEFAULT   384

Definition at line 596 of file midi.h.

◆ MIDI_VERSION_DEFAULT

#define MIDI_VERSION_DEFAULT   1

Definition at line 597 of file midi.h.

◆ MIDI_VOL_FULL

#define MIDI_VOL_FULL   127

Definition at line 377 of file midi.h.

◆ MIDI_VOL_HALF

#define MIDI_VOL_HALF   64

Definition at line 378 of file midi.h.

◆ MIDI_VOL_OFF

#define MIDI_VOL_OFF   0

Definition at line 379 of file midi.h.

◆ MIDI_WHEEL_CENTRE

#define MIDI_WHEEL_CENTRE   8192

Definition at line 291 of file midi.h.

◆ TRUE

#define TRUE   1

Definition at line 590 of file midi.h.

Typedef Documentation

◆ BYTE

typedef unsigned char BYTE

Definition at line 586 of file midi.h.

◆ DWORD

typedef uint32_t DWORD

Definition at line 588 of file midi.h.

◆ MidiControlCommand

◆ MidiFile

typedef void MidiFile

Definition at line 602 of file midi.h.

◆ MidiMessage

typedef enum _MidiMessage MidiMessage

◆ MidiMessagePayload

◆ MidiMetaInfo

◆ MidiNote

typedef enum _MidiNote MidiNote

◆ MidiRealTime

◆ MidiSystemCommand

◆ MidiSystemExclusive

◆ MidiTextInfo

◆ WORD

typedef uint16_t WORD

Definition at line 587 of file midi.h.

Enumeration Type Documentation

◆ _ControlCommand

Enumerator
controlCommandBankSelect 
controlCommandModulation 
controlCommandBreathControl 
controlCommandUndefined3 
controlCommandFootControl 
controlCommandPortamentoTime 
controlCommandDateEntry 
controlCommandVolume 
controlCommandBalance 
controlCommandUndefined9 
controlCommandPan 
controlCommandExpression 
controlCommandEffectControl1 
controlCommandEffectControl2 
controlCommandUndefined14 
controlCommandUndefined15 
controlCommandGeneralPurpose1 
controlCommandGeneralPurpose2 
controlCommandGeneralPurpose3 
controlCommandGeneralPurpose4 
controlCommandUndefined20 
controlCommandUndefined21 
controlCommandUndefined22 
controlCommandUndefined23 
controlCommandUndefined24 
controlCommandUndefined25 
controlCommandUndefined26 
controlCommandUndefined27 
controlCommandUndefined28 
controlCommandUndefined29 
controlCommandUndefined30 
controlCommandUndefined31 
controlCommandBankSelectLSB 
controlCommandModulationLSB 
controlCommandBreathControlLSB 
controlCommandUndefined35 
controlCommandFootControlLSB 
controlCommandPortamentoTimeLSB 
controlCommandDateEntryLSB 
controlCommandVolumeLSB 
controlCommandBalanceLSB 
controlCommandUndefined41 
controlCommandPanLSB 
controlCommandExpressionLSB 
controlCommandEffectControl1LSB 
controlCommandEffectControl2LSB 
controlCommandUndefined46 
controlCommandUndefined47 
controlCommandGeneralPurpose1LSB 
controlCommandGeneralPurpose2LSB 
controlCommandGeneralPurpose3LSB 
controlCommandGeneralPurpose4LSB 
controlCommandUndefined52 
controlCommandUndefined53 
controlCommandUndefined54 
controlCommandUndefined55 
controlCommandUndefined56 
controlCommandUndefined57 
controlCommandUndefined58 
controlCommandUndefined59 
controlCommandUndefined60 
controlCommandUndefined61 
controlCommandUndefined62 
controlCommandUndefined63 
controlCommandSustainPedal 
controlCommandPortamento 
controlCommandPedalSustenuto 
controlCommandPedalSoft 
controlCommandLegatoFootSwitch 
controlCommandHold2 
controlCommandSoundVariation 
controlCommandTimbre 
controlCommandReleaseTime 
controlCommandAttackTime 
controlCommandBrightness 
controlCommandReverb 
controlCommandDelay 
controlCommandPitchTranspose 
controlCommandFlange 
controlCommandSpecialFX 
controlCommandGeneralPurpose5 
controlCommandGeneralPurpose6 
controlCommandGeneralPurpose7 
controlCommandGeneralPurpose8 
controlCommandPortamentoControl 
controlCommandUndefined85 
controlCommandUndefined86 
controlCommandUndefined87 
controlCommandUndefined88 
controlCommandUndefined89 
controlCommandUndefined90 
controlCommandFXDepth 
controlCommandTremeloDepth 
controlCommandChorusDepth 
controlCommandCelestaDepth 
controlCommandPhaserDepth 
controlCommandDataInc 
controlCommandDataDec 
controlCommandNonRegParamLSB 
controlCommandNonRefParamMSB 
controlCommandRegParamLSB 
controlCommandRegParamMSB 
controlCommandUndefined102 
controlCommandUndefined103 
controlCommandUndefined104 
controlCommandUndefined105 
controlCommandUndefined106 
controlCommandUndefined107 
controlCommandUndefined108 
controlCommandUndefined109 
controlCommandUndefined110 
controlCommandUndefined111 
controlCommandUndefined112 
controlCommandUndefined113 
controlCommandUndefined114 
controlCommandUndefined115 
controlCommandUndefined116 
controlCommandUndefined117 
controlCommandUndefined118 
controlCommandUndefined119 
controlCommandAllSoundOff 
controlCommandResetAllControllers 
controlCommandLocalControl 
controlCommandAllNotesOff 
controlCommandOmniModeOff 
controlCommandOmniModeOn 
controlCommandMonoModeOn 
controlCommandPolyModeOn 
controlCommandModWheel 
controlCommandHarmContent 
controlCommandSoundController1 
controlCommandSoundController2 
controlCommandSoundController3 
controlCommandSoundController4 
controlCommandSoundController5 
controlCommandSoundController6 
controlCommandSoundController7 
controlCommandSoundController8 
controlCommandSoundController9 
controlCommandSoundController10 
controlCommandEffect1Depth 
controlCommandEffect2Depth 
controlCommandEffect3Depth 
controlCommandEffect4Depth 
controlCommandEffect5Depth 
controlCommandDetuneDepth 

Definition at line 52 of file midi.h.

◆ _MidiMessage

Enumerator
messageNoteOff 
messageNoteOn 
messageNoteKeyPressure 
messageSetParameter 
messageSetProgram 
messageChangePressure 
messageSetPitchWheel 
messageMetaEvent 
messageSysEx1 
messageSysEx2 
messagePatchChange 
messageControlChange 
messageSysMask 

Definition at line 36 of file midi.h.

◆ _MidiMetaInfo

Enumerator
metaInfoSequenceNumber 
metaInfoTextEvent 
metaInfoCopyright 
metaInfoTrackName 
metaInfoInstrument 
metaInfoLyric 
metaInfoMarker 
metaInfoCuePoint 
metaInfoMIDIPort 
metaInfoEndSequence 
metaInfoSetTempo 
metaInfoSMPTEOffset 
metaInfoTimeSig 
metaInfoKeySig 
metaInfoSequencerSpecific 

Definition at line 263 of file midi.h.

◆ _MidiNote

enum _MidiNote
Enumerator
noteCFlatMaj 
noteGFlatMaj 
noteDFlatMaj 
noteAFlatMaj 
noteEFlatMaj 
noteBFlatMaj 
noteFMaj 
noteCMaj 
noteGMaj 
noteDMaj 
noteAMaj 
noteEMaj 
noteBMaj 
noteFSharpMaj 
noteCSharpMaj 
noteCFlatMin 
noteGFlatMin 
noteDFlatMin 
noteAFlatMin 
noteEFlatMin 
noteBFlatMin 
noteFMin 
noteCMin 
noteGMin 
noteDMin 
noteAMin 
noteEMin 
noteBMin 
noteFSharpMin 
noteCSharpMin 
noteMaskNeg 
noteMaskFlatKeys 
noteMaskMin 
noteMaskKey 

Definition at line 226 of file midi.h.

◆ _MidiRealTime

Enumerator
realTimeTimingClock 
realTimeUndefinedF9 
realTimeStart 
realTimeContinue 
realTimeStop 
realTimeUndefinedFD 
realTimeActiveSensing 
realTimeSystemReset 

Definition at line 211 of file midi.h.

◆ _MidiSystemCommand

Enumerator
systemCommandUndefinedF1 
systemCommandSongPosition 
systemCommandSongSelect 
systemCommandUndefinedF4 
systemCommandUndefinedF5 
systemCommandTuneRequest 
systemCommandEOX 

Definition at line 201 of file midi.h.

◆ _MidiSystemExclusive

Enumerator
systemExclusiveEOX 

Definition at line 222 of file midi.h.

◆ _MidiTextInfo

Enumerator
textInfoTextEvent 
textInfoCopyright 
textInfoTrackName 
textInfoInstrument 
textInfoLyric 
textInfoMarker 
textInfoCuePoint 

Definition at line 281 of file midi.h.

Function Documentation

◆ midiFileClose()

int midiFileClose ( MidiFile * pMF)

Definition at line 515 of file midi.c.

◆ midiFileCreate()

MidiFile * midiFileCreate ( const char * pFilename,
int bOverwriteIfExists )

Definition at line 240 of file midi.c.

◆ midiFileFlushTrack()

int midiFileFlushTrack ( MidiFile * pMF,
int iTrack,
int bFlushToEnd,
DWORD dwEndTimePos )

Definition at line 433 of file midi.c.

◆ midiFileGetPPQN()

int midiFileGetPPQN ( const MidiFile * pMF)

Definition at line 319 of file midi.c.

◆ midiFileGetTracksDefaultChannel()

int midiFileGetTracksDefaultChannel ( const MidiFile * pMF,
int iTrack )

Definition at line 299 of file midi.c.

◆ midiFileGetVersion()

int midiFileGetVersion ( const MidiFile * pMF)

Definition at line 338 of file midi.c.

◆ midiFileOpen()

MidiFile * midiFileOpen ( const char * pFilename)

Definition at line 345 of file midi.c.

◆ midiFileSetPPQN()

int midiFileSetPPQN ( MidiFile * pMF,
int PPQN )

Definition at line 308 of file midi.c.

◆ midiFileSetTracksDefaultChannel()

int midiFileSetTracksDefaultChannel ( MidiFile * pMF,
int iTrack,
int iChannel )

Definition at line 285 of file midi.c.

◆ midiFileSetVersion()

int midiFileSetVersion ( MidiFile * pMF,
int iVersion )

Definition at line 326 of file midi.c.

◆ midiFileSyncTracks()

int midiFileSyncTracks ( MidiFile * pMF,
int iTrack1,
int iTrack2 )

Definition at line 496 of file midi.c.

◆ midiReadFreeMessage()

void midiReadFreeMessage ( MidiMessagePayload * pMsg)

Definition at line 1149 of file midi.c.

◆ midiReadGetNextMessage()

int midiReadGetNextMessage ( const MidiFile * pMF,
int iTrack,
MidiMessagePayload * pMsg )

Definition at line 922 of file midi.c.

◆ midiReadGetNumTracks()

int midiReadGetNumTracks ( const MidiFile * pMF)

Definition at line 916 of file midi.c.

◆ midiReadInitMessage()

void midiReadInitMessage ( MidiMessagePayload * pMsg)

Definition at line 1142 of file midi.c.

◆ midiSongAddEndSequence()

int midiSongAddEndSequence ( MidiFile * pMF,
int iTrack )

Definition at line 667 of file midi.c.

◆ midiSongAddKeySig()

int midiSongAddKeySig ( MidiFile * pMF,
int iTrack,
MidiNote iKey )

Definition at line 627 of file midi.c.

◆ midiSongAddMIDIPort()

int midiSongAddMIDIPort ( MidiFile * pMF,
int iTrack,
int iPort )

Definition at line 656 of file midi.c.

◆ midiSongAddSimpleTimeSig()

int midiSongAddSimpleTimeSig ( MidiFile * pMF,
int iTrack,
int iNom,
int iDenom )

Definition at line 607 of file midi.c.

◆ midiSongAddSMPTEOffset()

int midiSongAddSMPTEOffset ( MidiFile * pMF,
int iTrack,
int iHours,
int iMins,
int iSecs,
int iFrames,
int iFFrames )

Definition at line 586 of file midi.c.

◆ midiSongAddTempo()

int midiSongAddTempo ( MidiFile * pMF,
int iTrack,
int iTempo )

Definition at line 640 of file midi.c.

◆ midiSongAddTimeSig()

int midiSongAddTimeSig ( MidiFile * pMF,
int iTrack,
int iNom,
int iDenom,
int iClockInMetroTick,
int iNotated32nds )

Definition at line 612 of file midi.c.

◆ midiTrackAddControlChange()

int midiTrackAddControlChange ( MidiFile * pMF,
int iTrack,
MidiControlCommand iCCType,
int iParam )

Definition at line 755 of file midi.c.

◆ midiTrackAddMsg()

int midiTrackAddMsg ( MidiFile * pMF,
int iTrack,
MidiMessage iMsg,
int iParam1,
int iParam2 )

Definition at line 778 of file midi.c.

◆ midiTrackAddNote()

int midiTrackAddNote ( MidiFile * pMF,
int iTrack,
int iNote,
int iLength,
int iVol,
int bAutoInc,
int bOverrideLength )

Definition at line 812 of file midi.c.

◆ midiTrackAddProgramChange()

int midiTrackAddProgramChange ( MidiFile * pMF,
int iTrack,
int iInstrPatch )

Definition at line 760 of file midi.c.

◆ midiTrackAddRaw()

int midiTrackAddRaw ( MidiFile * pMF,
int iTrack,
int iDataSize,
const BYTE * pData,
int bMovePtr,
int iDeltaTime )

Definition at line 678 of file midi.c.

◆ midiTrackAddRest()

int midiTrackAddRest ( MidiFile * pMF,
int iTrack,
int iLength,
int bOverridePPQN )

Definition at line 862 of file midi.c.

◆ midiTrackAddText()

int midiTrackAddText ( MidiFile * pMF,
int iTrack,
MidiTextInfo iType,
const char * pTxt )

Definition at line 724 of file midi.c.

◆ midiTrackChangeKeyPressure()

int midiTrackChangeKeyPressure ( MidiFile * pMF,
int iTrack,
int iDeltaPressure )

Definition at line 765 of file midi.c.

◆ midiTrackGetEndPos()

int midiTrackGetEndPos ( MidiFile * pMF,
int iTrack )

Definition at line 872 of file midi.c.

◆ midiTrackIncTime()

int midiTrackIncTime ( MidiFile * pMF,
int iTrack,
int iDeltaTime,
int bOverridePPQN )

Definition at line 708 of file midi.c.

◆ midiTrackSetKeyPressure()

int midiTrackSetKeyPressure ( MidiFile * pMF,
int iTrack,
int iNote,
int iAftertouch )

Definition at line 750 of file midi.c.

◆ midiTrackSetPitchWheel()

int midiTrackSetPitchWheel ( MidiFile * pMF,
int iTrack,
int iWheelPos )

Definition at line 770 of file midi.c.

◆ muGetChordName()

char * muGetChordName ( char * str,
int chord )

Definition at line 1794 of file midi.c.

◆ muGetControlName()

int muGetControlName ( char * pName,
MidiControlCommand iCC )

Definition at line 1578 of file midi.c.

◆ muGetDrumName()

int muGetDrumName ( char * pName,
int iInstr )

Definition at line 1520 of file midi.c.

◆ muGetFreqFromNote()

float muGetFreqFromNote ( int iNote)

Definition at line 1677 of file midi.c.

◆ muGetInstrumentName()

int muGetInstrumentName ( char * pName,
int iInstr )

Definition at line 1512 of file midi.c.

◆ muGetKeySigName()

int muGetKeySigName ( char * pName,
MidiNote iKey )

Definition at line 1586 of file midi.c.

◆ muGetMetaName()

int muGetMetaName ( char * pName,
MidiMetaInfo iEvent )

Definition at line 1608 of file midi.c.

◆ muGetMIDIMsgName()

int muGetMIDIMsgName ( char * pName,
MidiMessage iMsg )

Definition at line 1528 of file midi.c.

◆ muGetNameFromNote()

char * muGetNameFromNote ( char * pStr,
int iNote )

Definition at line 1665 of file midi.c.

◆ muGetNoteFromFreq()

int muGetNoteFromFreq ( float fFreq)

Definition at line 1695 of file midi.c.

◆ muGetNoteFromName()

int muGetNoteFromName ( const char * pName)

Definition at line 1633 of file midi.c.

◆ muGetTextName()

int muGetTextName ( char * pName,
MidiTextInfo iEvent )

Definition at line 1602 of file midi.c.

◆ muGuessChord()

int muGuessChord ( const int * pNoteStatus,
const int channel,
const int lowRange,
const int highRange )

Definition at line 1715 of file midi.c.