ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
map-mt32-to-gm.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef DGDS_SOUND_DRIVERS_MAP_MT32_TO_GM_H
23 #define DGDS_SOUND_DRIVERS_MAP_MT32_TO_GM_H
24 
25 namespace Dgds {
26 
27 // Patch not mapped
28 #define MIDI_UNMAPPED 0xff
29 // Patch mapped to rhythm key
30 #define MIDI_MAPPED_TO_RHYTHM 0xfe
31 
32 struct Mt32ToGmMap {
33  const char *name;
34  uint8 gmInstr;
35  uint8 gmRhythmKey;
36 };
37 
38 /*******************************************
39  * Fancy instrument mappings begin here... *
40  *******************************************/
41 
42 
43 static const Mt32ToGmMap Mt32PresetTimbreMaps[] = {
44  /*000*/ {"AcouPiano1", 0, MIDI_UNMAPPED},
45  /*001*/ {"AcouPiano2", 1, MIDI_UNMAPPED},
46  /*002*/ {"AcouPiano3", 0, MIDI_UNMAPPED},
47  /*003*/ {"ElecPiano1", 4, MIDI_UNMAPPED},
48  /*004*/ {"ElecPiano2", 5, MIDI_UNMAPPED},
49  /*005*/ {"ElecPiano3", 4, MIDI_UNMAPPED},
50  /*006*/ {"ElecPiano4", 5, MIDI_UNMAPPED},
51  /*007*/ {"Honkytonk ", 3, MIDI_UNMAPPED},
52  /*008*/ {"Elec Org 1", 16, MIDI_UNMAPPED},
53  /*009*/ {"Elec Org 2", 17, MIDI_UNMAPPED},
54  /*010*/ {"Elec Org 3", 18, MIDI_UNMAPPED},
55  /*011*/ {"Elec Org 4", 18, MIDI_UNMAPPED},
56  /*012*/ {"Pipe Org 1", 19, MIDI_UNMAPPED},
57  /*013*/ {"Pipe Org 2", 19, MIDI_UNMAPPED},
58  /*014*/ {"Pipe Org 3", 20, MIDI_UNMAPPED},
59  /*015*/ {"Accordion ", 21, MIDI_UNMAPPED},
60  /*016*/ {"Harpsi 1 ", 6, MIDI_UNMAPPED},
61  /*017*/ {"Harpsi 2 ", 6, MIDI_UNMAPPED},
62  /*018*/ {"Harpsi 3 ", 6, MIDI_UNMAPPED},
63  /*019*/ {"Clavi 1 ", 7, MIDI_UNMAPPED},
64  /*020*/ {"Clavi 2 ", 7, MIDI_UNMAPPED},
65  /*021*/ {"Clavi 3 ", 7, MIDI_UNMAPPED},
66  /*022*/ {"Celesta 1 ", 8, MIDI_UNMAPPED},
67  /*023*/ {"Celesta 2 ", 8, MIDI_UNMAPPED},
68  /*024*/ {"Syn Brass1", 62, MIDI_UNMAPPED},
69  /*025*/ {"Syn Brass2", 63, MIDI_UNMAPPED},
70  /*026*/ {"Syn Brass3", 62, MIDI_UNMAPPED},
71  /*027*/ {"Syn Brass4", 63, MIDI_UNMAPPED},
72  /*028*/ {"Syn Bass 1", 38, MIDI_UNMAPPED},
73  /*029*/ {"Syn Bass 2", 39, MIDI_UNMAPPED},
74  /*030*/ {"Syn Bass 3", 38, MIDI_UNMAPPED},
75  /*031*/ {"Syn Bass 4", 39, MIDI_UNMAPPED},
76  /*032*/ {"Fantasy ", 88, MIDI_UNMAPPED},
77  /*033*/ {"Harmo Pan ", 89, MIDI_UNMAPPED},
78  /*034*/ {"Chorale ", 52, MIDI_UNMAPPED},
79  /*035*/ {"Glasses ", 98, MIDI_UNMAPPED},
80  /*036*/ {"Soundtrack", 97, MIDI_UNMAPPED},
81  /*037*/ {"Atmosphere", 99, MIDI_UNMAPPED},
82  /*038*/ {"Warm Bell ", 89, MIDI_UNMAPPED},
83  /*039*/ {"Funny Vox ", 85, MIDI_UNMAPPED},
84  /*040*/ {"Echo Bell ", 39, MIDI_UNMAPPED},
85  /*041*/ {"Ice Rain ", 101, MIDI_UNMAPPED},
86  /*042*/ {"Oboe 2001 ", 68, MIDI_UNMAPPED},
87  /*043*/ {"Echo Pan ", 87, MIDI_UNMAPPED},
88  /*044*/ {"DoctorSolo", 86, MIDI_UNMAPPED},
89  /*045*/ {"Schooldaze", 103, MIDI_UNMAPPED},
90  /*046*/ {"BellSinger", 88, MIDI_UNMAPPED},
91  /*047*/ {"SquareWave", 80, MIDI_UNMAPPED},
92  /*048*/ {"Str Sect 1", 48, MIDI_UNMAPPED},
93  /*049*/ {"Str Sect 2", 48, MIDI_UNMAPPED},
94  /*050*/ {"Str Sect 3", 49, MIDI_UNMAPPED},
95  /*051*/ {"Pizzicato ", 45, MIDI_UNMAPPED},
96  /*052*/ {"Violin 1 ", 40, MIDI_UNMAPPED},
97  /*053*/ {"Violin 2 ", 40, MIDI_UNMAPPED},
98  /*054*/ {"Cello 1 ", 42, MIDI_UNMAPPED},
99  /*055*/ {"Cello 2 ", 42, MIDI_UNMAPPED},
100  /*056*/ {"Contrabass", 43, MIDI_UNMAPPED},
101  /*057*/ {"Harp 1 ", 46, MIDI_UNMAPPED},
102  /*058*/ {"Harp 2 ", 46, MIDI_UNMAPPED},
103  /*059*/ {"Guitar 1 ", 24, MIDI_UNMAPPED},
104  /*060*/ {"Guitar 2 ", 25, MIDI_UNMAPPED},
105  /*061*/ {"Elec Gtr 1", 26, MIDI_UNMAPPED},
106  /*062*/ {"Elec Gtr 2", 27, MIDI_UNMAPPED},
107  /*063*/ {"Sitar ", 104, MIDI_UNMAPPED},
108  /*064*/ {"Acou Bass1", 32, MIDI_UNMAPPED},
109  /*065*/ {"Acou Bass2", 33, MIDI_UNMAPPED},
110  /*066*/ {"Elec Bass1", 34, MIDI_UNMAPPED},
111  /*067*/ {"Elec Bass2", 39, MIDI_UNMAPPED},
112  /*068*/ {"Slap Bass1", 36, MIDI_UNMAPPED},
113  /*069*/ {"Slap Bass2", 37, MIDI_UNMAPPED},
114  /*070*/ {"Fretless 1", 35, MIDI_UNMAPPED},
115  /*071*/ {"Fretless 2", 35, MIDI_UNMAPPED},
116  /*072*/ {"Flute 1 ", 73, MIDI_UNMAPPED},
117  /*073*/ {"Flute 2 ", 73, MIDI_UNMAPPED},
118  /*074*/ {"Piccolo 1 ", 72, MIDI_UNMAPPED},
119  /*075*/ {"Piccolo 2 ", 72, MIDI_UNMAPPED},
120  /*076*/ {"Recorder ", 74, MIDI_UNMAPPED},
121  /*077*/ {"Panpipes ", 75, MIDI_UNMAPPED},
122  /*078*/ {"Sax 1 ", 64, MIDI_UNMAPPED},
123  /*079*/ {"Sax 2 ", 65, MIDI_UNMAPPED},
124  /*080*/ {"Sax 3 ", 66, MIDI_UNMAPPED},
125  /*081*/ {"Sax 4 ", 67, MIDI_UNMAPPED},
126  /*082*/ {"Clarinet 1", 71, MIDI_UNMAPPED},
127  /*083*/ {"Clarinet 2", 71, MIDI_UNMAPPED},
128  /*084*/ {"Oboe ", 68, MIDI_UNMAPPED},
129  /*085*/ {"Engl Horn ", 69, MIDI_UNMAPPED},
130  /*086*/ {"Bassoon ", 70, MIDI_UNMAPPED},
131  /*087*/ {"Harmonica ", 22, MIDI_UNMAPPED},
132  /*088*/ {"Trumpet 1 ", 56, MIDI_UNMAPPED},
133  /*089*/ {"Trumpet 2 ", 56, MIDI_UNMAPPED},
134  /*090*/ {"Trombone 1", 57, MIDI_UNMAPPED},
135  /*091*/ {"Trombone 2", 57, MIDI_UNMAPPED},
136  /*092*/ {"Fr Horn 1 ", 60, MIDI_UNMAPPED},
137  /*093*/ {"Fr Horn 2 ", 60, MIDI_UNMAPPED},
138  /*094*/ {"Tuba ", 58, MIDI_UNMAPPED},
139  /*095*/ {"Brs Sect 1", 61, MIDI_UNMAPPED},
140  /*096*/ {"Brs Sect 2", 61, MIDI_UNMAPPED},
141  /*097*/ {"Vibe 1 ", 11, MIDI_UNMAPPED},
142  /*098*/ {"Vibe 2 ", 11, MIDI_UNMAPPED},
143  /*099*/ {"Syn Mallet", 15, MIDI_UNMAPPED},
144  /*100*/ {"Wind Bell ", 88, MIDI_UNMAPPED},
145  /*101*/ {"Glock ", 9, MIDI_UNMAPPED},
146  /*102*/ {"Tube Bell ", 14, MIDI_UNMAPPED},
147  /*103*/ {"Xylophone ", 13, MIDI_UNMAPPED},
148  /*104*/ {"Marimba ", 12, MIDI_UNMAPPED},
149  /*105*/ {"Koto ", 107, MIDI_UNMAPPED},
150  /*106*/ {"Sho ", 111, MIDI_UNMAPPED},
151  /*107*/ {"Shakuhachi", 77, MIDI_UNMAPPED},
152  /*108*/ {"Whistle 1 ", 78, MIDI_UNMAPPED},
153  /*109*/ {"Whistle 2 ", 78, MIDI_UNMAPPED},
154  /*110*/ {"BottleBlow", 76, MIDI_UNMAPPED},
155  /*111*/ {"BreathPipe", 121, MIDI_UNMAPPED},
156  /*112*/ {"Timpani ", 47, MIDI_UNMAPPED},
157  /*113*/ {"MelodicTom", 117, MIDI_UNMAPPED},
158  /*114*/ {"Deep Snare", MIDI_MAPPED_TO_RHYTHM, 38},
159  /*115*/ {"Elec Perc1", 115, MIDI_UNMAPPED}, // ?
160  /*116*/ {"Elec Perc2", 118, MIDI_UNMAPPED}, // ?
161  /*117*/ {"Taiko ", 116, MIDI_UNMAPPED},
162  /*118*/ {"Taiko Rim ", 118, MIDI_UNMAPPED},
163  /*119*/ {"Cymbal ", MIDI_MAPPED_TO_RHYTHM, 51},
164  /*120*/ {"Castanets ", MIDI_MAPPED_TO_RHYTHM, 75}, // approximation
165  /*121*/ {"Triangle ", 112, MIDI_UNMAPPED},
166  /*122*/ {"Orche Hit ", 55, MIDI_UNMAPPED},
167  /*123*/ {"Telephone ", 124, MIDI_UNMAPPED},
168  /*124*/ {"Bird Tweet", 123, MIDI_UNMAPPED},
169  /*125*/ {"OneNoteJam", 8, MIDI_UNMAPPED}, // approximation
170  /*126*/ {"WaterBells", 98, MIDI_UNMAPPED},
171  /*127*/ {"JungleTune", 75, MIDI_UNMAPPED} // approximation
172 };
173 
174 static const Mt32ToGmMap Mt32RhythmTimbreMaps[] = {
175  /*00*/ {"Acou BD ", MIDI_MAPPED_TO_RHYTHM, 35},
176  /*01*/ {"Acou SD ", MIDI_MAPPED_TO_RHYTHM, 38},
177  /*02*/ {"Acou HiTom", 117, 50},
178  /*03*/ {"AcouMidTom", 117, 47},
179  /*04*/ {"AcouLowTom", 117, 41},
180  /*05*/ {"Elec SD ", MIDI_MAPPED_TO_RHYTHM, 40},
181  /*06*/ {"Clsd HiHat", MIDI_MAPPED_TO_RHYTHM, 42},
182  /*07*/ {"OpenHiHat1", MIDI_MAPPED_TO_RHYTHM, 46},
183  /*08*/ {"Crash Cym ", MIDI_MAPPED_TO_RHYTHM, 49},
184  /*09*/ {"Ride Cym ", MIDI_MAPPED_TO_RHYTHM, 51},
185  /*10*/ {"Rim Shot ", MIDI_MAPPED_TO_RHYTHM, 37},
186  /*11*/ {"Hand Clap ", MIDI_MAPPED_TO_RHYTHM, 39},
187  /*12*/ {"Cowbell ", MIDI_MAPPED_TO_RHYTHM, 56},
188  /*13*/ {"Mt HiConga", MIDI_MAPPED_TO_RHYTHM, 62},
189  /*14*/ {"High Conga", MIDI_MAPPED_TO_RHYTHM, 63},
190  /*15*/ {"Low Conga ", MIDI_MAPPED_TO_RHYTHM, 64},
191  /*16*/ {"Hi Timbale", MIDI_MAPPED_TO_RHYTHM, 65},
192  /*17*/ {"LowTimbale", MIDI_MAPPED_TO_RHYTHM, 66},
193  /*18*/ {"High Bongo", MIDI_MAPPED_TO_RHYTHM, 60},
194  /*19*/ {"Low Bongo ", MIDI_MAPPED_TO_RHYTHM, 61},
195  /*20*/ {"High Agogo", 113, 67},
196  /*21*/ {"Low Agogo ", 113, 68},
197  /*22*/ {"Tambourine", MIDI_MAPPED_TO_RHYTHM, 54},
198  /*23*/ {"Claves ", MIDI_MAPPED_TO_RHYTHM, 75},
199  /*24*/ {"Maracas ", MIDI_MAPPED_TO_RHYTHM, 70},
200  /*25*/ {"SmbaWhis L", 78, 72},
201  /*26*/ {"SmbaWhis S", 78, 71},
202  /*27*/ {"Cabasa ", MIDI_MAPPED_TO_RHYTHM, 69},
203  /*28*/ {"Quijada ", MIDI_MAPPED_TO_RHYTHM, 73},
204  /*29*/ {"OpenHiHat2", MIDI_MAPPED_TO_RHYTHM, 44}
205 };
206 
207 static const uint8 Mt32PresetRhythmKeymap[] = {
208  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
209  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
210  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
211  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, 35, 36, 37, 38, 39,
212  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
213  50, 51, MIDI_UNMAPPED, MIDI_UNMAPPED, 54, MIDI_UNMAPPED, 56, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
214  60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
215  70, 71, 72, 73, MIDI_UNMAPPED, 75, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
216  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
217  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
218  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
219  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED,
220  MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED, MIDI_UNMAPPED
221 };
222 
223 /* +++ - Don't change unless you've got a good reason
224  ++ - Looks good, sounds ok
225  + - Not too bad, but is it right?
226  ? - Where do I map this one?
227  ?? - Any good ideas?
228  ??? - I'm clueless?
229  R - Rhythm...
230 */
231 static const Mt32ToGmMap Mt32MemoryTimbreMaps[] = {
232  {"AccPnoKA2 ", 1, MIDI_UNMAPPED}, // ++ (KQ1)
233  {"Acou BD ", MIDI_MAPPED_TO_RHYTHM, 35}, // R (PQ2)
234  {"Acou SD ", MIDI_MAPPED_TO_RHYTHM, 38}, // R (PQ2)
235  {"AcouPnoKA ", 0, MIDI_UNMAPPED}, // ++ (KQ1)
236  {"BASS ", 32, MIDI_UNMAPPED}, // + (LSL3)
237  {"BASSOONPCM", 70, MIDI_UNMAPPED}, // + (LB1)
238  {"BEACH WAVE", 122, MIDI_UNMAPPED}, // + (LSL3)
239  {"BagPipes ", 109, MIDI_UNMAPPED},
240  {"BassPizzMS", 45, MIDI_UNMAPPED}, // ++ (QFG1)
241  {"BassoonKA ", 70, MIDI_UNMAPPED}, // ++ (KQ1)
242  {"Bell MS", 112, MIDI_UNMAPPED}, // ++ (Iceman)
243  {"Bells MS", 112, MIDI_UNMAPPED}, // + (QFG1)
244  {"Big Bell ", 14, MIDI_UNMAPPED}, // + (LB1)
245  {"Bird Tweet", 123, MIDI_UNMAPPED},
246  {"BrsSect MS", 61, MIDI_UNMAPPED}, // +++ (Iceman)
247  {"CLAPPING ", 126, MIDI_UNMAPPED}, // ++ (LSL3)
248  {"Cabasa ", MIDI_MAPPED_TO_RHYTHM, 69}, // R (Hoyle)
249  {"Calliope ", 82, MIDI_UNMAPPED}, // +++ (QFG1)
250  {"CelticHarp", 46, MIDI_UNMAPPED}, // ++ (Camelot)
251  {"Chicago MS", 1, MIDI_UNMAPPED}, // ++ (Iceman)
252  {"Chop ", 117, MIDI_UNMAPPED},
253  {"Chorale MS", 52, MIDI_UNMAPPED}, // + (Camelot)
254  {"ClarinetMS", 71, MIDI_UNMAPPED},
255  {"Claves ", MIDI_MAPPED_TO_RHYTHM, 75}, // R (PQ2)
256  {"Claw MS", 118, MIDI_UNMAPPED}, // + (QFG1)
257  {"ClockBell ", 14, MIDI_UNMAPPED}, // + (LB1)
258  {"ConcertCym", MIDI_MAPPED_TO_RHYTHM, 55}, // R ? (KQ1)
259  {"Conga MS", MIDI_MAPPED_TO_RHYTHM, 64}, // R (QFG1)
260  {"CoolPhone ", 124, MIDI_UNMAPPED}, // ++ (LSL3)
261  {"CracklesMS", 115, MIDI_UNMAPPED}, // ? (Camelot, QFG1)
262  {"CreakyD MS", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ??? (KQ1)
263  {"Cricket ", 120, MIDI_UNMAPPED}, // ? (LB1)
264  {"CrshCymbMS", MIDI_MAPPED_TO_RHYTHM, 57}, // R +++ (Iceman)
265  {"CstlGateMS", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (QFG1)
266  {"CymSwellMS", MIDI_MAPPED_TO_RHYTHM, 55}, // R ? (Camelot, QFG1)
267  {"CymbRollKA", MIDI_MAPPED_TO_RHYTHM, 57}, // R ? (KQ1)
268  {"Cymbal Lo ", MIDI_UNMAPPED, MIDI_UNMAPPED}, // R ? (LSL3)
269  {"card ", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (Hoyle)
270  {"DirtGtr MS", 30, MIDI_UNMAPPED}, // + (Iceman)
271  {"DirtGtr2MS", 29, MIDI_UNMAPPED}, // + (Iceman)
272  {"E Bass MS", 33, MIDI_UNMAPPED}, // + (SQ3)
273  {"ElecBassMS", 33, MIDI_UNMAPPED},
274  {"ElecGtr MS", 27, MIDI_UNMAPPED}, // ++ (Iceman)
275  {"EnglHornMS", 69, MIDI_UNMAPPED},
276  {"FantasiaKA", 88, MIDI_UNMAPPED},
277  {"Fantasy ", 99, MIDI_UNMAPPED}, // + (PQ2)
278  {"Fantasy2MS", 99, MIDI_UNMAPPED}, // ++ (Camelot, QFG1)
279  {"Filter MS", 95, MIDI_UNMAPPED}, // +++ (Iceman)
280  {"Filter2 MS", 95, MIDI_UNMAPPED}, // ++ (Iceman)
281  {"Flame2 MS", 121, MIDI_UNMAPPED}, // ? (QFG1)
282  {"Flames MS", 121, MIDI_UNMAPPED}, // ? (QFG1)
283  {"Flute MS", 73, MIDI_UNMAPPED}, // +++ (QFG1)
284  {"FogHorn MS", 58, MIDI_UNMAPPED},
285  {"FrHorn1 MS", 60, MIDI_UNMAPPED}, // +++ (QFG1)
286  {"FunnyTrmp ", 56, MIDI_UNMAPPED}, // ++ (LB1)
287  {"GameSnd MS", 80, MIDI_UNMAPPED},
288  {"Glock MS", 9, MIDI_UNMAPPED}, // +++ (QFG1)
289  {"Gunshot ", 127, MIDI_UNMAPPED}, // +++ (LB1)
290  {"Hammer MS", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (QFG1)
291  {"Harmonica2", 22, MIDI_UNMAPPED}, // +++ (LB1)
292  {"Harpsi 1 ", 6, MIDI_UNMAPPED}, // + (Hoyle)
293  {"Harpsi 2 ", 6, MIDI_UNMAPPED}, // +++ (LB1)
294  {"Heart MS", 116, MIDI_UNMAPPED}, // ? (Iceman)
295  {"Horse1 MS", 115, MIDI_UNMAPPED}, // ? (Camelot, QFG1)
296  {"Horse2 MS", 115, MIDI_UNMAPPED}, // ? (Camelot, QFG1)
297  {"InHale MS", 121, MIDI_UNMAPPED}, // ++ (Iceman)
298  {"KNIFE ", 120, MIDI_UNMAPPED}, // ? (LSL3)
299  {"KenBanjo ", 105, MIDI_UNMAPPED}, // +++ (LB1)
300  {"Kiss MS", 25, MIDI_UNMAPPED}, // ++ (QFG1)
301  {"KongHit ", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ??? (KQ1)
302  {"Koto ", 107, MIDI_UNMAPPED}, // +++ (PQ2)
303  {"Laser MS", 81, MIDI_UNMAPPED}, // ?? (QFG1)
304  {"Meeps MS", 62, MIDI_UNMAPPED}, // ? (QFG1)
305  {"MTrak MS", 62, MIDI_UNMAPPED}, // ?? (Iceman)
306  {"MachGun MS", 127, MIDI_UNMAPPED}, // ? (Iceman)
307  {"OCEANSOUND", 122, MIDI_UNMAPPED}, // + (LSL3)
308  {"Oboe 2001 ", 68, MIDI_UNMAPPED}, // + (PQ2)
309  {"Ocean MS", 122, MIDI_UNMAPPED}, // + (Iceman)
310  {"PPG 2.3 MS", 75, MIDI_UNMAPPED}, // ? (Iceman)
311  {"PianoCrank", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (LB1)
312  {"PicSnareMS", MIDI_MAPPED_TO_RHYTHM, 40}, // R ? (Iceman)
313  {"PiccoloKA ", 72, MIDI_UNMAPPED}, // +++ (KQ1)
314  {"PinkBassMS", 39, MIDI_UNMAPPED},
315  {"Pizz2 ", 45, MIDI_UNMAPPED}, // ++ (LB1)
316  {"Portcullis", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (KQ1)
317  {"Raspbry MS", 81, MIDI_UNMAPPED}, // ? (QFG1)
318  {"RatSqueek ", 72, MIDI_UNMAPPED}, // ? (LauraBow1, Camelot)
319  {"Record78 ", MIDI_UNMAPPED, MIDI_UNMAPPED}, // +++ (LB1)
320  {"RecorderMS", 74, MIDI_UNMAPPED}, // +++ (Camelot)
321  {"Red Baron ", 125, MIDI_UNMAPPED}, // ? (LB1)
322  {"ReedPipMS ", 20, MIDI_UNMAPPED}, // +++ (Camelot)
323  {"RevCymb MS", 119, MIDI_UNMAPPED},
324  {"RifleShot ", 127, MIDI_UNMAPPED}, // + (LB1)
325  {"RimShot MS", MIDI_MAPPED_TO_RHYTHM, 37}, // R
326  {"SHOWER ", 52, MIDI_UNMAPPED}, // ? (LSL3)
327  {"SQ Bass MS", 32, MIDI_UNMAPPED}, // + (SQ3)
328  {"ShakuVibMS", 79, MIDI_UNMAPPED}, // + (Iceman)
329  {"SlapBassMS", 36, MIDI_UNMAPPED}, // +++ (Iceman)
330  {"Snare MS", MIDI_MAPPED_TO_RHYTHM, 38}, // R (QFG1)
331  {"Some Birds", 123, MIDI_UNMAPPED}, // + (LB1)
332  {"Sonar MS", 78, MIDI_UNMAPPED}, // ? (Iceman)
333  {"Soundtrk2 ", 97, MIDI_UNMAPPED}, // +++ (LB1)
334  {"Soundtrack", 97, MIDI_UNMAPPED}, // ++ (Camelot)
335  {"SqurWaveMS", 80, MIDI_UNMAPPED},
336  {"StabBassMS", 34, MIDI_UNMAPPED}, // + (Iceman)
337  {"SteelDrmMS", 114, MIDI_UNMAPPED}, // +++ (Iceman)
338  {"StrSect1MS", 48, MIDI_UNMAPPED}, // ++ (QFG1)
339  {"String MS", 45, MIDI_UNMAPPED}, // + (Camelot)
340  {"Syn-Choir ", 91, MIDI_UNMAPPED},
341  {"Syn Brass4", 63, MIDI_UNMAPPED}, // ++ (PQ2)
342  {"SynBass MS", 38, MIDI_UNMAPPED},
343  {"SwmpBackgr", 120, MIDI_UNMAPPED}, // ?? (LB1, QFG1)
344  {"T-Bone2 MS", 57, MIDI_UNMAPPED}, // +++ (QFG1)
345  {"Taiko ", 116, 35}, // +++ (Camelot)
346  {"Taiko Rim ", 118, 37}, // +++ (LSL3)
347  {"Timpani1 ", 47, MIDI_UNMAPPED}, // +++ (LB1)
348  {"Tom MS", 117, 48}, // +++ (Iceman)
349  {"Toms MS", 117, 48}, // +++ (Camelot, QFG1)
350  {"Tpt1prtl ", 56, MIDI_UNMAPPED}, // +++ (KQ1)
351  {"TriangleMS", 112, 81}, // R (Camelot)
352  {"Trumpet 1 ", 56, MIDI_UNMAPPED}, // +++ (Camelot)
353  {"Type MS", MIDI_MAPPED_TO_RHYTHM, 39}, // + (Iceman)
354  {"Warm Pad" , 89, MIDI_UNMAPPED}, // ++ (PQ3)
355  {"WaterBells", 98, MIDI_UNMAPPED}, // + (PQ2)
356  {"WaterFallK", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (KQ1)
357  {"Whiporill ", 123, MIDI_UNMAPPED}, // + (LB1)
358  {"Wind ", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (LB1)
359  {"Wind MS", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (QFG1, Iceman)
360  {"Wind2 MS", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (Camelot)
361  {"Woodpecker", 115, MIDI_UNMAPPED}, // ? (LB1)
362  {"WtrFall MS", MIDI_UNMAPPED, MIDI_UNMAPPED}, // ? (Camelot, QFG1, Iceman)
363  {0, 0, 0}
364 };
365 
367  extern Mt32ToGmMapList *Mt32dynamicMappings;
368 
369 } // End of namespace Dgds
370 
371 #endif // DGDS_SOUND_DRIVERS_MAP_MT32_TO_GM_H
Definition: ads.h:28
Definition: map-mt32-to-gm.h:32
Definition: list.h:44