1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463
|
/* pcmap.c
*
* Copyright (C) 2002 Greg Lee <greg@ling.lll.hawaii.edu>
*
* This file is part of the MIDI input plugin for AlsaPlayer.
*
* The MIDI input plugin for AlsaPlayer is free software;
* you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software
* Foundation; either version 3 of the License, or (at your option)
* any later version.
*
* The MIDI input plugin for AlsaPlayer is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
* $Id$ Greg Lee
*/
/* bank 1 sf */
/* */
/* 120 Cut_Noise */
/* 121 Fl._Key_Click */
/* 122 Rain */
/* This table is derived from Eric Welsh's .cfg files for hiw "eawpats" distribution. */
#define STS 1
#define SDS 2
static int pc42bmap[][7] = {
/* Toneset?, bank, prog, newbank, newprog, note, pan */
{STS, 1, 123, 56, 76, 1, 0 }, /* Dog1oct1 */
{STS, 1, 124, 0, 124, 0, 0 }, /* sfx/dialtone # telephone dial */
{STS, 1, 125, 56, 63, 1, 0 }, /* sfx/carengin # car engine */
{STS, 1, 126, 56, 52, 1, 0 }, /* sfx/laugh # laughing */
{STS, 1, 127, 56, 73, 1, 0 }, /* sfx/machgun2 # machine gun */
{STS, 2, 120, 0, 120, 0, 0 }, /* fx-fret # string slap */
/* 122 Thunder*/
{STS, 2, 123, 56, 77, 1, 0 }, /* sfx/hoofs # horse gallop */
{STS, 2, 124, 56, 59, 1, 0 }, /* sfx/creak # door creaking */
{STS, 2, 125, 56, 64, 1, 0 }, /* sfx/carstop # car stop */
{STS, 2, 126, 56, 53, 1, 0 }, /* sfx/scream # screaming */
{STS, 2, 127, 56, 81, 1, 0 }, /* gus/sqrwave # laser gun */
{STS, 3, 120, 56, 49, 1, 0 }, /* sfx/cutnoiz # cut noise 2 */
{STS, 3, 122, 56, 82, 1, 0 }, /* sfx/newwind amp=75 # wind */
{STS, 3, 123, 56, 78, 1, 0 }, /* sfx/birdtwee amp=25 # bird 2 */
{STS, 3, 124, 56, 60, 1, 0 }, /* sfx/door # door slam */
{STS, 3, 125, 56, 65, 1, 0 }, /* sfx/carpass # car pass */
{STS, 3, 126, 56, 54, 1, 0 }, /* sfx/punch # punch */
{STS, 3, 127, 56, 75, 1, 0 }, /* pistol # explosion */
{STS, 4, 120, 56, 48, 1, 0 }, /* sfx/cutnoiz # dist cut noise */
{STS, 4, 122, 56, 83, 1, 0 }, /* sfx/stream amp=75 # stream */
{STS, 4, 123, 56, 78, 1, 0 }, /* sfx/meow BIRD! # kitty */
{STS, 4, 124, 56, 61, 1, 0 }, /* sfx/scratch1 # scratch */
{STS, 4, 125, 56, 66, 1, 0 }, /* sfx/carcrash # car crash */
{STS, 4, 126, 56, 55, 1, 0 }, /* sfx/heartbt # heart beat */
{STS, 4, 127, 56, 58, 1, 0 }, /* sfx/firework APPLAUSE! # fireworks (?) */
{STS, 5, 120, 0, 120, 0, 0 }, /* fx-fret # bass slide */
{STS, 5, 122, 56, 84, 1, 0 }, /* sfx/bubbles1 # bubble */
{STS, 5, 123, 56, 76, 1, 0 }, /* sfx/doggrowl # growl */
{STS, 5, 124, 56, 62, 1, 0 }, /* sfx/windchim RIDE BELL! # wind chime */
{STS, 5, 125, 56, 67, 1, 0 }, /* sfx/ambulanc # siren */
{STS, 5, 126, 56, 56, 1, 0 }, /* mazpat/fx/newstep # footsteps */
{STS, 6, 120, 0, 120, 0, 0 }, /* fx-fret # pick strape */
{STS, 6, 124, 56, 61, 1, 0 }, /* sfx/scratch2 # scratch 2 (?) */
{STS, 6, 125, 56, 68, 1, 0 }, /* mazpat/fx/newtrain # train */
{STS, 6, 126, 56, 58, 1, 0 }, /* applause # applause 2 */
{STS, 7, 124, 56, 61, 1, 0 }, /* sfx/scratch2 # scratch 2 */
{STS, 7, 125, 56, 82, 1, 0 }, /* mazpat/fx/jet amp=70 # jetplane */
{STS, 8, 125, 56, 81, 1, 0 }, /* sfx/starship # starship */
{STS, 9, 125, 56, 72, 1, 0 }, /* pistol # burst noise */
/* bank 120 */
{ STS, 120, 0, 56, 48, 1, 0 }, /* sfx/cutnoiz # cut noise */
{ STS, 120, 1, 56, 49, 1, 0 }, /* sfx/cutnoiz # cut noise 2 */
{ STS, 120, 2, 56, 48, 1, 0 }, /* sfx/cutnoiz # dist cut noise */
{ STS, 120, 3, 0, 120, 0, 0 }, /* fx-fret # string slap */
{ STS, 120, 4, 0, 120, 0, 0 }, /* fx-fret # bass slide */
{ STS, 120, 5, 0, 120, 0, 0 }, /* fx-fret # pick strape */
{ STS, 120, 16, 1, 121, 0, 0 }, /* sfx/flclick # fl key click */
{ STS, 120, 32, 56, 82, 1, 0 }, /* mazpat/fx/rainyday # rain */
{ STS, 120, 33, 56, 80, 1, 0 }, /* sfx/thunder2 # thunder */
{ STS, 120, 34, 56, 82, 1, 0 }, /* sfx/newwind amp=75 # wind */
{ STS, 120, 35, 56, 81, 1, 0 }, /* sfx/stream amp=75 # stream */
{ STS, 120, 36, 56, 84, 1, 0 }, /* sfx/bubbles1 # bubbling */
/* #37 # feed */
{ STS, 120, 48, 56, 76, 1, 0 }, /* sfx/dog1 # dog */
{ STS, 120, 49, 56, 77, 1, 0 }, /* sfx/hoofs # horse gallop */
{ STS, 120, 50, 56, 78, 1, 0 }, /* sfx/birdtwee amp=25 # bird 2 */
{ STS, 120, 51, 56, 78, 1, 0 }, /* sfx/meow # kitty */
{ STS, 120, 52, 56, 76, 1, 0 }, /* sfx/doggrowl # growl */
/* #53 # haunted */
{ STS, 120, 54, 56, 82, 1, 0 }, /* sfx/ghost # ghost */
/* #55 sfx/badmaou # maou */
{ STS, 120, 64, 0, 124, 0, 0 }, /* sfx/dialtone # telephone dial */
{ STS, 120, 65, 56, 59, 1, 0 }, /* sfx/creak # door creaking */
{ STS, 120, 66, 56, 60, 1, 0 }, /* sfx/door # door slam */
{ STS, 120, 67, 56, 29, 1, 0 }, /* sfx/scratch1 # scratch */
{ STS, 120, 68, 56, 30, 1, 0 }, /* sfx/scratch2 # scratch 2 */
{ STS, 120, 69, 56, 62, 1, 0 }, /* sfx/windchim # wind chime */
{ STS, 120, 70, 0, 124, 0, 0 }, /* telephon # telephone 2 */
{ STS, 120, 80, 56, 63, 1, 0 }, /* sfx/carengin # car engine */
{ STS, 120, 81, 56, 64, 1, 0 }, /* sfx/carstop # car stop */
{ STS, 120, 82, 56, 65, 1, 0 }, /* sfx/carpass # car pass */
{ STS, 120, 83, 56, 66, 1, 0 }, /* sfx/carcrash # car crash */
{ STS, 120, 84, 56, 67, 1, 0 }, /* sfx/ambulanc # siren */
{ STS, 120, 85, 56, 68, 1, 0 }, /* mazpat/fx/newtrain # train */
{ STS, 120, 86, 56, 82, 1, 0 }, /* mazpat/fx/jet amp=70 # jetplane */
{ STS, 120, 87, 56, 81, 1, 0 }, /* sfx/starship # starship */
{ STS, 120, 88, 56, 72, 1, 0 }, /* pistol # burst noise */
{ STS, 120, 89, 56, 68, 1, 0 }, /* mazpat/fx/train # coaster */
{ STS, 120, 90, 56, 84, 1, 0 }, /* sfx/bubbles1 # submarine (needs to be replaced) */
{ STS, 120, 96, 56, 52, 1, 0 }, /* sfx/laugh # laughing */
{ STS, 120, 97, 56, 53, 1, 0 }, /* sfx/scream # screaming */
{ STS, 120, 98, 56, 54, 1, 0 }, /* sfx/punch # punch */
{ STS, 120, 99, 56, 55, 1, 0 }, /* sfx/heartbt # heart beat */
{ STS, 120, 100, 56, 56, 1, 0 }, /* mazpat/fx/newstep # footsteps */
{ STS, 120, 101, 56, 58, 1, 0 }, /* applause # applause 2 */
{ STS, 120, 112, 56, 73, 1, 0 }, /* sfx/machgun2 # machine gun */
{ STS, 120, 113, 56, 69, 1, 0 }, /* gus/sqrwave # laser gun */
{ STS, 120, 114, 56, 72, 1, 0 }, /* pistol # explosion */
{ STS, 120, 115, 56, 58, 1, 0 }, /* sfx/firework # fireworks */
/* drumset 0 sf Standard */
{ SDS, 0, 13, 0, 86, 0, 0 }, /* surdo1 note=86 pan=-21 */
{ SDS, 0, 14, 0, 87, 0, 0 }, /* surdo2 note=87 pan=-32 */
{ SDS, 0, 15, 0, 27, 0, 0 }, /* highq note=65 pan=-21 amp=50 */
{ SDS, 0, 16, 8, 28, 0, 0 }, /* slap note=28 pan=-21 */
{ SDS, 0, 17, 0, 29, 0, 0 }, /* scratch1 note=29 pan=-19 amp=30 */
{ SDS, 0, 18, 0, 30, 0, 0 }, /* scratch2 note=30 pan=-19 amp=30 */
{ SDS, 0, 19, 0, 27, 0, 0 }, /* snap note=65 pan=center */
{ SDS, 0, 20, 8, 32, 0, 0 }, /* sqrclick note=60 pan=center */
{ SDS, 0, 21, 0, 33, 0, 0 }, /* metclick note=60 pan=center */
{ SDS, 0, 22, 0, 53, 0, 0 }, /* metbell note=60 pan=center */ /* ?? Ride Bell */
{ SDS, 0, 23, 0, 34, 0, 0 }, /* metclick note=60 pan=center # Seq Click L */
/* 24 metclick note=60 pan=center # Seq Click H */
/* # needed to remap sets 24/25 */
{ SDS, 0, 100, 0, 119, 1, 0 }, /* gsdrum25/revcym pan=center note=52 # reverse cymbal */
/* # repitch congas for most XG sets (verified as correct) */
{ SDS, 0, 101, 8, 63, 0, 0 }, /* congahi1 pan=-40 note=52 # +7 */
{ SDS, 0, 102, 8, 63, 0, 0 }, /* congahi2 pan=-62 note=61 # +4 */
{ SDS, 0, 103, 8, 63, 0, 0 }, /* congalo pan=center note=62 # low */
/* # conga pitches for XG Analog set (verified as correct) */
{ SDS, 0, 104, 8, 63, 0, 0 }, /* congahi1 pan=-40 note=55 # +12 */
{ SDS, 0, 105, 8, 63, 0, 0 }, /* congahi2 pan=-62 note=62 # +7 */
{ SDS, 0, 106, 8, 63, 0, 0 }, /* congalo pan=center note=60 # low */
/* # Dance */
/* drumset 26 */
/* */
/* # like the Electric set but with CR-78 drums */
{ SDS, 26, 35, 24, 35, 0, 0 }, /* gsdrum25/78kick pan=center amp=100 note=36 */
{ SDS, 26, 36, 24, 36, 0, 0 }, /* gsdrum25/808bd2 pan=center amp=100 */
{ SDS, 26, 38, 24, 38, 0, 0 }, /* gsdrum25/78snare pan=center */
{ SDS, 26, 40, 24, 40, 0, 0 }, /* gsdrum25/909snare pan=center note=38 */
{ SDS, 26, 41, 24, 41, 0, 0 }, /* gsdrum25/808toml2 pan=-63 */
{ SDS, 26, 42, 24, 42, 0, 0 }, /* gsdrum25/78hhc pan=21 */
{ SDS, 26, 43, 24, 43, 0, 0 }, /* gsdrum25/808toml1 pan=-40 */
{ SDS, 26, 45, 24, 45, 0, 0 }, /* gsdrum25/808tomm2 pan=-19 */
{ SDS, 26, 46, 24, 46, 0, 0 }, /* gsdrum25/78hho pan=21 */
{ SDS, 26, 47, 24, 47, 0, 0 }, /* gsdrum25/808tomm1 pan=center */
{ SDS, 26, 48, 24, 48, 0, 0 }, /* gsdrum25/808tomh2 pan=30 */
{ SDS, 26, 50, 24, 50, 0, 0 }, /* gsdrum25/808tomh1 pan=63 */
{ SDS, 26, 52, 24, 52, 0, 0 }, /* gsdrum25/revcym pan=center */
/* */
/* # Roland SC-88 Ethnic Set */
/* drumset 49 */
/* */
/* # Normal drums should be ok, but most of the exotic drums sound wrong. I */
/* # have a set of reference samples from an SC-88 now, so I will improve the */
/* # exotic drum assignments in the future. There are two mappings for the */
/* # tablas. The bongo/conga mapping is taken from the included tabla.txt. */
/* # The tabla.pat tabla mapping is based off the bongo/conga tabla mapping, */
/* # where I tried to assign the pitches by ear to those heard in the bongo/conga */
/* # mapping. I hadn't done this correctly in some previous releases, but */
/* # hopefully I've got it right now. The pitches of the two different mappings */
/* # should sound the same. */
{ SDS, 49, 25, 8, 26, 0, 0 }, /* snap note=65 pan=center # Finger Snap */
{ SDS, 49, 26, 0, 54, 0, 0 }, /* tamborin note=60 pan=center # Tambourine */
{ SDS, 49, 27, 0, 85, 0, 0 }, /* castinet note=85 pan=center # Castanets */
{ SDS, 49, 28, 0, 55, 0, 0 }, /* cymcrsh1 note=49 pan=8 amp=90 # Crash Cymbal1 */
{ SDS, 49, 29, 8, 41, 0, 0 }, /* snarerol keep=env note=60 amp=225 pan=center # Snare Roll ?? */
{ SDS, 49, 30, 99, 38, 0, 0 }, /* snare1 note=38 pan=center # Concert Snare Drum */
{ SDS, 49, 31, 0, 55, 0, 0 }, /* cymcrsh2 note=57 pan=-21 amp=90 # Concert Cymbal */
{ SDS, 49, 32, 0, 35, 0, 0 }, /* concrtbd note=48 pan=center # Concert BD1 */
{ SDS, 49, 33, 0, 83, 0, 0 }, /* jingles note=92 pan=65 # Jingle Bell */
{ SDS, 49, 34, 8, 84, 0, 0 }, /* belltree note=84 pan=center keep=loop keep=env # Bell Tree */
{ SDS, 49, 35, 8, 84, 0, 0 }, /* belltree note=84 keep=loop keep=env # Bar Chimes */
{ SDS, 49, 36, 99, 47, 0, 0 }, /* tommid1 note=47 # Wadaiko */
{ SDS, 49, 37, 0, 37, 0, 0 }, /* stickrim note=37 # Wadaiko Rim */
{ SDS, 49, 38, 99, 47, 0, 0 }, /* tommid1 note=47 # Shimo Taiko */
{ SDS, 49, 39, 99, 47, 0, 0 }, /* tommid1 note=47 # Atarigana */
{ SDS, 49, 40, 99, 48, 0, 0 }, /* tommid1 note=47 # Hyoushigi */
{ SDS, 49, 41, 99, 48, 0, 0 }, /* tommid1 note=47 # Ohkawa */
{ SDS, 49, 42, 8, 63, 0, 0 }, /* congahi2 note=62 # High Kotsuzumi */
{ SDS, 49, 43, 8, 63, 0, 0 }, /* congalo note=60 # Low Kotsuzumi */
{ SDS, 49, 44, 99, 50, 0, 0 }, /* tommid1 note=47 # Ban Gu */
{ SDS, 49, 45, 0, 14, 1, 0 }, /* ethnic/gong note=59 # Big Gong */
{ SDS, 49, 46, 0, 14, 1, 0 }, /* ethnic/gong note=59 # Small Gong */
{ SDS, 49, 47, 0, 14, 1, 0 }, /* ethnic/gong note=59 # Bend Gong */
{ SDS, 49, 48, 0, 14, 1, 0 }, /* ethnic/gong note=59 # Thai Gong */
{ SDS, 49, 49, 8, 52, 1, 0 }, /* cymchina note=52 # Rama Cymbal */
{ SDS, 49, 50, 8, 52, 0, 0 }, /* cymchina note=52 # Gamelon Gong */
{ SDS, 49, 51, 99, 47, 0, 0 }, /* tommid1 note=47 # Udo Short */
{ SDS, 49, 52, 99, 48, 0, 0 }, /* tommid1 note=47 # Udo Long */
{ SDS, 49, 53, 8, 28, 0, 0 }, /* slap note=28 # Udo Slap */
{ SDS, 49, 54, 8, 63, 0, 0 }, /* congalo note=60 # Bendir */
{ SDS, 49, 55, 8, 63, 0, 0 }, /* congalo note=60 # Rec Dum */
{ SDS, 49, 56, 8, 63, 0, 0 }, /* congalo note=60 # Rec Tik */
{ SDS, 49, 57, 0, 104, 1, 0 }, /* ethnic/tabla note=60 # Tabla Te */
{ SDS, 49, 58, 0, 104, 1, 0 }, /* ethnic/tabla note=52 # Tabla Na */
{ SDS, 49, 59, 0, 104, 1, 0 }, /* ethnic/tabla note=50 # Tabla Tun */
{ SDS, 49, 60, 0, 104, 1, 0 }, /* ethnic/tabla note=43 # Tabla Ge */
{ SDS, 49, 61, 0, 104, 1, 0 }, /* ethnic/tabla note=55 # Tabla Ge Hi */
{ SDS, 49, 62, 0, 117, 1, 0 }, /* ethnic/talkdrum note=64 # Talking Drum */
{ SDS, 49, 63, 0, 117, 1, 0 }, /* ethnic/talkbend note=51 # Bend Talking Drum */
{ SDS, 49, 64, 8, 63, 0, 0 }, /* congalo note=60 # Caxixi */
{ SDS, 49, 65, 99, 61, 0, 0 }, /* bongohi note=60 # Djembe */
{ SDS, 49, 66, 99, 60, 0, 0 }, /* stickrim note=37 # Djembe Rim */
{ SDS, 49, 67, 99, 66, 0, 0 }, /* timbalel note=60 pan=center # Timbales Low */
{ SDS, 49, 68, 0, 66, 0, 0 }, /* timbalel note=60 pan=center # Timbales Paila */
{ SDS, 49, 69, 0, 65, 0, 0 }, /* timbaleh note=60 pan=center # Timbales High */
{ SDS, 49, 70, 8, 56, 0, 0 }, /* cowbell note=56 pan=21 # Cowbell */
{ SDS, 49, 71, 99, 61, 0, 0 }, /* bongohi note=60 pan=73 # Hi Bongo */
{ SDS, 49, 72, 99, 61, 0, 0 }, /* bongolo note=61 pan=73 # Low Bongo */
{ SDS, 49, 73, 8, 63, 0, 0 }, /* congahi1 note=55 pan=-40 # Mute Hi Conga */
{ SDS, 49, 74, 8, 63, 0, 0 }, /* congahi2 note=62 pan=-62 # Open Hi Conga */
{ SDS, 49, 75, 8, 63, 0, 0 }, /* congalo note=60 pan=center # Mute Low Conga */
{ SDS, 49, 76, 8, 63, 0, 0 }, /* congalo note=60 pan=center # Conga Slap */
{ SDS, 49, 77, 8, 63, 0, 0 }, /* congalo note=60 pan=center # Open Low Conga */
{ SDS, 49, 78, 8, 63, 0, 0 }, /* congalo note=60 pan=center # Conga Slide */
{ SDS, 49, 79, 0, 86, 0, 0 }, /* surdo1 note=86 pan=-21 # Mute Pandiero */
{ SDS, 49, 80, 0, 87, 0, 0 }, /* surdo2 note=87 pan=-21 # Open Pandiero */
{ SDS, 49, 81, 0, 87, 0, 0 }, /* surdo2 note=87 pan=-21 # Open Surdo */
{ SDS, 49, 82, 0, 86, 0, 0 }, /* surdo1 note=86 pan=-21 # Mute Surdo */
{ SDS, 49, 83, 0, 54, 0, 0 }, /* tamborin note=60 pan=center # Tamborim */
{ SDS, 49, 84, 99, 67, 0, 0 }, /* agogohi note=60 pan=-48 # High Agogo */
{ SDS, 49, 85, 99, 68, 0, 0 }, /* agogolo note=60 pan=-48 # Low Agogo */
{ SDS, 49, 86, 99, 82, 0, 0 }, /* shaker note=82 pan=30 # Shaker */
{ SDS, 49, 87, 99, 71, 0, 0 }, /* whistle1 note=60 pan=59 keep=loop keep=env # High Whistle */
{ SDS, 49, 88, 99, 72, 0, 0 }, /* whistle2 note=60 pan=59 keep=loop keep=env # Low Whistle */
{ SDS, 49, 89, 99, 78, 0, 0 }, /* cuica1 note=60 pan=-68 # Mute Cuica */
{ SDS, 49, 90, 99, 79, 0, 0 }, /* cuica2 note=79 pan=-48 # Open Cuica */
{ SDS, 49, 91, 99, 80, 0, 0 }, /* triangl1 note=60 pan=-62 # Mute Triangle */
{ SDS, 49, 92, 99, 81, 0, 0 }, /* triangl2 note=60 pan=-62 # Open Triangle */
{ SDS, 49, 93, 99, 73, 0, 0 }, /* guiro1 note=73 pan=49 # Short Guiro */
{ SDS, 49, 94, 99, 74, 0, 0 }, /* guiro2 note=60 pan=73 keep=env # Long Guiro */
{ SDS, 49, 95, 99, 69, 0, 0 }, /* cabasa note=69 pan=-57 # Cabasa Up */
{ SDS, 49, 96, 99, 69, 0, 0 }, /* cabasa note=69 pan=-57 # Cabasa Down */
{ SDS, 49, 97, 99, 75, 0, 0 }, /* clave note=75 pan=center # Claves */
{ SDS, 49, 98, 99, 76, 0, 0 }, /* woodblk1 note=60 pan=63 # High Wood Block */
{ SDS, 49, 99, 99, 77, 0, 0 }, /* woodblk2 note=60 pan=63 # Low Wood Block */
/* # Roland SC-88 Kick & Snare Set */
/* drumset 50 */
{ SDS, 50, 40, 99, 36, 0, 0 }, /* kick1 note=35 pan=center # Standard 1 Kick 1 */
{ SDS, 50, 41, 99, 35, 0, 0 }, /* kick2 note=36 pan=center # Standard 1 Kick 2 */
{ SDS, 50, 42, 99, 36, 0, 0 }, /* kick1 note=35 pan=center # Standard 2 Kick 1 */
{ SDS, 50, 43, 99, 35, 0, 0 }, /* kick2 note=36 pan=center # Standard 2 Kick 2 */
{ SDS, 50, 44, 99, 36, 0, 0 }, /* kick1 note=35 pan=center # Kick 1 */
{ SDS, 50, 45, 99, 35, 0, 0 }, /* kick2 note=36 pan=center # Kick 2 */
{ SDS, 50, 46, 99, 35, 0, 0 }, /* kick2 note=36 pan=center # Soft Kick */
{ SDS, 50, 47, 99, 36, 0, 0 }, /* kick1 note=35 pan=center # Jazz Kick 1 */
{ SDS, 50, 48, 99, 35, 0, 0 }, /* kick2 note=36 pan=center # Jazz Kick 2 */
{ SDS, 50, 49, 0, 35, 0, 0 }, /* concrtbd note=48 pan=center # Concert BD */
{ SDS, 50, 50, 8, 36, 0, 0 }, /* kick1 note=35 pan=center # Room Kick 1 */
{ SDS, 50, 51, 8, 35, 0, 0 }, /* gsdrum08/roomkick note=36 pan=center # Room Kick 2 */
{ SDS, 50, 52, 16, 36, 0, 0 }, /* power/powrkic1 amp=150 note=36 pan=center # Power Kick 1 */
{ SDS, 50, 53, 16, 35, 0, 0 }, /* power/powrkic3 amp=150 note=36 pan=center # Power Kick 2 */
{ SDS, 50, 54, 24, 35, 0, 0 }, /* power/powrkic1 amp=150 note=36 pan=center # Electric Kick 2 (1?) */
{ SDS, 50, 55, 24, 36, 0, 0 }, /* power/powrkic3 amp=150 note=36 pan=center # Electric Kick 1 (2?) */
{ SDS, 50, 56, 24, 36, 0, 0 }, /* power/powrkic1 amp=150 note=36 pan=center # Electric Kick */
{ SDS, 50, 57, 25, 36, 0, 0 }, /* gsdrum25/808bd2 amp=100 note=36 pan=center # 808 Bass Drum */
{ SDS, 50, 58, 25, 35, 0, 0 }, /* gsdrum25/909kick amp=100 note=36 pan=center # 909 Bass Drum */
{ SDS, 50, 59, 32, 35, 0, 0 }, /* gsdrum25/78kick amp=100 note=36 pan=center # Dance Kick */
{ SDS, 50, 60, 32, 38, 0, 0 }, /* snare1 note=38 pan=center # Standard 1 Snare 1 */
{ SDS, 50, 61, 32, 40, 0, 0 }, /* snare2 note=40 pan=center # Standard 1 Snare 2 */
{ SDS, 50, 62, 32, 38, 0, 0 }, /* snare1 note=38 pan=center # Standard 2 Snare 1 */
{ SDS, 50, 63, 32, 40, 0, 0 }, /* snare2 note=40 pan=center # Standard 2 Snare 2 */
{ SDS, 50, 64, 32, 40, 0, 0 }, /* snare2 note=40 pan=center # Tight Snare */
{ SDS, 50, 65, 32, 38, 0, 0 }, /* snare1 note=38 pan=center # Concert Snare */
{ SDS, 50, 66, 32, 38, 0, 0 }, /* snare1 note=38 pan=center # Jazz Snare 1 */
{ SDS, 50, 67, 32, 40, 0, 0 }, /* snare2 note=40 pan=center # Jazz Snare 2 */
{ SDS, 50, 68, 32, 38, 0, 0 }, /* snare1 note=38 pan=center # Room Snare 1 */
{ SDS, 50, 69, 32, 40, 0, 0 }, /* snare2 note=40 pan=center # Room Snare 2 */
{ SDS, 50, 70, 16, 38, 0, 0 }, /* power/gatesd1 pan=center note=38 # Power Snare 1 */
{ SDS, 50, 71, 16, 40, 0, 0 }, /* power/gatesd0 pan=center note=38 # Power Snare 2 */
{ SDS, 50, 72, 16, 39, 0, 0 }, /* power/gatesd2 pan=center note=38 # Gated Snare */
{ SDS, 50, 73, 32, 38, 0, 0 }, /* gsdrum25/78snare pan=center note=38 # Dance Snare 1 */
{ SDS, 50, 74, 32, 40, 0, 0 }, /* gsdrum25/909snare pan=center note=40 # Dance Snare 2 */
{ SDS, 50, 75, 32, 40, 0, 0 }, /* snare1 pan=center note=38 # Disco Snare */
{ SDS, 50, 76, 24, 40, 0, 0 }, /* power/gatesd0 pan=center note=38 # Electric Snare 2 */
{ SDS, 50, 77, 24, 39, 0, 0 }, /* power/gatesd1 pan=center note=38 # House Snare */
{ SDS, 50, 78, 24, 38, 0, 0 }, /* power/gatesd1 pan=center note=38 # Electric Snare 1 */
{ SDS, 50, 79, 24, 39, 0, 0 }, /* power/gatesd0 pan=center note=38 # Electric Snare 3 */
{ SDS, 50, 80, 25, 38, 0, 0 }, /* gsdrum25/808snare pan=center note=38 # 808 Snare 1 */
{ SDS, 50, 81, 25, 40, 0, 0 }, /* gsdrum25/808snar2 pan=center note=40 # 808 Snare 2 */
{ SDS, 50, 82, 25, 38, 0, 0 }, /* gsdrum25/909snare pan=center note=38 # 909 Snare 1 */
{ SDS, 50, 83, 25, 40, 0, 0 }, /* gsdrum25/808snar2 pan=center note=40 # 909 Snare 2 */
{ SDS, 50, 84, 40, 33, 0, 0 }, /* gsdrum40/br_swish amp=70 pan=center note=38 # Brush Tap1 */
{ SDS, 50, 85, 40, 34, 0, 0 }, /* gsdrum40/br_swish amp=70 pan=center note=38 # Brush Tap2 */
{ SDS, 50, 86, 40, 39, 0, 0 }, /* gsdrum40/br_slap pan=center note=39 # Brush Slap1 */
{ SDS, 50, 87, 40, 39, 0, 0 }, /* gsdrum40/br_slap pan=center note=39 # Brush Slap2 */
{ SDS, 50, 88, 40, 39, 0, 0 }, /* gsdrum40/br_slap pan=center note=39 # Brush Slap3 */
{ SDS, 50, 89, 40, 40, 0, 0 }, /* gsdrum40/br_swirl amp=70 pan=center note=40 keep=env # Brush Swirl1 */
{ SDS, 50, 90, 40, 40, 0, 0 }, /* gsdrum40/br_swirl amp=70 pan=center note=40 keep=env # Brush Swirl2 */
{ SDS, 50, 91, 40, 40, 0, 0 }, /* gsdrum40/br_swirl amp=70 pan=center note=40 keep=env # Brush Long Swirl */
/* drumset 56 sf SFX_[SC-55] */
{ SDS, 56, 31, 56, 42, 0, 0 }, /* sfx/scratch1 note=60 pan=center # Scratch Push2 */
{ SDS, 56, 32, 56, 41, 0, 0 }, /* sfx/scratch2 note=60 pan=center # Scratch Pull2 */
{ SDS, 56, 33, 56, 49, 0, 0 }, /* sfx/cutnoiz note=60 pan=center # Cutting Noise 2 Up */
{ SDS, 56, 34, 56, 48, 0, 0 }, /* sfx/cutnoiz note=60 pan=center # Cutting Noise 2 Down */
{ SDS, 56, 35, 56, 49, 0, 0 }, /* sfx/cutnoiz note=60 pan=center # DistGuitar Cutting Noise Up */
{ SDS, 56, 36, 56, 48, 0, 0 }, /* sfx/cutnoiz note=60 pan=center # DistGuitar Cutting Noise Down */
{ SDS, 56, 37, 0, 120, 1, 0 }, /* fx-fret note=60 pan=center # Bass Slide */
{ SDS, 56, 38, 0, 120, 1, 0 }, /* fx-fret note=60 pan=center # Pick Scrape */
{ SDS, 56, 85, 56, 78, 0, 0 }, /* sfx/meow note=60 pan=center # Kitty */
{ SDS, 56, 86, 56, 78, 0, 0 }, /* sfx/birdtwee amp=25 note=60 keep=loop keep=env pan=center # Bird2 */
{ SDS, 56, 87, 56, 76, 0, 0 }, /* sfx/doggrowl note=60 pan=center # Growl */
{ SDS, 56, 88, 56, 58, 0, 0 }, /* applause note=60 keep=loop keep=env pan=center # Applause2 */
{ SDS, 56, 89, 0, 124, 1, 0 }, /* telephon note=60 pan=center # Telephone1 */
{ SDS, 56, 90, 0, 124, 1, 0 }, /* sfx/dialtone note=60 keep=loop keep=env pan=center # Telephone2 (dial) */
/* drumset 121 */
{ SDS, 121, 36, 56, 49, 0, 0 }, /* sfx/cutnoiz note=60 # cut noise */
{ SDS, 121, 37, 56, 48, 0, 0 }, /* sfx/cutnoiz note=60 # cut noise 2 */
{ SDS, 121, 38, 56, 48, 0, 0 }, /* sfx/cutnoiz note=60 # dist cut noise */
{ SDS, 121, 39, 0, 120, 1, 0 }, /* fx-fret note=60 # string slap */
{ SDS, 121, 40, 0, 120, 1, 0 }, /* fx-fret note=60 # bass slide */
{ SDS, 121, 41, 0, 120, 1, 0 }, /* fx-fret note=60 # pick slide */
{ SDS, 121, 52, 56, 44, 0, 0 }, /* sfx/flclick note=60 # fl key click */
{ SDS, 121, 68, 56, 81, 0, 0 }, /* mazpat/fx/rainyday keep=loop keep=env note=60 # rain */
{ SDS, 121, 69, 56, 80, 0, 0 }, /* sfx/thunder2 keep=loop keep=env note=60 # thunder */
{ SDS, 121, 70, 56, 82, 0, 0 }, /* sfx/newwind amp=75 keep=loop keep=env note=60 # wind */
{ SDS, 121, 71, 56, 83, 0, 0 }, /* sfx/stream amp=75 keep=loop keep=env note=60 # stream */
{ SDS, 121, 72, 56, 84, 0, 0 }, /* sfx/bubbles1 keep=loop keep=env note=48 # bubble */
/* #73 # feed */
{ SDS, 121, 84, 56, 76, 0, 0 }, /* sfx/dog1 note=60 # dog */
{ SDS, 121, 85, 56, 77, 0, 0 }, /* sfx/hoofs keep=loop keep=env note=60 # horse gallop */
{ SDS, 121, 86, 56, 78, 0, 0 }, /* sfx/birdtwee amp=25 keep=loop keep=env note=60 # bird 2 */
{ SDS, 121, 87, 56, 78, 0, 0 }, /* sfx/meow note=60 # kitty */
{ SDS, 121, 88, 56, 76, 0, 0 }, /* sfx/doggrowl note=60 # growl */
/* #89 # haunted */
{ SDS, 121, 90, 56, 82, 0, 0 }, /* sfx/ghost note=60 # ghost */
/* #91 sfx/badmaou keep=loop keep=env note=60 # maou */
/* drumset 122 */
{ SDS, 122, 36, 0, 124, 1, 0 }, /* telephon note=60 # telephone 2 */
{ SDS, 122, 37, 56, 59, 0, 0 }, /* sfx/creak note=60 # door creaking */
{ SDS, 122, 38, 56, 60, 0, 0 }, /* sfx/door note=60 # door slam */
{ SDS, 122, 39, 56, 61, 0, 0 }, /* sfx/scratch1 note=60 # scratch */
{ SDS, 122, 40, 56, 61, 0, 0 }, /* sfx/scratch2 note=60 # scratch 2 */
{ SDS, 122, 41, 56, 62, 0, 0 }, /* sfx/windchim keep=loop keep=env note=60 # wind chime */
{ SDS, 122, 42, 0, 124, 1, 0 }, /* telephon note=60 # telephone ring */
{ SDS, 122, 52, 56, 63, 0, 0 }, /* sfx/carengin note=60 # engine start */
{ SDS, 122, 53, 56, 64, 0, 0 }, /* sfx/carstop note=60 # stop */
{ SDS, 122, 54, 56, 65, 0, 0 }, /* sfx/carpass note=60 # car pass */
{ SDS, 122, 55, 56, 66, 0, 0 }, /* sfx/carcrash note=60 # crash */
{ SDS, 122, 56, 56, 67, 0, 0 }, /* sfx/ambulanc keep=loop keep=env note=60 # siren */
{ SDS, 122, 57, 56, 68, 0, 0 }, /* mazpat/fx/newtrain keep=loop keep=env note=60 # train */
{ SDS, 122, 58, 56, 82, 0, 0 }, /* mazpat/fx/jet amp=70 keep=loop keep=env note=60 # jetplane */
{ SDS, 122, 59, 56, 82, 0, 0 }, /* sfx/starship keep=loop keep=env note=60 # starship */
{ SDS, 122, 60, 56, 72, 0, 0 }, /* pistol note=60 # burst noise */
{ SDS, 122, 61, 56, 68, 0, 0 }, /* mazpat/fx/train keep=loop keep=env note=60 # coaster */
{ SDS, 122, 62, 56, 84, 0, 0 }, /* sfx/bubbles1 keep=loop keep=env note=48 # submarine (needs to be replaced */
{ SDS, 122, 68, 56, 52, 0, 0 }, /* sfx/laugh note=60 # laughing */
{ SDS, 122, 69, 56, 53, 0, 0 }, /* sfx/scream note=60 # screaming */
{ SDS, 122, 70, 56, 54, 0, 0 }, /* sfx/punch note=60 # punch */
{ SDS, 122, 71, 56, 55, 0, 0 }, /* sfx/heartbt note=60 # heart beat */
{ SDS, 122, 72, 56, 56, 0, 0 }, /* mazpat/fx/newstep note=60 # footsteps */
{ SDS, 122, 73, 56, 58, 0, 0 }, /* applause keep=loop keep=env note=60 # applause */
{ SDS, 122, 84, 56, 73, 0, 0 }, /* sfx/machgun2 keep=loop keep=env note=60 # machine gun */
{ SDS, 122, 85, 56, 69, 0, 0 }, /* gus/sqrwave note=60 # laser gun */
{ SDS, 122, 86, 56, 72, 0, 0 }, /* pistol note=60 # explosion */
{ SDS, 122, 87, 56, 81, 0, 0 }, /* sfx/firework note=60 # fireworks */
/* drumset 127 # GS XM-64/32L drumset, half drums, half SFX */
{ SDS, 127, 76, 56, 52, 0, 0 }, /* sfx/laugh note=60 pan=center # Laughing */
{ SDS, 127, 77, 56, 53, 0, 0 }, /* sfx/scream note=60 pan=center # Scream */
{ SDS, 127, 78, 56, 54, 0, 0 }, /* sfx/punch note=60 pan=center # Punch */
{ SDS, 127, 79, 56, 55, 0, 0 }, /* sfx/heartbt note=60 pan=center # Heart Beat */
{ SDS, 127, 80, 56, 56, 0, 0 }, /* mazpat/fx/newstep note=60 pan=center # Footsteps1 */
{ SDS, 127, 81, 56, 56, 0, 0 }, /* mazpat/fx/newstep note=60 pan=center # Footsteps2 */
{ SDS, 127, 82, 56, 58, 0, 0 }, /* applause note=60 keep=loop keep=env pan=center # Applause */
{ SDS, 127, 83, 56, 83, 0, 0 }, /* sfx/creak note=60 pan=center # Door Creaking */
{ SDS, 127, 84, 56, 84, 0, 0 }, /* sfx/door note=60 pan=center # Door */
{ SDS, 127, 85, 56, 85, 0, 0 }, /* sfx/scratch2 note=60 pan=center # Scratch */
{ SDS, 127, 86, 56, 62, 0, 0 }, /* sfx/windchim note=60 keep=loop keep=env pan=center # Wind Chimes */
{ SDS, 127, 87, 56, 63, 0, 0 }, /* sfx/carengin note=60 pan=center # Car-Engine */
{ SDS, 127, 88, 56, 64, 0, 0 }, /* sfx/carstop note=60 pan=center # Car-Stop */
{ SDS, 127, 89, 56, 65, 0, 0 }, /* sfx/carpass note=60 pan=center # Car-Pass */
{ SDS, 127, 90, 56, 66, 0, 0 }, /* sfx/carcrash note=60 pan=center # Car-Crash */
{ SDS, 127, 91, 56, 67, 0, 0 }, /* sfx/ambulanc note=60 keep=loop keep=env pan=center # Siren */
{ SDS, 127, 92, 56, 68, 0, 0 }, /* mazpat/fx/newtrain note=60 keep=loop keep=env pan=center # Train */
{ SDS, 127, 93, 56, 82, 0, 0 }, /* mazpat/fx/jet amp=70 note=60 keep=loop keep=env pan=center # Jetplane */
{ SDS, 127, 94, 56, 70, 0, 0 }, /* helicptr note=60 keep=loop keep=env pan=center # Helicopter */
{ SDS, 127, 95, 56, 81, 0, 0 }, /* sfx/starship note=60 keep=loop keep=env pan=center # Starship */
{ SDS, 127, 96, 56, 72, 0, 0 }, /* pistol note=60 pan=center # Gun Shot */
{ SDS, 127, 97, 56, 73, 0, 0 }, /* sfx/machgun2 note=60 keep=loop keep=env pan=center # Machine Gun */
{ SDS, 127, 98, 56, 69, 0, 0 }, /* gus/sqrwave note=60 pan=center # Lasergun */
{ SDS, 127, 99, 56, 72, 0, 0 }, /* pistol note=60 pan=center # Explosion */
{ SDS, 127, 100, 56, 76, 0, 0 }, /* sfx/dog1 note=60 pan=center # Dog */
{ SDS, 127, 101, 56, 77, 0, 0 }, /* sfx/hoofs note=60 keep=loop keep=env pan=center # Horse-Gallop */
{ SDS, 127, 102, 56, 78, 0, 0 }, /* sfx/birdtwee amp=25 note=60 keep=loop keep=env pan=center # Birds */
{ SDS, 127, 103, 56, 81, 0, 0 }, /* mazpat/fx/rainyday note=60 keep=loop keep=env pan=center # Rain */
{ SDS, 127, 104, 56, 80, 0, 0 }, /* sfx/thunder2 note=60 keep=loop keep=env pan=center # Thunder */
{ SDS, 127, 105, 56, 81, 0, 0 }, /* sfx/newwind amp=75 note=60 keep=loop keep=env pan=center # Wind */
{ SDS, 127, 106, 56, 82, 0, 0 }, /* seashore note=60 keep=loop keep=env pan=center # Seashore */
{ SDS, 127, 107, 56, 83, 0, 0 }, /* sfx/stream amp=75 note=60 keep=loop keep=env pan=center # Stream */
{ SDS, 127, 108, 56, 84, 0, 0 }, /* sfx/bubbles1 note=48 keep=loop keep=env pan=center # Bubble */
{ 0, 0, 0, 0, 0, 0, 0 }
};
#include <stdio.h>
void pcmap(int *b, int *v, int *p, int *drums) {
int bank = *b;
int voi = *v;
int i, bktype;
if (!*drums) voi = *p;
for (i = 0; ; i++) {
bktype = pc42bmap[i][0];
if (!bktype) return;
if (*drums && (bktype != SDS)) continue;
if (!*drums && (bktype != STS)) continue;
if (bank != pc42bmap[i][1]) continue;
if (voi != pc42bmap[i][2]) continue;
*b = pc42bmap[i][3];
if (*drums) *v = pc42bmap[i][4];
else *p = pc42bmap[i][4];
if (bktype == SDS && pc42bmap[i][5]) *drums = 0;
else if (bktype == STS && pc42bmap[i][5]) *drums = 1;
return;
}
}
|