1 /* 2 rakarrack - a guitar effects software 3 4 rkrMIDI.C - MIDI functions 5 Copyright (C) 2008-2010 Josep Andreu 6 Author: Josep Andreu 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of version 2 of the GNU General Public License 10 as published by the Free Software Foundation. 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 (version 2) for more details. 16 17 You should have received a copy of the GNU General Public License 18 (version2) along with this program; if not, write to the Free Software 19 Foundation, 20 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 22 */ 23 24 25 #include "global.h" 26 27 28 void 29 RKR::InitMIDI () 30 { 31 32 // Open Alsa Seq 33 34 35 int err = snd_seq_open (&midi_in, "default", SND_SEQ_OPEN_INPUT, 0); 36 if (err < 0) 37 printf ("Cannot activate ALSA seq client\n"); 38 snd_seq_set_client_name (midi_in, jackcliname); 39 snd_config_update_free_global (); 40 41 42 43 char portname[50]; 44 45 // Create Alsa Seq Client 46 47 sprintf (portname, "%s IN",jackcliname); 48 snd_seq_create_simple_port (midi_in, portname, 49 SND_SEQ_PORT_CAP_WRITE | 50 SND_SEQ_PORT_CAP_SUBS_WRITE, 51 SND_SEQ_PORT_TYPE_SYNTH); 52 53 54 } 55 56 57 58 void 59 RKR::miramidi () 60 { 61 62 if (snd_seq_event_input_pending (midi_in, 1)) { 63 do { 64 midievents (); 65 66 } while (snd_seq_event_input_pending (midi_in, 0)); 67 } 68 69 }; 70 71 72 73 74 75 76 77 78 void 79 RKR::midievents() 80 { 81 82 int i; 83 snd_seq_event_t *midievent; 84 midievent = NULL; 85 snd_seq_event_input (midi_in, &midievent); 86 if (midievent == NULL) 87 return; 88 if (midievent->type == 42) 89 return; 90 91 92 if((Tap_Bypass) && (Tap_Selection == 3) && (midievent->type == SND_SEQ_EVENT_CLOCK)) { 93 mtc_counter++; 94 if (mtc_counter >= 24) { 95 Tap_TempoSet=TapTempo(); 96 mtc_counter= 0; 97 } 98 99 } 100 101 if((Looper_Bypass) && (Tap_Selection==3)) { 102 if (midievent->type == SND_SEQ_EVENT_START) { 103 efx_Looper->changepar(1,1); 104 stecla=5; 105 } 106 107 if (midievent->type == SND_SEQ_EVENT_STOP) { 108 efx_Looper->changepar(2,1); 109 stecla=5; 110 } 111 112 } 113 114 if ((midievent->type == SND_SEQ_EVENT_NOTEON) 115 || (midievent->type == SND_SEQ_EVENT_NOTEOFF)) { 116 int cmdnote = midievent->data.note.note; 117 int cmdvelo = midievent->data.note.velocity; 118 119 if((Tap_Bypass) && (Tap_Selection == 1) && (midievent->type == SND_SEQ_EVENT_NOTEON) && (cmdvelo != 0)) 120 Tap_TempoSet=TapTempo(); 121 122 123 if (midievent->data.note.channel == HarCh) { 124 for (i = 0; i < POLY; i++) { 125 if ((midievent->type == SND_SEQ_EVENT_NOTEON) && (cmdvelo != 0)) { 126 if (note_active[i] == 0) { 127 note_active[i] = 1; 128 rnote[i] = cmdnote; 129 gate[i] = 1; 130 RC->MiraChord (); 131 break; 132 } 133 134 } 135 136 137 if ((midievent->type == SND_SEQ_EVENT_NOTEON) && (cmdvelo == 0)) { 138 139 if ((note_active[i]) && (rnote[i] == cmdnote)) { 140 note_active[i] = 0; 141 gate[i] = 0; 142 break; 143 } 144 145 } 146 147 148 if (midievent->type == SND_SEQ_EVENT_NOTEOFF) { 149 150 if ((note_active[i]) && (rnote[i] == cmdnote)) { 151 note_active[i] = 0; 152 gate[i] = 0; 153 break; 154 } 155 156 } 157 } 158 159 160 161 } 162 163 164 } 165 166 167 168 169 170 if (midievent->type == SND_SEQ_EVENT_PGMCHANGE) { 171 172 if (midievent->data.control.channel == MidiCh) { 173 174 if(!midi_table) { 175 if ((midievent->data.control.value > 0) 176 && (midievent->data.control.value < 61)) 177 preset = midievent->data.control.value; 178 179 if (midievent->data.control.value == 81) 180 if (Selected_Preset >1) preset = Selected_Preset-1; 181 182 if (midievent->data.control.value == 82) 183 if (Selected_Preset<60) preset = Selected_Preset+1; 184 } else 185 preset = midievent->data.control.value; 186 187 } 188 } 189 190 191 192 if (midievent->type == SND_SEQ_EVENT_CONTROLLER) { 193 if (midievent->data.control.channel == MidiCh) { 194 195 if(RControl) { 196 ControlGet = (int)midievent->data.control.param; 197 return; 198 } 199 200 if(MIDIway) { 201 for(i=0; i<20; i++) { 202 if (XUserMIDI[(int)midievent->data.control.param][i]) 203 process_midi_controller_events(XUserMIDI[(int)midievent->data.control.param][i], 204 (int)midievent->data.control.value); 205 else break; 206 } 207 } else 208 process_midi_controller_events((int)midievent->data.control.param, 209 (int)midievent->data.control.value); 210 211 212 } 213 214 } 215 216 217 218 }; 219 220 221 void 222 RKR::ActOnOff() 223 { 224 225 if(OnOffC<63) OnOffC++; 226 227 } 228 229 void 230 RKR::ActiveUn(int value) 231 { 232 233 int numef; 234 int inoff=0; 235 int miraque=0; 236 237 238 if(value < 20) { 239 numef = value / 2; 240 inoff = checkonoff(efx_order[numef]); // value % 2; 241 miraque = efx_order[numef]; 242 ActOnOff(); 243 Mnumeff[OnOffC] = numef; 244 } else if(value < 121) { 245 numef = value-20; 246 inoff = checkonoff(numef); 247 miraque = numef; 248 ActOnOff(); 249 Mnumeff[OnOffC] = 1000 + numef; 250 } 251 252 else { 253 numef = value; 254 inoff = checkonoff(numef); 255 miraque = numef; 256 ActOnOff(); 257 Mnumeff[OnOffC] = 2000 + numef; 258 } 259 260 switch(miraque) { 261 case 0: 262 if (inoff) EQ1_Bypass=1; 263 else EQ1_Bypass=0; 264 break; 265 case 1: 266 if (inoff) Compressor_Bypass=1; 267 else Compressor_Bypass=0; 268 break; 269 case 2: 270 if (inoff) Distorsion_Bypass=1; 271 else Distorsion_Bypass=0; 272 break; 273 case 3: 274 if (inoff) Overdrive_Bypass=1; 275 else Overdrive_Bypass=0; 276 break; 277 case 4: 278 if (inoff) Echo_Bypass=1; 279 else Echo_Bypass=0; 280 break; 281 case 5: 282 if (inoff) Chorus_Bypass=1; 283 else Chorus_Bypass=0; 284 break; 285 case 6: 286 if (inoff) Phaser_Bypass=1; 287 else Phaser_Bypass=0; 288 break; 289 case 7: 290 if (inoff) Flanger_Bypass=1; 291 else Flanger_Bypass=0; 292 break; 293 case 8: 294 if (inoff) Reverb_Bypass=1; 295 else Reverb_Bypass=0; 296 break; 297 case 9: 298 if (inoff) EQ2_Bypass=1; 299 else EQ2_Bypass=0; 300 break; 301 case 10: 302 if (inoff) WhaWha_Bypass=1; 303 else WhaWha_Bypass=0; 304 break; 305 case 11: 306 if (inoff) Alienwah_Bypass=1; 307 else Alienwah_Bypass=0; 308 break; 309 case 12: 310 if (inoff) Cabinet_Bypass=1; 311 else Cabinet_Bypass=0; 312 break; 313 case 13: 314 if (inoff) Pan_Bypass=1; 315 else Pan_Bypass=0; 316 break; 317 case 14: 318 if (inoff) Harmonizer_Bypass=1; 319 else Harmonizer_Bypass=0; 320 break; 321 case 15: 322 if (inoff) MusDelay_Bypass=1; 323 else MusDelay_Bypass=0; 324 break; 325 case 16: 326 if (inoff) Gate_Bypass=1; 327 else Gate_Bypass=0; 328 break; 329 case 17: 330 if (inoff) NewDist_Bypass=1; 331 else NewDist_Bypass=0; 332 break; 333 case 18: 334 if (inoff) APhaser_Bypass=1; 335 else APhaser_Bypass=0; 336 break; 337 case 19: 338 if (inoff) Valve_Bypass=1; 339 else Valve_Bypass=0; 340 break; 341 case 20: 342 if (inoff) DFlange_Bypass=1; 343 else DFlange_Bypass=0; 344 break; 345 case 21: 346 if (inoff) Ring_Bypass=1; 347 else Ring_Bypass=0; 348 break; 349 case 22: 350 if (inoff) Exciter_Bypass=1; 351 else Exciter_Bypass=0; 352 break; 353 case 23: 354 if (inoff) MBDist_Bypass=1; 355 else MBDist_Bypass=0; 356 break; 357 case 24: 358 if (inoff) Arpie_Bypass=1; 359 else Arpie_Bypass=0; 360 break; 361 case 25: 362 if (inoff) Expander_Bypass=1; 363 else Expander_Bypass=0; 364 break; 365 case 26: 366 if (inoff) Shuffle_Bypass=1; 367 else Shuffle_Bypass=0; 368 break; 369 case 27: 370 if (inoff) Synthfilter_Bypass=1; 371 else Synthfilter_Bypass=0; 372 break; 373 case 28: 374 if (inoff) MBVvol_Bypass=1; 375 else MBVvol_Bypass=0; 376 break; 377 case 29: 378 if (inoff) Convol_Bypass=1; 379 else Convol_Bypass=0; 380 break; 381 case 30: 382 if(inoff) Looper_Bypass=1; 383 else Looper_Bypass=0; 384 break; 385 case 31: 386 if(inoff) RyanWah_Bypass=1; 387 else RyanWah_Bypass=0; 388 break; 389 case 32: 390 if(inoff) RBEcho_Bypass=1; 391 else RBEcho_Bypass=0; 392 break; 393 case 33: 394 if(inoff) CoilCrafter_Bypass=1; 395 else CoilCrafter_Bypass=0; 396 break; 397 case 34: 398 if(inoff) ShelfBoost_Bypass=1; 399 else ShelfBoost_Bypass=0; 400 break; 401 case 35: 402 if(inoff) Vocoder_Bypass=1; 403 else Vocoder_Bypass=0; 404 break; 405 case 36: 406 if(inoff) Sustainer_Bypass=1; 407 else Sustainer_Bypass=0; 408 break; 409 case 37: 410 if(inoff) Sequence_Bypass=1; 411 else Sequence_Bypass=0; 412 break; 413 case 38: 414 if(inoff) Shifter_Bypass=1; 415 else Shifter_Bypass=0; 416 break; 417 case 39: 418 if(inoff) StompBox_Bypass=1; 419 else StompBox_Bypass=0; 420 break; 421 case 40: 422 if(inoff) Reverbtron_Bypass=1; 423 else Reverbtron_Bypass=0; 424 break; 425 case 41: 426 if(inoff) Echotron_Bypass=1; 427 else Echotron_Bypass=0; 428 break; 429 case 42: 430 if(inoff) StereoHarm_Bypass=1; 431 else StereoHarm_Bypass=0; 432 break; 433 case 43: 434 if(inoff) CompBand_Bypass=1; 435 else CompBand_Bypass=0; 436 break; 437 case 44: 438 if(inoff) Opticaltrem_Bypass=1; 439 else Opticaltrem_Bypass=0; 440 break; 441 case 45: 442 if(inoff) Vibe_Bypass=1; 443 else Vibe_Bypass=0; 444 break; 445 case 46: 446 if(inoff) Infinity_Bypass=1; 447 else Infinity_Bypass=0; 448 break; 449 450 451 case 121: 452 if(inoff) Tap_Bypass = 1; 453 else Tap_Bypass = 0; 454 break; 455 case 122: 456 if(inoff) MIDIConverter_Bypass = 1; 457 else MIDIConverter_Bypass = 0; 458 break; 459 case 123: 460 if(inoff) Tuner_Bypass = 1; 461 else Tuner_Bypass = 0; 462 break; 463 case 124: 464 if(inoff) Bypass = 1; 465 else Bypass = 0; 466 break; 467 468 } 469 470 471 472 473 474 475 476 477 478 } 479 480 481 482 int 483 RKR::checkonoff(int miraque) 484 { 485 486 487 switch(miraque) { 488 case 0: 489 if(EQ1_Bypass) return(0); 490 break; 491 case 1: 492 if (Compressor_Bypass) return(0); 493 break; 494 case 2: 495 if (Distorsion_Bypass) return(0); 496 break; 497 case 3: 498 if (Overdrive_Bypass)return(0); 499 break; 500 case 4: 501 if (Echo_Bypass)return(0); 502 break; 503 case 5: 504 if (Chorus_Bypass) return(0); 505 break; 506 case 6: 507 if (Phaser_Bypass) return(0); 508 break; 509 case 7: 510 if (Flanger_Bypass) return(0); 511 break; 512 case 8: 513 if (Reverb_Bypass) return(0); 514 break; 515 case 9: 516 if (EQ2_Bypass) return(0); 517 break; 518 case 10: 519 if (WhaWha_Bypass) return(0); 520 break; 521 case 11: 522 if (Alienwah_Bypass) return(0); 523 break; 524 case 12: 525 if (Cabinet_Bypass) return(0); 526 break; 527 case 13: 528 if (Pan_Bypass) return(0); 529 break; 530 case 14: 531 if (Harmonizer_Bypass) return(0); 532 break; 533 case 15: 534 if (MusDelay_Bypass) return(0); 535 break; 536 case 16: 537 if (Gate_Bypass) return(0); 538 break; 539 case 17: 540 if (NewDist_Bypass) return(0); 541 break; 542 case 18: 543 if (APhaser_Bypass) return(0); 544 break; 545 case 19: 546 if (Valve_Bypass) return(0); 547 break; 548 case 20: 549 if (DFlange_Bypass) return(0); 550 break; 551 case 21: 552 if (Ring_Bypass) return(0); 553 break; 554 case 22: 555 if (Exciter_Bypass) return(0); 556 break; 557 case 23: 558 if (MBDist_Bypass) return(0); 559 break; 560 case 24: 561 if (Arpie_Bypass) return(0); 562 break; 563 case 25: 564 if (Expander_Bypass) return(0); 565 break; 566 case 26: 567 if (Shuffle_Bypass) return(0); 568 break; 569 case 27: 570 if (Synthfilter_Bypass) return(0); 571 break; 572 case 28: 573 if (MBVvol_Bypass) return(0); 574 break; 575 case 29: 576 if (Convol_Bypass) return(0); 577 break; 578 case 30: 579 if (Looper_Bypass) return(0); 580 break; 581 case 31: 582 if (RyanWah_Bypass) return(0); 583 break; 584 case 32: 585 if (RBEcho_Bypass) return(0); 586 break; 587 case 33: 588 if (CoilCrafter_Bypass) return(0); 589 break; 590 case 34: 591 if (ShelfBoost_Bypass) return(0); 592 break; 593 case 35: 594 if (Vocoder_Bypass) return(0); 595 break; 596 case 36: 597 if (Sustainer_Bypass) return(0); 598 break; 599 case 37: 600 if (Sequence_Bypass) return(0); 601 break; 602 case 38: 603 if (Shifter_Bypass) return(0); 604 break; 605 case 39: 606 if (StompBox_Bypass) return(0); 607 break; 608 case 40: 609 if (Reverbtron_Bypass) return(0); 610 break; 611 case 41: 612 if (Echotron_Bypass) return(0); 613 break; 614 case 42: 615 if (StereoHarm_Bypass) return(0); 616 break; 617 case 43: 618 if (CompBand_Bypass) return(0); 619 break; 620 case 44: 621 if (Opticaltrem_Bypass) return(0); 622 break; 623 case 45: 624 if (Vibe_Bypass) return(0); 625 break; 626 case 46: 627 if (Infinity_Bypass) return(0); 628 break; 629 630 631 632 633 case 121: 634 if (Tap_Bypass) return 0; 635 break; 636 case 122: 637 if (MIDIConverter_Bypass) return 0; 638 break; 639 case 123: 640 if (Tuner_Bypass) return 0; 641 break; 642 case 124: 643 if (Bypass) return 0; 644 break; 645 646 } 647 return(1); 648 649 } 650 651 652 653 void 654 RKR::Conecta () 655 { 656 657 FILE *fp; 658 659 int client = 0; 660 int puerto = 0; 661 char temp[128]; 662 char temp1[128]; 663 char temp2[128]; 664 char *nume; 665 666 if (IsCoIn) 667 disconectaaconnect (); 668 669 670 if ((fp = fopen ("/proc/asound/seq/clients", "r")) != NULL) { 671 memset (temp, 0, sizeof (temp)); 672 673 while (fgets (temp, sizeof temp, fp) != NULL) { 674 675 if (strstr (temp, "Client") != NULL) 676 677 { 678 679 strcpy (temp1, temp); 680 strtok (temp1, " "); 681 nume = strtok (NULL, "\""); 682 sscanf (nume, "%d", &client); 683 684 } 685 686 if (strstr (temp, "Port") != NULL) { 687 strcpy (temp2, temp); 688 strtok (temp2, " "); 689 nume = strtok (NULL, " "); 690 sscanf (nume, "%d", &puerto); 691 if (strstr (temp, "rakarrack IN") != 0) { 692 Cyoin = client; 693 Pyoin = puerto; 694 } 695 if (strstr (temp, MID) != 0) { 696 Ccin = client; 697 Pcin = puerto; 698 } 699 700 } 701 } 702 } 703 704 fclose (fp); 705 conectaaconnect (); 706 }; 707 708 709 710 711 void 712 RKR::conectaaconnect () 713 { 714 char tempi[128]; 715 716 if (MID != NULL) { 717 memset (tempi, 0, sizeof (tempi)); 718 sprintf (tempi, "aconnect %d:%d %d:%d", Ccin, Pcin, Cyoin, Pyoin); 719 system (tempi); 720 IsCoIn = 1; 721 } 722 723 }; 724 725 726 void 727 RKR::disconectaaconnect () 728 { 729 char tempi[128]; 730 731 if (MID != NULL) { 732 memset (tempi, 0, sizeof (tempi)); 733 sprintf (tempi, "aconnect -d %d:%d %d:%d", Ccin, Pcin, Cyoin, Pyoin); 734 system (tempi); 735 IsCoIn = 0; 736 } 737 738 739 }; 740 741 742 743 void 744 RKR::jack_process_midievents (jack_midi_event_t *midievent) 745 { 746 747 int i; 748 int type = midievent->buffer[0]>>4; 749 750 751 if((Tap_Bypass) && (Tap_Selection == 3) && (midievent->buffer[0] == 0xf8)) { 752 mtc_counter++; 753 if (mtc_counter >= 24) { 754 Tap_TempoSet=TapTempo(); 755 mtc_counter= 0; 756 } 757 758 } 759 760 761 762 if ((type == 8) || (type == 9)) { 763 int cmdnote = midievent->buffer[1]; 764 int cmdvelo = midievent->buffer[2]; 765 int cmdchan = midievent->buffer[0]&15; 766 767 if((Tap_Bypass) && (Tap_Selection==1) && (type==9) && (cmdvelo != 0)) Tap_TempoSet = TapTempo(); 768 769 770 if (cmdchan == HarCh) { 771 for (i = 0; i < POLY; i++) { 772 if ((type==9) && (cmdvelo != 0)) { 773 if (note_active[i] == 0) { 774 note_active[i] = 1; 775 rnote[i] = cmdnote; 776 gate[i] = 1; 777 RC->MiraChord (); 778 break; 779 } 780 781 } 782 783 784 if ((type==9) && (cmdvelo == 0)) { 785 786 if ((note_active[i]) && (rnote[i] == cmdnote)) { 787 note_active[i] = 0; 788 gate[i] = 0; 789 break; 790 } 791 792 } 793 794 if (type==8) { 795 796 if ((note_active[i]) && (rnote[i] == cmdnote)) { 797 note_active[i] = 0; 798 gate[i] = 0; 799 break; 800 } 801 802 } 803 } 804 805 806 807 } 808 809 810 } 811 812 813 814 815 816 if (type == 12) { 817 int cmdvalue= midievent->buffer[1]; 818 int cmdchan = midievent->buffer[0]&15; 819 820 if (cmdchan == MidiCh) { 821 if(!midi_table) { 822 if ((cmdvalue > 0) 823 && (cmdvalue < 61)) 824 preset = cmdvalue; 825 826 if (cmdvalue==81) if (Selected_Preset>1) preset = Selected_Preset-1; 827 if (cmdvalue==82) if (Selected_Preset<60) preset = Selected_Preset+1; 828 } else 829 preset = cmdvalue; 830 831 } 832 833 834 } 835 836 837 838 if (type == 11) { 839 int cmdcontrol = midievent->buffer[1]; 840 int cmdvalue= midievent->buffer[2]; 841 int cmdchan = midievent->buffer[0]&15; 842 843 844 if (cmdchan == MidiCh) { 845 if(RControl) { 846 ControlGet = cmdcontrol; 847 return; 848 } 849 850 851 if(MIDIway) { 852 for(i=0; i<20; i++) { 853 if (XUserMIDI[cmdcontrol][i]) 854 process_midi_controller_events(XUserMIDI[cmdcontrol][i],cmdvalue); 855 else break; 856 } 857 } else 858 process_midi_controller_events(cmdcontrol, cmdvalue); 859 } 860 } 861 862 }; 863 864 865 /* 866 * process MIDI controller events 867 */ 868 void 869 RKR::process_midi_controller_events(int parameter, int value) 870 { 871 872 int i; 873 // for real parameter changes, flag need for a GUI update 874 if(parameter > 0) { 875 Mcontrol[parameter]=1; 876 Mvalue = 1; 877 } 878 879 880 switch (parameter) { 881 882 case 7: 883 Master_Volume = 884 (float) value / 128.0f; 885 calculavol (2); 886 break; 887 888 case 1: 889 efx_WhaWha->changepar (6, value); 890 break; 891 892 case 20: 893 efx_Alienwah->changepar (6,value); 894 break; 895 896 case 21: 897 efx_Phaser->changepar (6, value); 898 break; 899 900 case 22: 901 efx_Flanger->changepar (6, value); 902 break; 903 904 case 23: 905 efx_Chorus->changepar (6, value); 906 break; 907 908 case 24: 909 efx_MusDelay->changepar (11, value); 910 break; 911 912 case 25: 913 efx_MusDelay->changepar (12, value); 914 break; 915 916 case 26: 917 efx_Har->changepar (4, value); 918 break; 919 920 case 27: 921 if (Harmonizer_Bypass) { 922 Harmonizer_Bypass = 0; 923 efx_Har->changepar (3, value); 924 Harmonizer_Bypass = 1; 925 } 926 break; 927 928 case 28: 929 efx_WhaWha->changepar (0, value); 930 break; 931 932 case 29: 933 efx_Overdrive->changepar (0, value); 934 break; 935 936 case 30: 937 efx_Distorsion->changepar (0, value); 938 break; 939 940 case 31: 941 efx_Har->changepar (0, value); 942 break; 943 944 case 52: 945 efx_Chorus->changepar (0, value); 946 break; 947 948 case 53: 949 efx_Flanger->changepar (0, value); 950 break; 951 952 case 54: 953 efx_Phaser->changepar (0, value); 954 break; 955 956 case 55: 957 efx_Alienwah->changepar (0, value); 958 break; 959 960 case 56: 961 efx_MusDelay->changepar (0, value); 962 break; 963 964 case 57: 965 efx_Rev->changepar (0, value); 966 break; 967 968 case 58: 969 efx_Pan->changepar (0, value); 970 break; 971 972 case 59: 973 efx_Echo->changepar (0, value); 974 break; 975 976 case 46: 977 efx_Echo->changepar (1, value); 978 break; 979 980 case 47: 981 efx_Overdrive->changepar (1, value); 982 break; 983 984 case 48: 985 efx_Distorsion->changepar (1, value); 986 break; 987 988 case 49: 989 efx_Har->changepar (1, value); 990 break; 991 992 case 50: 993 efx_Chorus->changepar (1, value); 994 break; 995 996 case 51: 997 efx_Flanger->changepar (1,value); 998 break; 999 1000 case 60: 1001 efx_Phaser->changepar (1, value); 1002 break; 1003 1004 case 61: 1005 efx_Alienwah->changepar (1, value); 1006 break; 1007 1008 case 62: 1009 efx_MusDelay->changepar (1, value); 1010 break; 1011 1012 case 63: 1013 efx_Rev->changepar (1, value); 1014 break; 1015 1016 case 65: 1017 efx_MusDelay->changepar (7, value); 1018 break; 1019 1020 case 66: 1021 efx_WhaWha->changepar (1, value); 1022 break; 1023 1024 case 67: 1025 efx_Pan->changepar (1, value); 1026 break; 1027 1028 case 68: 1029 efx_Overdrive->changepar (3, value); 1030 break; 1031 1032 case 69: 1033 efx_Distorsion->changepar (3, value); 1034 break; 1035 1036 case 70: 1037 efx_Overdrive->changepar (4, value); 1038 break; 1039 1040 case 71: 1041 efx_Distorsion->changepar (4, value); 1042 break; 1043 1044 case 72: 1045 efx_Chorus->changepar (2, ret_Tempo(value)); 1046 break; 1047 1048 case 73: 1049 efx_Flanger->changepar (2,ret_Tempo(value)); 1050 break; 1051 1052 case 74: 1053 efx_Phaser->changepar (2, ret_Tempo(value)); 1054 break; 1055 1056 case 75: 1057 efx_WhaWha->changepar (2,ret_Tempo(value)); 1058 break; 1059 1060 case 76: 1061 efx_Alienwah->changepar (2, ret_Tempo(value)); 1062 break; 1063 1064 case 77: 1065 efx_Pan->changepar (2, ret_Tempo(value)); 1066 break; 1067 1068 case 78: 1069 efx_Echo->changepar (5, value); 1070 break; 1071 1072 case 79: 1073 efx_Chorus->changepar (8, value); 1074 break; 1075 1076 case 80: 1077 efx_Flanger->changepar (8, value); 1078 break; 1079 1080 case 81: 1081 efx_Phaser->changepar (7, value); 1082 break; 1083 1084 case 82: 1085 efx_Alienwah->changepar (7, value); 1086 break; 1087 1088 case 83: 1089 efx_MusDelay->changepar (5, value); 1090 break; 1091 1092 case 84: 1093 efx_MusDelay->changepar (9, value); 1094 break; 1095 1096 case 85: 1097 efx_Overdrive->changepar (7, ret_LPF(value)); 1098 break; 1099 1100 case 86: 1101 efx_Distorsion->changepar (7, ret_LPF(value)); 1102 break; 1103 1104 case 87: 1105 efx_Rev->changepar (7, ret_LPF(value)); 1106 break; 1107 1108 case 88: 1109 efx_Overdrive->changepar (8, ret_HPF(value)); 1110 break; 1111 1112 case 89: 1113 efx_Distorsion->changepar (8, ret_HPF(value)); 1114 break; 1115 1116 case 90: 1117 efx_Rev->changepar (8, ret_HPF(value)); 1118 break; 1119 1120 case 91: 1121 efx_Chorus->changepar (9, value); 1122 break; 1123 1124 case 92: 1125 efx_Flanger->changepar (9, value); 1126 break; 1127 1128 case 93: 1129 efx_Phaser->changepar (9, value); 1130 break; 1131 1132 case 94: 1133 efx_Overdrive->changepar (2, value); 1134 break; 1135 1136 case 95: 1137 efx_Distorsion->changepar (2, value); 1138 break; 1139 1140 case 96: 1141 efx_Alienwah->changepar (9,value); 1142 break; 1143 1144 case 97: 1145 efx_Echo->changepar (4, value); 1146 break; 1147 1148 case 98: 1149 efx_MusDelay->changepar (4,value); 1150 break; 1151 1152 case 99: 1153 efx_Chorus->changepar (5, value); 1154 break; 1155 1156 case 100: 1157 efx_Flanger->changepar (5, value); 1158 break; 1159 1160 case 101: 1161 efx_Phaser->changepar (5, value); 1162 break; 1163 1164 case 102: 1165 efx_WhaWha->changepar (5, value); 1166 break; 1167 1168 case 103: 1169 efx_Alienwah->changepar (5,value); 1170 break; 1171 1172 case 104: 1173 efx_Pan->changepar (5, value); 1174 break; 1175 1176 case 105: 1177 efx_Chorus->changepar (3, value); 1178 break; 1179 1180 case 106: 1181 efx_Flanger->changepar (3,value); 1182 break; 1183 1184 case 107: 1185 efx_Phaser->changepar (3, value); 1186 break; 1187 1188 case 108: 1189 efx_WhaWha->changepar (3, value); 1190 break; 1191 1192 case 109: 1193 efx_Alienwah->changepar (3, value); 1194 break; 1195 1196 case 110: 1197 efx_Pan->changepar (3, value); 1198 break; 1199 1200 case 111: 1201 efx_WhaWha->changepar (7, value); 1202 break; 1203 1204 case 112: 1205 efx_WhaWha->changepar (8, value); 1206 break; 1207 1208 case 113: 1209 efx_WhaWha->changepar (9, value); 1210 break; 1211 1212 case 114: 1213 efx_Phaser->changepar (11, value); 1214 break; 1215 1216 case 115: 1217 efx_Alienwah->changepar (10, value); 1218 break; 1219 1220 case 116: 1221 ActiveUn(value); 1222 break; 1223 1224 case 117: 1225 efx_APhaser->changepar (0, value); 1226 break; 1227 1228 case 118: 1229 efx_APhaser->changepar (1, value); 1230 break; 1231 1232 case 119: 1233 efx_APhaser->changepar (2, value); 1234 break; 1235 1236 case 120: 1237 efx_APhaser->changepar (11, value); 1238 break; 1239 1240 case 121: 1241 efx_APhaser->changepar (6, value); 1242 break; 1243 1244 case 122: 1245 efx_APhaser->changepar (7, value); 1246 break; 1247 1248 case 123: 1249 efx_APhaser->changepar (9, value); 1250 break; 1251 1252 case 124: 1253 efx_APhaser->changepar (5, value); 1254 break; 1255 1256 case 125: 1257 efx_NewDist->changepar (0, value); 1258 break; 1259 1260 case 126: 1261 efx_NewDist->changepar (1, value); 1262 break; 1263 1264 case 127: 1265 efx_NewDist->changepar (2, value); 1266 break; 1267 1268 case 2: 1269 efx_NewDist->changepar (3, value); 1270 break; 1271 1272 case 3: 1273 efx_NewDist->changepar (4, value); 1274 break; 1275 1276 case 4: 1277 efx_NewDist->changepar (7, ret_LPF(value)); 1278 break; 1279 1280 case 5: 1281 efx_NewDist->changepar (8, ret_HPF(value)); 1282 break; 1283 1284 case 6: 1285 efx_NewDist->changepar (9, value); 1286 break; 1287 1288 case 8: 1289 efx_NewDist->changepar (11, value); 1290 break; 1291 1292 case 9: 1293 efx_NewDist->changepar (12, value); 1294 break; 1295 1296 case 12: 1297 Fraction_Bypass = (float) value / 127.0f; 1298 break; 1299 1300 case 14: 1301 Input_Gain = 1302 (float) value / 128.0f; 1303 calculavol (1); 1304 break; 1305 1306 case 130: 1307 efx_EQ1->changepar(0, value); 1308 break; 1309 1310 case 131: 1311 for(i=0; i<10; i++) efx_EQ1->changepar(i*5+13, value); 1312 break; 1313 1314 case 132: 1315 efx_EQ1->changepar(12, value); 1316 break; 1317 1318 case 133: 1319 efx_EQ1->changepar(5+12, value); 1320 break; 1321 1322 case 134: 1323 efx_EQ1->changepar(10+12, value); 1324 break; 1325 1326 case 135: 1327 efx_EQ1->changepar(15+12, value); 1328 break; 1329 1330 case 136: 1331 efx_EQ1->changepar(20+12, value); 1332 break; 1333 1334 case 137: 1335 efx_EQ1->changepar(25+12, value); 1336 break; 1337 1338 case 138: 1339 efx_EQ1->changepar(30+12, value); 1340 break; 1341 1342 case 139: 1343 efx_EQ1->changepar(35+12, value); 1344 break; 1345 1346 case 140: 1347 efx_EQ1->changepar(40+12, value); 1348 break; 1349 1350 case 141: 1351 efx_EQ1->changepar(45+12, value); 1352 break; 1353 1354 case 142: 1355 efx_Compressor->Compressor_Change(4, 10+(int) ((float) value * 1.890f)); 1356 break; 1357 1358 case 143: 1359 efx_Compressor->Compressor_Change(5, 10+(int) ((float) value * 3.858f)); 1360 break; 1361 1362 case 144: 1363 efx_Compressor->Compressor_Change(2, 2+ (int) ((float) value * .314f)); 1364 break; 1365 1366 case 145: 1367 efx_Compressor->Compressor_Change(7, (int) ((float) value * .787f)); 1368 break; 1369 1370 case 146: 1371 efx_Compressor->Compressor_Change(1, -60 + (int) ((float) value * .448f)); 1372 break; 1373 1374 case 147: 1375 efx_Compressor->Compressor_Change(3, -40 + (int) ((float) value * .314f)); 1376 break; 1377 1378 case 148: 1379 efx_EQ2->changepar(0, value); 1380 break; 1381 1382 case 149: 1383 efx_EQ2->changepar(11, 20+(int)((float)value*7.7165f )); 1384 break; 1385 1386 case 150: 1387 efx_EQ2->changepar(12, value); 1388 break; 1389 1390 case 151: 1391 efx_EQ2->changepar(13, value); 1392 break; 1393 1394 case 152: 1395 efx_EQ2->changepar(16, 800 + (int)((float)value*56.692f)); 1396 break; 1397 1398 case 153: 1399 efx_EQ2->changepar(17, value); 1400 break; 1401 1402 case 154: 1403 efx_EQ2->changepar(18, value); 1404 break; 1405 1406 case 155: 1407 efx_EQ2->changepar(21, 20000 + (int)((float)value*157.48f)); 1408 break; 1409 1410 case 156: 1411 efx_EQ2->changepar(22, value); 1412 break; 1413 1414 case 157: 1415 efx_EQ2->changepar(23, value); 1416 break; 1417 1418 case 158: 1419 efx_DFlange->changepar(0,value-64); 1420 break; 1421 1422 case 159: 1423 efx_DFlange->changepar(1,value-64); 1424 break; 1425 1426 case 160: 1427 efx_DFlange->changepar(2,value); 1428 break; 1429 1430 case 161: 1431 efx_DFlange->changepar(3,20+(int)((float)value*3.7795f)); 1432 break; 1433 1434 case 162: 1435 efx_DFlange->changepar(4,(int)((float)value*23.622f)); 1436 break; 1437 1438 case 163: 1439 efx_DFlange->changepar(5,(int)((float)value*0.7874f)); 1440 break; 1441 1442 case 164: 1443 efx_DFlange->changepar(6,value-64); 1444 break; 1445 1446 case 165: 1447 efx_DFlange->changepar(7,20+(int)((float)value*157.32f)); 1448 break; 1449 1450 case 166: 1451 efx_DFlange->changepar(10,1+(int)((float)value*4.716f)); 1452 break; 1453 1454 case 167: 1455 efx_DFlange->changepar(11,value); 1456 break; 1457 1458 case 168: 1459 efx_DFlange->changepar(13,value); 1460 break; 1461 1462 case 169: 1463 efx_Valve->changepar(0,value); 1464 break; 1465 1466 case 170: 1467 efx_Valve->changepar(2,value); 1468 break; 1469 1470 case 171: 1471 efx_Valve->changepar(1,value); 1472 break; 1473 1474 case 172: 1475 efx_Valve->changepar(4,value); 1476 break; 1477 1478 case 173: 1479 efx_Valve->changepar(3,value); 1480 break; 1481 1482 case 174: 1483 efx_Valve->changepar(10,value); 1484 break; 1485 1486 case 175: 1487 efx_Valve->changepar(12,(int)((float)value*.7874f)); 1488 break; 1489 1490 case 176: 1491 efx_Valve->changepar(6,ret_LPF(value)); 1492 break; 1493 1494 case 177: 1495 efx_Valve->changepar(7,ret_HPF(value)); 1496 break; 1497 1498 case 178: 1499 efx_Ring->changepar(0,value-64); 1500 break; 1501 1502 case 179: 1503 efx_Ring->changepar(2,value-64); 1504 break; 1505 1506 case 180: 1507 efx_Ring->changepar(11,value); 1508 break; 1509 1510 case 181: 1511 efx_Ring->changepar(3,value); 1512 break; 1513 1514 case 182: 1515 efx_Ring->changepar(1,value-64); 1516 break; 1517 1518 case 183: 1519 efx_Ring->changepar(4,(int)((float)value*.7874f)); 1520 break; 1521 1522 case 184: 1523 efx_Ring->changepar(5,1 + (int)((float)value*157.472f)); 1524 break; 1525 1526 case 185: 1527 efx_Ring->changepar(7,(int)((float)value*.7874f)); 1528 break; 1529 1530 case 186: 1531 efx_Ring->changepar(8,(int)((float)value*.7874f)); 1532 break; 1533 1534 case 187: 1535 efx_Ring->changepar(9,(int)((float)value*.7874f)); 1536 break; 1537 1538 case 188: 1539 efx_Ring->changepar(10,(int)((float)value*.7874f)); 1540 break; 1541 1542 case 189: 1543 efx_Exciter->changepar(0,value); 1544 break; 1545 1546 case 190: 1547 efx_Exciter->changepar(11,20+(int)((float)value *157.3228f)); 1548 break; 1549 1550 case 191: 1551 efx_Exciter->changepar(12,20+(int)((float)value *157.3228f)); 1552 break; 1553 1554 case 192: 1555 efx_Exciter->changepar(1,value-64); 1556 break; 1557 1558 case 193: 1559 efx_Exciter->changepar(2,value-64); 1560 break; 1561 1562 case 194: 1563 efx_Exciter->changepar(3,value-64); 1564 break; 1565 1566 case 195: 1567 efx_Exciter->changepar(4,value-64); 1568 break; 1569 1570 case 196: 1571 efx_Exciter->changepar(5,value-64); 1572 break; 1573 1574 case 197: 1575 efx_Exciter->changepar(6,value-64); 1576 break; 1577 1578 case 198: 1579 efx_Exciter->changepar(7,value-64); 1580 break; 1581 1582 case 199: 1583 efx_Exciter->changepar(8,value-64); 1584 break; 1585 1586 case 200: 1587 efx_Exciter->changepar(9,value-64); 1588 break; 1589 1590 case 201: 1591 efx_Exciter->changepar(10,value-64); 1592 break; 1593 1594 case 202: 1595 efx_MBDist->changepar(0,value); 1596 break; 1597 1598 case 203: 1599 efx_MBDist->changepar(2,value); 1600 break; 1601 1602 case 204: 1603 efx_MBDist->changepar(3,value); 1604 break; 1605 1606 case 205: 1607 efx_MBDist->changepar(4,value); 1608 break; 1609 1610 case 206: 1611 efx_MBDist->changepar(8,(int)((float)value*.7874f)); 1612 break; 1613 1614 case 207: 1615 efx_MBDist->changepar(9,(int)((float)value*.7874f)); 1616 break; 1617 1618 case 208: 1619 efx_MBDist->changepar(10,(int)((float)value*.7874f)); 1620 break; 1621 1622 case 209: 1623 efx_MBDist->changepar(12,40+(int)((float)value*7.559f)); 1624 break; 1625 1626 case 210: 1627 efx_MBDist->changepar(13,1000+(int)((float)value*55.1181f)); 1628 break; 1629 1630 case 211: 1631 efx_MBDist->changepar(1,value); 1632 break; 1633 1634 case 212: 1635 efx_Arpie->changepar(0,value-64); 1636 break; 1637 1638 case 213: 1639 efx_Arpie->changepar(7,value); 1640 break; 1641 1642 case 214: 1643 efx_Arpie->changepar(1,value-64); 1644 break; 1645 1646 case 215: 1647 efx_Arpie->changepar(2,ret_Tempo(value)); 1648 break; 1649 1650 case 216: 1651 efx_Arpie->changepar(3,value); 1652 break; 1653 1654 case 217: 1655 efx_Arpie->changepar(4,value-64); 1656 break; 1657 1658 case 218: 1659 efx_Arpie->changepar(5,value); 1660 break; 1661 1662 case 219: 1663 efx_Arpie->changepar(6,value); 1664 break; 1665 1666 case 220: 1667 efx_Expander->Expander_Change(3,10+(int)((float)value*15.669291f)); 1668 break; 1669 1670 case 221: 1671 efx_Expander->Expander_Change(4,10+(int)((float)value*3.8582677f)); 1672 break; 1673 1674 case 222: 1675 efx_Expander->Expander_Change(2,1+(int)((float)value*.3858f)); 1676 break; 1677 1678 case 223: 1679 efx_Expander->Expander_Change(1,(int)((float)value*-.629921f)); 1680 break; 1681 1682 case 224: 1683 efx_Expander->Expander_Change(7,value); 1684 break; 1685 1686 case 225: 1687 efx_Expander->Expander_Change(5,ret_LPF(value)); 1688 break; 1689 1690 case 226: 1691 efx_Expander->Expander_Change(6,ret_HPF(value)); 1692 break; 1693 1694 case 227: 1695 efx_Shuffle->changepar(0,value); 1696 break; 1697 1698 case 228: 1699 efx_Shuffle->changepar(5,20+(int)((float)value*7.7165)); 1700 break; 1701 1702 case 229: 1703 efx_Shuffle->changepar(1,value-64); 1704 break; 1705 1706 case 230: 1707 efx_Shuffle->changepar(6,400+(int)((float)value*28.3464)); 1708 break; 1709 1710 case 231: 1711 efx_Shuffle->changepar(2,value-64); 1712 break; 1713 1714 case 232: 1715 efx_Shuffle->changepar(7,1200+(int)((float)value*53.5433)); 1716 break; 1717 1718 case 233: 1719 efx_Shuffle->changepar(3,value-64); 1720 break; 1721 1722 case 234: 1723 efx_Shuffle->changepar(8,6000+(int)((float)value*157.48031)); 1724 break; 1725 1726 case 235: 1727 efx_Shuffle->changepar(4,value-64); 1728 break; 1729 1730 case 236: 1731 efx_Shuffle->changepar(9,value-64); 1732 break; 1733 1734 case 237: 1735 efx_Synthfilter->changepar(0,value); 1736 break; 1737 1738 case 238: 1739 efx_Synthfilter->changepar(1,value); 1740 break; 1741 1742 case 239: 1743 efx_Synthfilter->changepar(2,ret_Tempo(value)); 1744 break; 1745 1746 case 240: 1747 efx_Synthfilter->changepar(5,value); 1748 break; 1749 1750 case 241: 1751 efx_Synthfilter->changepar(6,value); 1752 break; 1753 1754 case 242: 1755 efx_Synthfilter->changepar(7,value-64); 1756 break; 1757 1758 case 243: 1759 efx_Synthfilter->changepar(11,value); 1760 break; 1761 1762 case 244: 1763 efx_Synthfilter->changepar(12,value-64); 1764 break; 1765 1766 case 245: 1767 efx_Synthfilter->changepar(13,5+(int)((float)value*7.83464)); 1768 break; 1769 1770 case 246: 1771 efx_Synthfilter->changepar(14,5+(int)((float)value*3.8976378)); 1772 break; 1773 1774 case 247: 1775 efx_Synthfilter->changepar(15,value); 1776 break; 1777 1778 case 248: 1779 efx_MBVvol->changepar(0,value); 1780 break; 1781 1782 case 249: 1783 efx_MBVvol->changepar(1,ret_Tempo(value)); 1784 break; 1785 1786 case 250: 1787 efx_MBVvol->changepar(3,value); 1788 break; 1789 1790 case 251: 1791 efx_MBVvol->changepar(4,ret_Tempo(value)); 1792 break; 1793 1794 case 252: 1795 efx_MBVvol->changepar(6,value); 1796 break; 1797 1798 case 253: 1799 efx_MBVvol->changepar(7,20+(int)((float)value*7.71653)); 1800 break; 1801 1802 case 254: 1803 efx_MBVvol->changepar(8,1000+(int)((float)value*55.11811)); 1804 break; 1805 1806 case 255: 1807 efx_MBVvol->changepar(9,2000+(int)((float)value*188.97638)); 1808 break; 1809 1810 case 256: 1811 efx_RyanWah->changepar(0,value); 1812 break; 1813 1814 case 257: 1815 efx_RyanWah->changepar(10,value-64); 1816 break; 1817 1818 case 258: 1819 efx_RyanWah->changepar(11,value-64); 1820 break; 1821 1822 case 259: 1823 efx_RyanWah->changepar(12,value-64); 1824 break; 1825 1826 case 260: 1827 efx_RyanWah->changepar(6,value); 1828 break; 1829 1830 case 261: 1831 efx_RyanWah->changepar(2,ret_Tempo(value)); 1832 break; 1833 1834 case 262: 1835 efx_RyanWah->changepar(1,value); 1836 break; 1837 1838 case 263: 1839 efx_RyanWah->changepar(14,10+(int)((float)value*47.165354f)); 1840 break; 1841 1842 case 264: 1843 efx_RyanWah->changepar(8,value); 1844 break; 1845 1846 case 265: 1847 efx_RyanWah->changepar(7,value-64); 1848 break; 1849 1850 case 266: 1851 efx_RyanWah->changepar(9,value); 1852 break; 1853 1854 case 267: 1855 efx_Looper->changepar(0,value); 1856 break; 1857 1858 case 268: 1859 efx_Looper->changepar(6,value); 1860 break; 1861 1862 case 269: 1863 efx_Looper->changepar(10,value); 1864 break; 1865 1866 case 270: 1867 if(value) i=1; 1868 else i=0; 1869 efx_Looper->changepar(5,i); 1870 break; 1871 1872 case 271: 1873 if(value) i=1; 1874 else i=0; 1875 efx_Looper->changepar(9,i); 1876 break; 1877 1878 case 272: 1879 if(value) i=1; 1880 else i=0; 1881 efx_Looper->changepar(1,i); 1882 break; 1883 1884 case 273: 1885 if(value) i=1; 1886 else i=0; 1887 efx_Looper->changepar(2,i); 1888 break; 1889 1890 case 274: 1891 if(value) i=1; 1892 else i=0; 1893 efx_Looper->changepar(3,i); 1894 break; 1895 1896 case 275: 1897 if(value) i=1; 1898 else i=0; 1899 efx_Looper->changepar(11,i); 1900 break; 1901 1902 case 276: 1903 if(value) i=1; 1904 else i=0; 1905 efx_Looper->changepar(12,i); 1906 break; 1907 1908 case 277: 1909 if(value) i=1; 1910 else i=0; 1911 efx_Looper->changepar(7,i); 1912 break; 1913 1914 case 278: 1915 if(value) i=1; 1916 else i=0; 1917 efx_Looper->changepar(8,i); 1918 break; 1919 1920 case 279: 1921 if(value) i=1; 1922 else i=0; 1923 efx_Looper->changepar(4,i); 1924 break; 1925 1926 case 280: 1927 efx_Convol->changepar(0,value); 1928 break; 1929 1930 case 281: 1931 efx_Convol->changepar(1,value); 1932 break; 1933 1934 case 282: 1935 efx_Convol->changepar(7,value); 1936 break; 1937 1938 case 283: 1939 efx_Convol->changepar(6,value); 1940 break; 1941 1942 case 284: 1943 efx_Convol->changepar(10,value-64); 1944 break; 1945 1946 case 285: 1947 efx_Convol->changepar(3,5+(int)((float)value*1.9291339f)); 1948 break; 1949 1950 case 286: 1951 efx_CoilCrafter->changepar(0,value); 1952 break; 1953 1954 case 287: 1955 efx_CoilCrafter->changepar(7,20+(int)((float)value*34.488189f)); 1956 break; 1957 1958 case 288: 1959 efx_CoilCrafter->changepar(3,2600+(int)((float)value*14.96063f)); 1960 break; 1961 1962 case 289: 1963 efx_CoilCrafter->changepar(4,10+(int)((float)value*.43307087f)); 1964 break; 1965 1966 case 290: 1967 efx_CoilCrafter->changepar(0,2600+(int)((float)value*14.96063f)); 1968 break; 1969 1970 case 291: 1971 efx_CoilCrafter->changepar(6,10+(int)((float)value*.43307087f)); 1972 break; 1973 1974 case 292: 1975 efx_ShelfBoost->changepar(0,value); 1976 break; 1977 1978 case 293: 1979 efx_ShelfBoost->changepar(4,1+(int)((float)value*.992125f)); 1980 break; 1981 1982 case 294: 1983 efx_ShelfBoost->changepar(2,220+(int)((float)value*124.25197f)); 1984 break; 1985 1986 case 295: 1987 efx_ShelfBoost->changepar(1,value-64); 1988 break; 1989 1990 case 296: 1991 efx_Vocoder->changepar(0,value); 1992 break; 1993 1994 case 297: 1995 efx_Vocoder->changepar(1,value); 1996 break; 1997 1998 case 298: 1999 efx_Vocoder->changepar(4,value); 2000 break; 2001 2002 case 299: 2003 efx_Vocoder->changepar(2,1+(int)((float)value*.992125f)); 2004 break; 2005 2006 case 300: 2007 efx_Vocoder->changepar(3,40+(int)((float)value*1.023622f)); 2008 break; 2009 2010 case 301: 2011 efx_Vocoder->changepar(6,value); 2012 break; 2013 2014 case 302: 2015 efx_Vocoder->changepar(5,value); 2016 break; 2017 2018 case 303: 2019 efx_RBEcho->changepar(0,value); 2020 break; 2021 2022 case 304: 2023 efx_RBEcho->changepar(7,value); 2024 break; 2025 2026 case 305: 2027 efx_RBEcho->changepar(1,value); 2028 break; 2029 2030 case 306: 2031 efx_RBEcho->changepar(2,ret_Tempo(value)); 2032 break; 2033 2034 case 307: 2035 efx_RBEcho->changepar(3,value); 2036 break; 2037 2038 case 308: 2039 efx_RBEcho->changepar(5,value); 2040 break; 2041 2042 case 309: 2043 efx_RBEcho->changepar(6,value); 2044 break; 2045 2046 case 310: 2047 efx_RBEcho->changepar(9,value); 2048 break; 2049 2050 case 311: 2051 efx_RBEcho->changepar(4,value); 2052 break; 2053 2054 case 312: 2055 efx_Sustainer->changepar(0,value); 2056 break; 2057 2058 case 313: 2059 efx_Sustainer->changepar(1,value); 2060 break; 2061 2062 case 314: 2063 efx_Sequence->changepar(8,value); 2064 break; 2065 2066 case 315: 2067 efx_Sequence->changepar(0,value); 2068 break; 2069 2070 case 316: 2071 efx_Sequence->changepar(1,value); 2072 break; 2073 2074 case 317: 2075 efx_Sequence->changepar(2,value); 2076 break; 2077 2078 case 318: 2079 efx_Sequence->changepar(3,value); 2080 break; 2081 2082 case 319: 2083 efx_Sequence->changepar(4,value); 2084 break; 2085 2086 case 320: 2087 efx_Sequence->changepar(5,value); 2088 break; 2089 2090 case 321: 2091 efx_Sequence->changepar(6,value); 2092 break; 2093 2094 case 322: 2095 efx_Sequence->changepar(7,value); 2096 break; 2097 2098 case 323: 2099 efx_Sequence->changepar(9,ret_Tempo(value)); 2100 break; 2101 2102 case 324: 2103 efx_Sequence->changepar(10,value); 2104 break; 2105 2106 case 325: 2107 efx_Sequence->changepar(12,(int)((float)value*.05511811f)); 2108 break; 2109 2110 case 326: 2111 efx_Shifter->changepar(0,value); 2112 break; 2113 2114 case 327: 2115 efx_Shifter->changepar(6,(int)((float)value*.094488189f)); 2116 break; 2117 2118 case 328: 2119 efx_Shifter->changepar(2,value); 2120 break; 2121 2122 case 329: 2123 efx_Shifter->changepar(1,value); 2124 break; 2125 2126 case 330: 2127 efx_Shifter->changepar(3,1 + (int)((float)value*15.748031f)); 2128 break; 2129 2130 case 331: 2131 efx_Shifter->changepar(4,1 + (int)((float)value*15.748031f)); 2132 break; 2133 2134 case 332: 2135 efx_Shifter->changepar(4,-70 + (int)((float)value*.70866142f)); 2136 break; 2137 2138 case 333: 2139 efx_Shifter->changepar(9,value); 2140 break; 2141 2142 case 334: 2143 efx_StompBox->changepar(0,value); 2144 break; 2145 2146 case 335: 2147 efx_StompBox->changepar(4,value); 2148 break; 2149 2150 case 336: 2151 efx_StompBox->changepar(3,value); 2152 break; 2153 2154 case 337: 2155 efx_StompBox->changepar(2,value); 2156 break; 2157 2158 case 338: 2159 efx_StompBox->changepar(1,value); 2160 break; 2161 2162 case 339: 2163 efx_Reverbtron->changepar(0,value); 2164 break; 2165 2166 case 340: 2167 efx_Reverbtron->changepar(11,value); 2168 break; 2169 2170 case 341: 2171 efx_Reverbtron->changepar(7,value); 2172 break; 2173 2174 case 342: 2175 efx_Reverbtron->changepar(6,value); 2176 break; 2177 2178 case 343: 2179 efx_Reverbtron->changepar(10,value); 2180 break; 2181 2182 case 344: 2183 efx_Reverbtron->changepar(3,20 + (int)((float)value*11.653543f)); 2184 break; 2185 2186 case 345: 2187 efx_Reverbtron->changepar(9,value); 2188 break; 2189 2190 case 346: 2191 efx_Reverbtron->changepar(5,(int)((float)value*3.9370079f)); 2192 break; 2193 2194 case 347: 2195 efx_Reverbtron->changepar(1,value); 2196 break; 2197 2198 case 348: 2199 efx_Echotron->changepar(0,value); 2200 break; 2201 2202 case 349: 2203 efx_Echotron->changepar(11,value); 2204 break; 2205 2206 case 350: 2207 efx_Echotron->changepar(5,ret_Tempo(value)); 2208 break; 2209 2210 case 351: 2211 efx_Echotron->changepar(6,value); 2212 break; 2213 2214 case 352: 2215 efx_Echotron->changepar(10,value); 2216 break; 2217 2218 case 353: 2219 efx_Echotron->changepar(7,value); 2220 break; 2221 2222 case 354: 2223 efx_Echotron->changepar(2,value); 2224 break; 2225 2226 case 355: 2227 efx_Echotron->changepar(1,value); 2228 break; 2229 2230 case 356: 2231 efx_Echotron->changepar(9,value); 2232 break; 2233 2234 case 357: 2235 efx_Echotron->changepar(3,1+ (int)((float)value*.99212598f)); 2236 break; 2237 2238 case 358: 2239 efx_StereoHarm->changepar(0,value); 2240 break; 2241 2242 case 359: 2243 efx_StereoHarm->changepar(2,-12+(int)((float)value*.18897638f)); 2244 break; 2245 2246 case 360: 2247 efx_StereoHarm->changepar(3,-2000+(int)((float)value*31.496063f)); 2248 break; 2249 2250 case 361: 2251 efx_StereoHarm->changepar(1,value); 2252 break; 2253 2254 case 362: 2255 efx_StereoHarm->changepar(5,-12+(int)((float)value*.18897638f)); 2256 break; 2257 2258 case 363: 2259 efx_StereoHarm->changepar(6,-2000+(int)((float)value*31.496063f)); 2260 break; 2261 2262 case 364: 2263 efx_StereoHarm->changepar(4,value); 2264 break; 2265 2266 case 365: 2267 efx_StereoHarm->changepar(11,value); 2268 break; 2269 2270 case 366: 2271 efx_StereoHarm->changepar(8,(int)((float)value*.18110236f)); 2272 break; 2273 2274 case 367: 2275 efx_StereoHarm->changepar(9,(int)((float)value*.25984252f)); 2276 break; 2277 2278 case 368: 2279 efx_CompBand->changepar(0,value); 2280 break; 2281 2282 case 369: 2283 efx_CompBand->changepar(12,value); 2284 break; 2285 2286 case 370: 2287 efx_CompBand->changepar(1,2+(int)((float)value*.31496063f)); 2288 break; 2289 2290 case 371: 2291 efx_CompBand->changepar(2,2+(int)((float)value*.31496063f)); 2292 break; 2293 2294 case 372: 2295 efx_CompBand->changepar(3,2+(int)((float)value*.31496063f)); 2296 break; 2297 2298 case 373: 2299 efx_CompBand->changepar(4,2+(int)((float)value*.31496063f)); 2300 break; 2301 2302 case 374: 2303 efx_CompBand->changepar(5,-70+(int)((float)value*.74015748f)); 2304 break; 2305 2306 case 375: 2307 efx_CompBand->changepar(6,-70+(int)((float)value*.74015748f)); 2308 break; 2309 2310 case 376: 2311 efx_CompBand->changepar(7,-70+(int)((float)value*.74015748f)); 2312 break; 2313 2314 case 377: 2315 efx_CompBand->changepar(8,-70+(int)((float)value*.74015748f)); 2316 break; 2317 2318 case 378: 2319 efx_CompBand->changepar(9,20+(int)((float)value*7.71653f)); 2320 break; 2321 2322 case 379: 2323 efx_CompBand->changepar(10,1000+(int)((float)value*55.11811f)); 2324 break; 2325 2326 case 380: 2327 efx_CompBand->changepar(11,2000+(int)((float)value*188.97638f)); 2328 break; 2329 2330 case 381: 2331 efx_Opticaltrem->changepar(0,value); 2332 break; 2333 2334 case 382: 2335 efx_Opticaltrem->changepar(1,ret_Tempo(value)); 2336 break; 2337 2338 case 383: 2339 efx_Opticaltrem->changepar(2,value); 2340 break; 2341 2342 case 384: 2343 efx_Opticaltrem->changepar(4,value); 2344 break; 2345 2346 case 385: 2347 efx_Opticaltrem->changepar(5,value); 2348 break; 2349 2350 case 386: 2351 efx_Vibe->changepar(6,value); 2352 break; 2353 2354 case 387: 2355 efx_Vibe->changepar(0,value); 2356 break; 2357 2358 case 388: 2359 efx_Vibe->changepar(8,value); 2360 break; 2361 2362 case 389: 2363 efx_Vibe->changepar(1,ret_Tempo(value)); 2364 break; 2365 2366 case 390: 2367 efx_Vibe->changepar(2,value); 2368 break; 2369 2370 case 391: 2371 efx_Vibe->changepar(4,value); 2372 break; 2373 2374 case 392: 2375 efx_Vibe->changepar(7,value); 2376 break; 2377 2378 case 393: 2379 efx_Vibe->changepar(9,value); 2380 break; 2381 2382 case 394: 2383 efx_Vibe->changepar(5,value); 2384 break; 2385 2386 case 395: 2387 efx_Infinity->changepar(0,value); 2388 break; 2389 2390 case 396: 2391 efx_Infinity->changepar(9,-1000+(int)((float)value*15.748031f)); 2392 break; 2393 2394 case 397: 2395 efx_Infinity->changepar(15,value); 2396 break; 2397 2398 case 398: 2399 efx_Infinity->changepar(13,value); 2400 break; 2401 2402 case 399: 2403 efx_Infinity->changepar(10,value); 2404 break; 2405 2406 case 400: 2407 efx_Infinity->changepar(11,value); 2408 break; 2409 2410 case 401: 2411 efx_Infinity->changepar(12,ret_Tempo(value)); 2412 break; 2413 2414 case 402: 2415 efx_Infinity->changepar(14,-16+(int)((float)value*.2518685f)); 2416 break; 2417 2418 2419 } 2420 2421 2422 } 2423 2424 2425 int 2426 RKR::ret_Tempo(int value) 2427 { 2428 return( 1+(int)((float)value*4.724f)); 2429 } 2430 int 2431 RKR::ret_LPF(int value) 2432 { 2433 return( 20+(int)((float)value*204.566f)); 2434 } 2435 int 2436 RKR::ret_HPF(int value) 2437 { 2438 return( 20+(int)((float)value*157.322f)); 2439 } 2440 2441