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