annotate src/midiinfo.h @ 62:301805d68a97 default tip

Clean up better.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Jan 2015 04:33:07 +0200
parents 785057719d9b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 * midiinfo.h - A collection of macros and constants for MIDI programming.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3 * These should work independant of 'Steevs MIDI Library'
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 * Version 1.4
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 *
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 * AUTHOR: Steven Goodwin (StevenGoodwin@gmail.com)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 * Copyright 1998-2010, Steven Goodwin.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 *
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 * modify it under the terms of the GNU General Public License as
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 * published by the Free Software Foundation; either version 2 of
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12 * the License,or (at your option) any later version.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 *
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17 * GNU General Public License for more details.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18 *
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 #ifndef _MIDIINFO_H
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25 #define _MIDIINFO_H
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
26
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
27 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28 ** MIDI Messages [ consist of message, and optional bytes ]
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 ** a 'msg' has two nibbles: message type & channel
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32 msgNoteOff = 0x80, /* [ pitch, volume ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33 msgNoteOn = 0x90, /* [ pitch, volume ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34 msgNoteKeyPressure = 0xa0, /* [ pitch, pressure (after touch) ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 msgSetParameter = 0xb0, /* [ param number (CC), setting ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36 msgSetProgram = 0xc0, /* [ program ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 msgChangePressure = 0xd0, /* [ pressure (after touch) ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38 msgSetPitchWheel = 0xe0, /* [ LSB, MSG (two 7 bit values) ] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40 msgMetaEvent = 0xff,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41 msgSysEx1 = 0xf0,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42 msgSysEx2 = 0xf7,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44 /* Alternative names */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45 msgPatchChange = msgSetProgram,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
46 msgControlChange = msgSetParameter,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
47
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
48 msgSysMask = 0xf0,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
49 } tMIDI_MSG;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52 ** Control Changes
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
54 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55 /* 0-31, where defined, all indicate the MSB */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 ccBankSelect = 0,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57 ccModulation = 1,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
58 ccBreathControl = 2,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
59 ccUndefined3 = 3,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
60 ccFootControl = 4,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
61 ccPortamentoTime = 5,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
62 ccDateEntry = 6,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63 ccVolume = 7,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64 ccBalance = 8,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65 ccUndefined9 = 9,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66 ccPan = 10,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67 ccExpression = 11,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
68 ccEffectControl1 = 12,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69 ccEffectControl2 = 13,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70 ccUndefined14 = 14,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71 ccUndefined15 = 15,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 ccGeneralPurpose1 = 16,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73 ccGeneralPurpose2 = 17,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74 ccGeneralPurpose3 = 18,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
75 ccGeneralPurpose4 = 19,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
76 /* 20-31 are undefined */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 ccUndefined20 = 20,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78 ccUndefined21 = 21,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
79 ccUndefined22 = 22,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
80 ccUndefined23 = 23,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
81 ccUndefined24 = 24,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
82 ccUndefined25 = 25,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83 ccUndefined26 = 26,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84 ccUndefined27 = 27,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
85 ccUndefined28 = 28,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 ccUndefined29 = 29,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87 ccUndefined30 = 30,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88 ccUndefined31 = 31,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
89 /* LSB for control changes 0-31 32-63 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
90 ccBankSelectLSB = 32,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
91 ccModulationLSB = 33,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
92 ccBreathControlLSB = 34,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
93 ccUndefined35 = 35,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
94 ccFootControlLSB = 36,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
95 ccPortamentoTimeLSB = 37,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
96 ccDateEntryLSB = 38,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
97 ccVolumeLSB = 39,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
98 ccBalanceLSB = 40,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
99 ccUndefined41 = 41,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
100 ccPanLSB = 42,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
101 ccExpressionLSB = 43,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
102 ccEffectControl1LSB = 44,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
103 ccEffectControl2LSB = 45,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
104 ccUndefined46 = 46,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
105 ccUndefined47 = 47,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
106 ccGeneralPurpose1LSB = 48,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
107 ccGeneralPurpose2LSB = 49,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
108 ccGeneralPurpose3LSB = 50,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
109 ccGeneralPurpose4LSB = 51,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
110 /* 52-63 are undefined */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
111 ccUndefined52 = 52,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
112 ccUndefined53 = 53,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
113 ccUndefined54 = 54,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
114 ccUndefined55 = 55,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
115 ccUndefined56 = 56,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
116 ccUndefined57 = 57,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
117 ccUndefined58 = 58,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
118 ccUndefined59 = 59,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
119 ccUndefined60 = 60,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
120 ccUndefined61 = 61,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
121 ccUndefined62 = 62,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
122 ccUndefined63 = 63,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
123
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
124 ccSustainPedal = 64,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
125 ccPortamento = 65,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
126 ccPedalSustenuto = 66,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
127 ccPedalSoft = 67,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
128 ccLegatoFootSwitch = 68,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
129 ccHold2 = 69,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
130 ccSoundVariation = 70,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
131 ccTimbre = 71,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
132 ccReleaseTime = 72,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
133 ccAttackTime = 73,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
134 ccBrightness = 74,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
135 ccReverb = 75,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
136 ccDelay = 76,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
137 ccPitchTranspose = 77,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
138 ccFlange = 78,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
139 ccSpecialFX = 79,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
140 ccGeneralPurpose5 = 80,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
141 ccGeneralPurpose6 = 81,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
142 ccGeneralPurpose7 = 82,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
143 ccGeneralPurpose8 = 83,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
144 ccPortamentoControl = 84,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
145 /* 85-90 are undefined */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
146 ccUndefined85 = 85,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
147 ccUndefined86 = 86,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
148 ccUndefined87 = 87,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
149 ccUndefined88 = 88,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
150 ccUndefined89 = 89,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
151 ccUndefined90 = 90,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
152 /* Effects depth */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
153 ccFXDepth = 91,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
154 ccTremeloDepth = 92,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
155 ccChorusDepth = 93,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
156 ccCelestaDepth = 94,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
157 ccPhaserDepth = 95,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
158 ccDataInc = 96,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
159 ccDataDec = 97,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
160 ccNonRegParamLSB = 98,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
161 ccNonRefParamMSB = 99,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
162 ccRegParamLSB = 100,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
163 ccRegParamMSB = 101,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
164 /* 102-119 are undefined */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
165 ccUndefined102 = 102,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
166 ccUndefined103 = 103,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
167 ccUndefined104 = 104,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
168 ccUndefined105 = 105,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
169 ccUndefined106 = 106,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
170 ccUndefined107 = 107,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
171 ccUndefined108 = 108,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
172 ccUndefined109 = 109,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
173 ccUndefined110 = 110,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
174 ccUndefined111 = 111,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
175 ccUndefined112 = 112,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
176 ccUndefined113 = 113,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
177 ccUndefined114 = 114,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
178 ccUndefined115 = 115,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
179 ccUndefined116 = 116,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
180 ccUndefined117 = 117,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
181 ccUndefined118 = 118,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
182 ccUndefined119 = 119,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
183 ccAllSoundOff = 120,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
184 ccResetAllControllers = 121,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
185 ccLocalControl = 122,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
186 ccAllNotesOff = 123,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
187 ccOmniModeOff = 124,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
188 ccOmniModeOn = 125,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
189 ccMonoModeOn = 126,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
190 ccPolyModeOn = 127,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
191 /* Alternative names */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
192 ccModWheel = 1,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
193 /* All sound controllers have only LSB */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
194 ccHarmContent = 71,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
195 ccSoundController1 = 70,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
196 ccSoundController2 = 71,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
197 ccSoundController3 = 72,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
198 ccSoundController4 = 73,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
199 ccSoundController5 = 74,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200 ccSoundController6 = 75,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
201 ccSoundController7 = 76,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
202 ccSoundController8 = 77,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
203 ccSoundController9 = 78,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
204 ccSoundController10 = 79,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
205 ccEffect1Depth = 91,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
206 ccEffect2Depth = 92,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
207 ccEffect3Depth = 93,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
208 ccEffect4Depth = 94,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
209 ccEffect5Depth = 95,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
210 ccDetuneDepth = 94,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
211
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
212 } tMIDI_CC;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
213
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
214 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
215 ** System Common (Status byte: 1111 0ttt)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
216 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
217 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
218 sysUndefinedF1 = 0xf1,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
219 sysSongPosition = 0xf2, /* [LSB, MSB] */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
220 sysSongSelect = 0xf3,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
221 sysUndefinedF4 = 0xf4,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
222 sysUndefinedF5 = 0xf5,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
223 sysTuneRequest = 0xf6,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
224 sysEOX = 0xf7, /* End of Exclusive */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
225 } tMIDI_SYSCOMMON;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
226
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
227 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
228 ** System Real Time (Status byte: 1111 1ttt)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
229 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
230 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
231 srtTimingClock = 0xf8,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
232 srtUndefinedF9 = 0xf9,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233 srtStart = 0xfa,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234 srtContinue = 0xfb,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
235 srtStop = 0xfc,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
236 srtUndefinedFD = 0xfd,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
237 srtActiveSensing = 0xfe,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
238 srtSystemReset = 0xff,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
239 } tMIDI_REALTIME;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
240
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
241 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
242 ** System Exclusive (Status byte: 1111 0000)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
243 **
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
244 ** The first byte of a sysex must be the identification number
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
245 ** (7 bits, MSB=0). This is followed by an arbitary number of
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
246 ** data bytes (all MSB=0), and ending in the sexEOX msg.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
247 ** Note: Any other status byte (where MSB=1) will also terminate
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
248 ** a sysex message, with the exception of the System Real Time
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
249 ** events above.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
250 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
251 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
252 sexEOX = 0xf7,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
253 } tMIDI_SYSEX;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
254
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
255 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
256 ** Key signatures
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
257 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
258 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
259 keyCFlatMaj = 0x87,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
260 keyGFlatMaj = 0x86,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
261 keyDFlatMaj = 0x85,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
262 keyAFlatMaj = 0x84,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
263 keyEFlatMaj = 0x83,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
264 keyBFlatMaj = 0x82,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
265 keyFMaj = 0x81,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
266 keyCMaj = 0x00,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
267 keyGMaj = 0x01,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
268 keyDMaj = 0x02,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
269 keyAMaj = 0x03,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
270 keyEMaj = 0x04,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
271 keyBMaj = 0x05,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
272 keyFSharpMaj = 0x06,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
273 keyCSharpMaj = 0x07,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
274 keyCFlatMin = 0xc7,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
275 keyGFlatMin = 0xc6,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
276 keyDFlatMin = 0xc5,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
277 keyAFlatMin = 0xc4,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
278 keyEFlatMin = 0xc3,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
279 keyBFlatMin = 0xc2,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
280 keyFMin = 0xc1,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
281 keyCMin = 0x40,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
282 keyGMin = 0x41,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
283 keyDMin = 0x42,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
284 keyAMin = 0x43,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
285 keyEMin = 0x44,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
286 keyBMin = 0x45,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
287 keyFSharpMin = 0x46,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
288 keyCSharpMin = 0x47,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
289 /* Format: Bit 7=represent as negative, Bit 6=Minor key, bits 0-3=key id*/
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
290 /* By no coincidence, masking out the 'minor' flag,we have a signed char value */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
291 keyMaskNeg = 0x80,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
292 keyMaskFlatKeys = 0x80,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
293 keyMaskMin = 0x40,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
294 keyMaskKey = 0x07,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
295 } tMIDI_KEYSIG;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
296
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
297
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
298 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
299 metaSequenceNumber = 0, /* followed by 2 and then the sequence number */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
300 /* Text Information */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
301 metaTextEvent = 1,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
302 metaCopyright = 2,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
303 metaTrackName = 3,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
304 metaInstrument = 4,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
305 metaLyric = 5,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
306 metaMarker = 6,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
307 metaCuePoint = 7,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
308 /* Data */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
309 metaMIDIPort = 0x21, /* followed by 1, then the port number */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
310 metaEndSequence = 0x2f, /* followed by zero */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
311 metaSetTempo = 0x51, /* followed by 3 (size), and time between beats in us: us = 60000000/tempo. Write as three bytes, MSG first */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
312 metaSMPTEOffset = 0x54, /* followed by 5 (size), and 5 bytes detailing frame info: hr.mins.sec:frame.ff */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
313 metaTimeSig = 0x58, /* followed by 4 (size), and 4 bytes detailing nominator and denominator of sig,clock_in_metro_tick and notated_32nds_in_quarter */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
314 metaKeySig = 0x59, /* followed by 2 (size), and the key (-7=7 flats, 0=key of C,7=7 sharps)), followed by a 'major?' flag (0=major, 1=minor) */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
315 /* Custom */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
316 metaSequencerSpecific = 0x7f, /* followed by the number of bytes, then the data */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
317 } tMIDI_META;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
318
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
319 typedef enum {
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
320 textTextEvent = 1,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
321 textCopyright = 2,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
322 textTrackName = 3,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
323 textInstrument = 4,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
324 textLyric = 5,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
325 textMarker = 6,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
326 textCuePoint = 7,
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
327 } tMIDI_TEXT;
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
328
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
329
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
330 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
331 ** MIDI Constants
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
332 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
333 #define MIDI_WHEEL_CENTRE 8192
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
334
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
335 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
336 ** MIDI Channels
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
337 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
338 #define MIDI_CHANNEL_1 1
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
339 #define MIDI_CHANNEL_2 2
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
340 #define MIDI_CHANNEL_3 3
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
341 #define MIDI_CHANNEL_4 4
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
342 #define MIDI_CHANNEL_5 5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
343 #define MIDI_CHANNEL_6 6
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
344 #define MIDI_CHANNEL_7 7
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
345 #define MIDI_CHANNEL_8 8
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
346 #define MIDI_CHANNEL_9 9
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
347 #define MIDI_CHANNEL_10 10
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
348 #define MIDI_CHANNEL_11 11
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
349 #define MIDI_CHANNEL_12 12
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
350 #define MIDI_CHANNEL_13 13
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
351 #define MIDI_CHANNEL_14 14
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
352 #define MIDI_CHANNEL_15 15
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
353 #define MIDI_CHANNEL_16 16
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
354
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
355 #define MIDI_CHANNEL_DRUMS 10
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
356
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
357 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
358 ** Notes
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
359 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
360 #define MIDI_OCTAVE 12
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
361
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
362 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
363 ** The MIDI spec only indicates middle C to be
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
364 ** 60. It doesn't indicate which octave this is.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
365 ** Some may consider 4, if they label octaves
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
366 ** from -1, instead of 0. I have adopted an octave
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
367 ** number here for tighter intergration.
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
368 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
369 #define MIDI_NOTE_MIDDLE_C MIDI_NOTE_C5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
370
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
371 #define MIDI_NOTE_C 0
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
372 #define MIDI_NOTE_C_SHARP 1
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
373 #define MIDI_NOTE_C_FLAT -11
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
374 #define MIDI_NOTE_D 2
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
375 #define MIDI_NOTE_D_SHARP 3
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
376 #define MIDI_NOTE_D_FLAT 1
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
377 #define MIDI_NOTE_E 4
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
378 #define MIDI_NOTE_E_SHARP 5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
379 #define MIDI_NOTE_E_FLAT 3
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
380 #define MIDI_NOTE_F 5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
381 #define MIDI_NOTE_F_SHARP 6
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
382 #define MIDI_NOTE_F_FLAT 5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
383 #define MIDI_NOTE_G 7
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
384 #define MIDI_NOTE_G_SHARP 8
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
385 #define MIDI_NOTE_G_FLAT 6
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
386 #define MIDI_NOTE_A 9
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
387 #define MIDI_NOTE_A_SHARP 10
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
388 #define MIDI_NOTE_A_FLAT 8
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
389 #define MIDI_NOTE_B 11
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
390 #define MIDI_NOTE_B_SHARP 12
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
391 #define MIDI_NOTE_B_FLAT 10
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
392
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
393 #define MIDI_NOTE_C0 0
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
394 #define MIDI_NOTE_C1 12
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
395 #define MIDI_NOTE_C2 24
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
396 #define MIDI_NOTE_C3 36
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
397 #define MIDI_NOTE_C4 48
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
398 #define MIDI_NOTE_C5 60
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
399 #define MIDI_NOTE_C6 72
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
400 #define MIDI_NOTE_C7 84
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
401 #define MIDI_NOTE_C8 96
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
402 #define MIDI_NOTE_C9 108
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
403 #define MIDI_NOTE_C10 120
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
404
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
405 #define MIDI_OCTAVE_0 MIDI_NOTE_C0
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
406 #define MIDI_OCTAVE_1 MIDI_NOTE_C1
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
407 #define MIDI_OCTAVE_2 MIDI_NOTE_C2
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
408 #define MIDI_OCTAVE_3 MIDI_NOTE_C3
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
409 #define MIDI_OCTAVE_4 MIDI_NOTE_C4
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
410 #define MIDI_OCTAVE_5 MIDI_NOTE_C5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
411 #define MIDI_OCTAVE_6 MIDI_NOTE_C6
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
412 #define MIDI_OCTAVE_7 MIDI_NOTE_C7
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
413 #define MIDI_OCTAVE_8 MIDI_NOTE_C8
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
414 #define MIDI_OCTAVE_9 MIDI_NOTE_C9
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
415 #define MIDI_OCTAVE_10 MIDI_NOTE_C10
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
416
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
417
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
418 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
419 ** Note Duration (on PPQN=384)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
420 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
421 #define MIDI_NOTE_BREVE 1536
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
422 #define MIDI_NOTE_MINIM 768
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
423 #define MIDI_NOTE_CROCHET 384
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
424 #define MIDI_NOTE_QUAVER 192
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
425 #define MIDI_NOTE_SEMIQUAVER 96
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
426 #define MIDI_NOTE_SEMIDEMIQUAVER 48
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
427
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
428 #define MIDI_NOTE_DOTTED_MINIM (768+384)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
429 #define MIDI_NOTE_DOTTED_CROCHET (384+192)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
430 #define MIDI_NOTE_DOTTED_QUAVER (192+96)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
431 #define MIDI_NOTE_DOTTED_SEMIQUAVER (96+48)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
432 #define MIDI_NOTE_DOTTED_SEMIDEMIQUAVER (48+24)
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
433
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
434 #define MIDI_NOTE_TRIPLE_CROCHET 256 /* 3 notes in 2 crochet */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
435
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
436
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
437 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
438 ** Notes - Volume
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
439 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
440 #define MIDI_VOL_FULL 127
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
441 #define MIDI_VOL_HALF 64
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
442 #define MIDI_VOL_OFF 0
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
443
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
444
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
445 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
446 ** Notes - Instrument Names
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
447 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
448 #define MIDI_PATCH_ACOUSTIC_GRAND_PIANO 0
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
449 #define MIDI_PATCH_BRIGHT_ACOUSTIC_PIANO 1
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
450 #define MIDI_PATCH_ELECTRIC_GRAND_PIANO 2
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
451 #define MIDI_PATCH_HONKY_TONK_PIANO 3
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
452 #define MIDI_PATCH_ELECTRIC_PIANO_1 4
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
453 #define MIDI_PATCH_ELECTRIC_PIANO_2 5
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
454 #define MIDI_PATCH_HARPSICHORD 6
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
455 #define MIDI_PATCH_CLAVI 7
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
456 #define MIDI_PATCH_CELESTA 8
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
457 #define MIDI_PATCH_GLOCKENSPIEL 9
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
458 #define MIDI_PATCH_MUSIC_BOX 10
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
459 #define MIDI_PATCH_VIBRAPHONE 11
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
460 #define MIDI_PATCH_MARIMBA 12
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
461 #define MIDI_PATCH_XYLOPHONE 13
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
462 #define MIDI_PATCH_TUBULAR_BELLS 14
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
463 #define MIDI_PATCH_DULCIMER 15
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
464 #define MIDI_PATCH_DRAWBAR_ORGAN 16
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
465 #define MIDI_PATCH_PERCUSSIVE_ORGAN 17
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
466 #define MIDI_PATCH_ROCK_ORGAN 18
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
467 #define MIDI_PATCH_CHURCH_ORGAN 19
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
468 #define MIDI_PATCH_REED_ORGAN 20
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
469 #define MIDI_PATCH_ACCORDION 21
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
470 #define MIDI_PATCH_HARMONICA 22
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
471 #define MIDI_PATCH_TANGO_ACCORDION 23
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
472 #define MIDI_PATCH_ACOUSTIC_GUITAR_NYLON 24
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
473 #define MIDI_PATCH_ACOUSTIC_GUITAR_STEEL 25
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
474 #define MIDI_PATCH_ELECTRIC_GUITAR_JAZZ 26
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
475 #define MIDI_PATCH_ELECTRIC_GUITAR_CLEAN 27
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
476 #define MIDI_PATCH_ELECTRIC_GUITAR_MUTED 28
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
477 #define MIDI_PATCH_OVERDRIVEN_GUITAR 29
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
478 #define MIDI_PATCH_DISTORTION_GUITAR 30
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
479 #define MIDI_PATCH_GUITAR_HARMONICS 31
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
480 #define MIDI_PATCH_ACOUSTIC_BASS 32
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
481 #define MIDI_PATCH_ELECTRIC_BASS_FINGER 33
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
482 #define MIDI_PATCH_ELECTRIC_BASS_PICK 34
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
483 #define MIDI_PATCH_FRETLESS_BASS 35
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
484 #define MIDI_PATCH_SLAP_BASS_1 36
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
485 #define MIDI_PATCH_SLAP_BASS_2 37
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
486 #define MIDI_PATCH_SYNTH_BASS_1 38
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
487 #define MIDI_PATCH_SYNTH_BASS_2 39
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
488 #define MIDI_PATCH_VIOLIN 40
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
489 #define MIDI_PATCH_VIOLA 41
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
490 #define MIDI_PATCH_CELLO 42
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
491 #define MIDI_PATCH_CONTRABASS 43
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
492 #define MIDI_PATCH_TREMOLO_STRINGS 44
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
493 #define MIDI_PATCH_PIZZICATO_STRINGS 45
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
494 #define MIDI_PATCH_ORCHESTRAL_HARP 46
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
495 #define MIDI_PATCH_TIMPANI 47
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
496 #define MIDI_PATCH_STRING_ENSEMBLE_1 48
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
497 #define MIDI_PATCH_STRING_ENSEMBLE_2 49
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
498 #define MIDI_PATCH_SYNTHSTRINGS_1 50
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
499 #define MIDI_PATCH_SYNTHSTRINGS_2 51
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
500 #define MIDI_PATCH_CHOIR_AAHS 52
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
501 #define MIDI_PATCH_VOICE_OOHS 53
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
502 #define MIDI_PATCH_SYNTH_VOICE 54
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
503 #define MIDI_PATCH_ORCHESTRA_HIT 55
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
504 #define MIDI_PATCH_TRUMPET 56
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
505 #define MIDI_PATCH_TROMBONE 57
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
506 #define MIDI_PATCH_TUBA 58
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
507 #define MIDI_PATCH_MUTED_TRUMPET 59
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
508 #define MIDI_PATCH_FRENCH_HORN 60
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
509 #define MIDI_PATCH_BRASS_SECTION 61
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
510 #define MIDI_PATCH_SYNTHBRASS_1 62
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
511 #define MIDI_PATCH_SYNTHBRASS_2 63
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
512 #define MIDI_PATCH_SOPRANO_SAX 64
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
513 #define MIDI_PATCH_ALTO_SAX 65
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
514 #define MIDI_PATCH_TENOR_SAX 66
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
515 #define MIDI_PATCH_BARITONE_SAX 67
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
516 #define MIDI_PATCH_OBOE 68
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
517 #define MIDI_PATCH_ENGLISH_HORN 69
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
518 #define MIDI_PATCH_BASSOON 70
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
519 #define MIDI_PATCH_CLARINET 71
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
520 #define MIDI_PATCH_PICCOLO 72
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
521 #define MIDI_PATCH_FLUTE 73
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
522 #define MIDI_PATCH_RECORDER 74
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
523 #define MIDI_PATCH_PAN_FLUTE 75
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
524 #define MIDI_PATCH_BLOWN_BOTTLE 76
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
525 #define MIDI_PATCH_SHAKUHACHI 77
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
526 #define MIDI_PATCH_WHISTLE 78
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
527 #define MIDI_PATCH_OCARINA 79
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
528 #define MIDI_PATCH_LEAD_1_SQUARE 80
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
529 #define MIDI_PATCH_LEAD_2_SAWTOOTH 81
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
530 #define MIDI_PATCH_LEAD_3_CALLIOPE 82
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
531 #define MIDI_PATCH_LEAD_4_CHIFF 83
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
532 #define MIDI_PATCH_LEAD_5_CHARANG 84
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
533 #define MIDI_PATCH_LEAD_6_VOICE 85
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
534 #define MIDI_PATCH_LEAD_7_FIFTHS 86
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
535 #define MIDI_PATCH_LEAD_8_BASS_AND_LEAD 87
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
536 #define MIDI_PATCH_PAD_1_NEW_AGE 88
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
537 #define MIDI_PATCH_PAD_2_WARM 89
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
538 #define MIDI_PATCH_PAD_3_POLYSYNTH 90
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
539 #define MIDI_PATCH_PAD_4_CHOIR 91
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
540 #define MIDI_PATCH_PAD_5_BOWED 92
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
541 #define MIDI_PATCH_PAD_6_METALLIC 93
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
542 #define MIDI_PATCH_PAD_7_HALO 94
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
543 #define MIDI_PATCH_PAD_8_SWEEP 95
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
544 #define MIDI_PATCH_FX_1_RAIN 96
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
545 #define MIDI_PATCH_FX_2_SOUNDTRACK 97
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
546 #define MIDI_PATCH_FX_3_CRYSTAL 98
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
547 #define MIDI_PATCH_FX_4_ATMOSPHERE 99
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
548 #define MIDI_PATCH_FX_5_BRIGHTNESS 100
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
549 #define MIDI_PATCH_FX_6_GOBLINS 101
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
550 #define MIDI_PATCH_FX_7_ECHOES 102
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
551 #define MIDI_PATCH_FX_8_SCIFI 103
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
552 #define MIDI_PATCH_SITAR 104
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
553 #define MIDI_PATCH_BANJO 105
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
554 #define MIDI_PATCH_SHAMISEN 106
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
555 #define MIDI_PATCH_KOTO 107
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
556 #define MIDI_PATCH_KALIMBA 108
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
557 #define MIDI_PATCH_BAG_PIPE 109
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
558 #define MIDI_PATCH_FIDDLE 110
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
559 #define MIDI_PATCH_SHANAI 111
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
560 #define MIDI_PATCH_TINKLE_BELL 112
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
561 #define MIDI_PATCH_AGOGO 113
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
562 #define MIDI_PATCH_STEEL_DRUMS 114
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
563 #define MIDI_PATCH_WOODBLOCK 115
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
564 #define MIDI_PATCH_TAIKO_DRUM 116
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
565 #define MIDI_PATCH_MELODIC_TOM 117
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
566 #define MIDI_PATCH_SYNTH_DRUM 118
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
567 #define MIDI_PATCH_REVERSE_CYMBAL 119
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
568 #define MIDI_PATCH_GUITAR_FRET NOISE 120
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
569 #define MIDI_PATCH_BREATH_NOISE 121
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
570 #define MIDI_PATCH_SEASHORE 122
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
571 #define MIDI_PATCH_BIRD_TWEET 123
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
572 #define MIDI_PATCH_TELEPHONE_RING 124
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
573 #define MIDI_PATCH_HELICOPTER 125
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
574 #define MIDI_PATCH_APPLAUSE 126
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
575 #define MIDI_PATCH_GUNSHOT 127
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
576
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
577
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
578 /*
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
579 ** Notes - Keyed Percussion Names
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
580 */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
581 #define MIDI_DRUM_ACOUSTIC_BASS_DRUM 35
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
582 #define MIDI_DRUM_BASS_DRUM 36
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
583 #define MIDI_DRUM_SIDE_STICK 37
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
584 #define MIDI_DRUM_ACOUSTIC_SNARE 38
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
585 #define MIDI_DRUM_HAND_CLAP 39
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
586 #define MIDI_DRUM_ELECTRIC_SNARE 40
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
587 #define MIDI_DRUM_LOW_FLOOR_TOM 41
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
588 #define MIDI_DRUM_CLOSED_HI_HAT 42
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
589 #define MIDI_DRUM_HIGH_FLOOR_TOM 43
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
590 #define MIDI_DRUM_PEDAL_HI_HAT 44
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
591 #define MIDI_DRUM_LOW_TOM 45
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
592 #define MIDI_DRUM_OPEN_HI_HAT 46
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
593 #define MIDI_DRUM_LOW_MID_TOM 47
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
594 #define MIDI_DRUM_HI_MID_TOM 48
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
595 #define MIDI_DRUM_CRASH_CYMBAL_1 49
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
596 #define MIDI_DRUM_HIGH_TOM 50
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
597 #define MIDI_DRUM_RIDE_CYMBAL_1 51
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
598 #define MIDI_DRUM_CHINESE_CYMBAL 52
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
599 #define MIDI_DRUM_RIDE_BELL 53
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
600 #define MIDI_DRUM_TAMBOURINE 54
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
601 #define MIDI_DRUM_SPLASH_CYMBAL 55
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
602 #define MIDI_DRUM_COWBELL 56
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
603 #define MIDI_DRUM_CRASH_CYMBAL_2 57
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
604 #define MIDI_DRUM_VIBRA_SLAP 58
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
605 #define MIDI_DRUM_RIDE_CYMBAL_2 59
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
606 #define MIDI_DRUM_HI_BONGO 60
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
607 #define MIDI_DRUM_LOW_BONGO 61
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
608 #define MIDI_DRUM_MUTE_HI_CONGA 62
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
609 #define MIDI_DRUM_OPEN_HI_CONGA 63
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
610 #define MIDI_DRUM_LOW_CONGA 64
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
611 #define MIDI_DRUM_HIGH_TIMBALE 65
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
612 #define MIDI_DRUM_LOW_TIMBALE 66
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
613 #define MIDI_DRUM_HIGH_AGOGO 67
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
614 #define MIDI_DRUM_LOW_AGOGO 68
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
615 #define MIDI_DRUM_CABASA 69
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
616 #define MIDI_DRUM_MARACAS 70
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
617 #define MIDI_DRUM_SHORT_WHISTLE 71
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
618 #define MIDI_DRUM_LONG_WHISTLE 72
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
619 #define MIDI_DRUM_SHORT_GUIRO 73
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
620 #define MIDI_DRUM_LONG_GUIRO 74
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
621 #define MIDI_DRUM_CLAVES 75
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
622 #define MIDI_DRUM_HI_WOOD_BLOCK 76
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
623 #define MIDI_DRUM_LOW_WOOD_BLOCK 77
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
624 #define MIDI_DRUM_MUTE_CUICA 78
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
625 #define MIDI_DRUM_OPEN_CUICA 79
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
626 #define MIDI_DRUM_MUTE_TRIANGLE 80
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
627 #define MIDI_DRUM_OPEN_TRIANGLE 81
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
628
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
629
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
630 #endif /* _MIDIINFO_H */
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
631
785057719d9b Import.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
632