/* Elaborated by Paul Fenton July 2009.Thanks to schwa,Siggi Eriksson,Philip S. Considine and others from whom I've learnt to copy and make something useable. JS sysex support: midisyx(frameoffset,msgbuf,len) {Ctrl Delay,V Distortion,Multi Band Comp,Lo Fi,Isolator,Slice,Ring Mod,Dyn Filter} */ desc:Yamaha Motif ES Master Mix slider1:23<0,48,1{Hall1,Hall2,Room 1,Room 2,Room 3,Stage 1,Stage 2,Plate,DLY Delay L R C,DLY Delay L R,DLY Delay L R Stereo,DLY Dly Echo,DLY Cross Delay,DLY Tempo Delay 1,DLY Tempo Delay 2,DLY Tempo Cross Delay,ER Early Reflections 1,ER Early Reflections 2,ER Gate Reverb,ER Reverse Gate,KAR Karaoke 1,KAR Karaoke 2,KAR Karaoke 3,CH Chorus 1,CH Chorus 2,CH Chorus 3,CH Chorus 4,CH Chorus 5,CH Celeste 1,CH Celeste 2,CH Celeste 3,CH Celeste 4,CH Symphonic,CH Ensemble,FLA Flanger 1,FLA Flanger 2,Flanger 3,V-Flanger,FLA Vintage Flanger 1,FLA Vintage Flanger 2,FLA Vintage Flanger 3,FLA Tempo Flanger,PHA Phaser 1,PHA Phaser 2,PHA Vintage Phaser 1 Stereo,PHA Vintage Phaser 2 Stereo,PHA Vintage Phaser 1 Mono,PHA Vintage Phaser 2 Mono,PHA Tempo Phaser}>FX1 Chorus Select slider2:0<0,127,1>Send Chorus to Reverb slider3:12<0,19,1{Hall1,Hall2,Room 1,Room 2,Room 3,Stage 1,Stage 2,Plate,White Room,Tunnel,Basement,Canyon,R3 Hall,R3 Room,R3 Plate,Large Hall,Medium Hall,Warm Room,Woody Room,Rich Plate}>FX2 Reverb Select slider4:64<0,127,1>High Gain slider5:64<0,127,1>Medium-Hi Gain slider6:64<0,127,1>Medium-Lo Gain slider7:64<0,127,1>Low Gain slider9:0<0,1,1{OFF,ON}>Master FX Switch slider10:0<0,7,1{Ctrl Delay,V Distortion,Multi Band Comp,Lo Fi,Isolator,Slice,Ring Mod,Dyn Filter}>Master FX @init in_pin:none out_pin:none buf = 0; buf[0] = $x43|0; buf[1] = $x10|0; buf[2] = $x7F|0; buf[3] = $x00|0; buf[4] = $x36|0; @slider slider1 = floor(slider1); slider2 = floor(slider2); slider3 = floor(slider3); slider4 = floor(slider4); slider5 = floor(slider5); slider6 = floor(slider6); slider7 = floor(slider7); slider8 = floor(slider8); slider9 = floor(slider9); slider10 = floor(slider10); slider11 = floor(slider11); slider12 = floor(slider12); slider13 = floor(slider13); slider14 = floor(slider14); slider16 = floor(slider16); @block //Chorus slider1 == 0 ? (buf[7] = $x01|0; buf[8] = $x00|0;); //Hall 1 slider1 == 1 ? (buf[7] = $x01|0; buf[8] = $x01|0;); //Hall 2 slider1 == 2 ? (buf[7] = $x01|0; buf[8] = $x10|0;); //Room 1 slider1 == 3 ? (buf[7] = $x01|0; buf[8] = $x11|0;); //Room 2 slider1 == 4 ? (buf[7] = $x01|0; buf[8] = $x12|0;); //Room 3 slider1 == 5 ? (buf[7] = $x01|0; buf[8] = $x20|0;); //Stage 1 slider1 == 6 ? (buf[7] = $x01|0; buf[8] = $x21|0;); //Stage 2 slider1 == 7 ? (buf[7] = $x01|0; buf[8] = $x30|0;); //Plate slider1 == 8 ? (buf[7] = $x02|0; buf[8] = $x00|0;); //Delay L C R slider1 == 9 ? (buf[7] = $x02|0; buf[8] = $x10|0;); //Delay L R slider1 == 10 ? (buf[7] = $x02|0; buf[8] = $x18|0;); //Delay L R Stereo slider1 == 11 ? (buf[7] = $x02|0; buf[8] = $x20|0;); //Echo slider1 == 12 ? (buf[7] = $x02|0; buf[8] = $x30|0;); //Cross Delay slider1 == 13 ? (buf[7] = $x02|0; buf[8] = $x50|0;); //Tempo Delay 1 slider1 == 14 ? (buf[7] = $x02|0; buf[8] = $x58|0;); //Tempo Delay 2 slider1 == 15 ? (buf[7] = $x02|0; buf[8] = $x60|0;); //Tempo Cross Delay slider1 == 16 ? (buf[7] = $x03|0; buf[8] = $x00|0;); //Early Reflections 1 slider1 == 17 ? (buf[7] = $x03|0; buf[8] = $x01|0;); //Early Reflections 2 slider1 == 18 ? (buf[7] = $x03|0; buf[8] = $x10|0;); //Gate Reverb slider1 == 19 ? (buf[7] = $x03|0; buf[8] = $x20|0;); //Reverse Gate slider1 == 20 ? (buf[7] = $x04|0; buf[8] = $x00|0;); //Karaoke 1 slider1 == 21 ? (buf[7] = $x04|0; buf[8] = $x01|0;); //Karaoke 2 slider1 == 22 ? (buf[7] = $x04|0; buf[8] = $x02|0;); //Karaoke 3 slider1 == 23 ? (buf[7] = $x05|0; buf[8] = $x00|0;); //Chorus 1 slider1 == 24 ? (buf[7] = $x05|0; buf[8] = $x01|0;); //Chorus 2 slider1 == 25 ? (buf[7] = $x05|0; buf[8] = $x02|0;); //Chorus 3 slider1 == 26 ? (buf[7] = $x05|0; buf[8] = $x08|0;); //Chorus 4 slider1 == 27 ? (buf[7] = $x05|0; buf[8] = $x09|0;); //Chorus 5 slider1 == 28 ? (buf[7] = $x05|0; buf[8] = $x10|0;); //Celeste 1 slider1 == 29 ? (buf[7] = $x05|0; buf[8] = $x11|0;); //Celeste 2 slider1 == 30 ? (buf[7] = $x05|0; buf[8] = $x12|0;); //Celeste 3 slider1 == 31 ? (buf[7] = $x05|0; buf[8] = $x18|0;); //Celeste 4 slider1 == 32 ? (buf[7] = $x05|0; buf[8] = $x20|0;); //Symphonic slider1 == 33 ? (buf[7] = $x05|0; buf[8] = $x30|0;); //Ensemble slider1 == 34 ? (buf[7] = $x06|0; buf[8] = $x00|0;); //Flanger 1 slider1 == 35 ? (buf[7] = $x06|0; buf[8] = $x01|0;); //Flanger 2 slider1 == 36 ? (buf[7] = $x06|0; buf[8] = $x08|0;); //Flanger 3 slider1 == 37 ? (buf[7] = $x06|0; buf[8] = $x10|0;); //V Flanger slider1 == 38 ? (buf[7] = $x06|0; buf[8] = $x20|0;); //Vintage Flanger 1 slider1 == 39 ? (buf[7] = $x06|0; buf[8] = $x21|0;); //Vintage Flanger 2 slider1 == 40 ? (buf[7] = $x06|0; buf[8] = $x22|0;); //Vintage Flanger 3 slider1 == 41 ? (buf[7] = $x06|0; buf[8] = $x50|0;); //Tempo Flanger slider1 == 42 ? (buf[7] = $x07|0; buf[8] = $x00|0;); //Phaser 1 slider1 == 43 ? (buf[7] = $x07|0; buf[8] = $x08|0;); //Phaser 2 slider1 == 44 ? (buf[7] = $x07|0; buf[8] = $x20|0;); //Vintage Phaser 1 Stereo slider1 == 45 ? (buf[7] = $x07|0; buf[8] = $x21|0;); //Vintage Phaser 2 Stereo slider1 == 46 ? (buf[7] = $x07|0; buf[8] = $x30|0;); //Vintage Phaser 1 Mono slider1 == 47 ? (buf[7] = $x07|0; buf[8] = $x31|0;); //Vintage Phaser 2 Mono slider1 == 48 ? (buf[7] = $x07|0; buf[8] = $x50|0;); //Tempo Phaser (slider1 != oldslider1) ? ( buf[5] = $x02|0; buf[6] = $x00|0; midisyx(0,buf,9); oldslider1 = slider1; ); //Chorus send to Reverb (slider2 != oldslider2) ? ( buf[5] = $x02|0; buf[6] = $x24|0; buf[7] = floor(slider2)|0; midisyx(0,buf,8); oldslider2 = slider2; ); //Reverb slider3 == 0 ? (buf[7] = $x01|0; buf[8] = $x00|0;); //Hall 1 slider3 == 1 ? (buf[7] = $x01|0; buf[8] = $x01|0;); //Hall 2 slider3 == 2 ? (buf[7] = $x01|0; buf[8] = $x10|0;); //Room 1 slider3 == 3 ? (buf[7] = $x01|0; buf[8] = $x11|0;); //Room 2 slider3 == 4 ? (buf[7] = $x01|0; buf[8] = $x12|0;); //Room 3 slider3 == 5 ? (buf[7] = $x01|0; buf[8] = $x20|0;); //Stage 1 slider3 == 6 ? (buf[7] = $x01|0; buf[8] = $x21|0;); //Stage 2 slider3 == 7 ? (buf[7] = $x01|0; buf[8] = $x30|0;); //Plate slider3 == 8 ? (buf[7] = $x01|0; buf[8] = $x40|0;); //White Room slider3 == 9 ? (buf[7] = $x01|0; buf[8] = $x41|0;); //Tunnel slider3 == 10 ? (buf[7] = $x01|0; buf[8] = $x42|0;); //Basement slider3 == 11 ? (buf[7] = $x01|0; buf[8] = $x43|0;); //Canyon slider3 == 12 ? (buf[7] = $x01|0; buf[8] = $x02|0;); //R3 Hall slider3 == 13 ? (buf[7] = $x01|0; buf[8] = $x13|0;); //R3 Room slider3 == 14 ? (buf[7] = $x01|0; buf[8] = $x31|0;); //R3 Plate slider3 == 15 ? (buf[7] = $x01|0; buf[8] = $x08|0;); //Large Hall slider3 == 16 ? (buf[7] = $x01|0; buf[8] = $x09|0;); //Medium Hall slider3 == 17 ? (buf[7] = $x01|0; buf[8] = $x18|0;); //Warm Room slider3 == 18 ? (buf[7] = $x01|0; buf[8] = $x19|0;); //Woody Room slider3 == 19 ? (buf[7] = $x01|0; buf[8] = $x38|0;); //Rich Plate (slider3 != oldslider3) ? ( buf[5] = $x01|0; buf[6] = $x00|0; midisyx(0,buf,9); oldslider3 = slider3; ); //Highgain (slider4 != oldslider4) ? ( buf[5] = $x00|0; buf[6] = $x44|0; buf[7] = floor(slider4)|0; midisyx(0,buf,8); oldslider4 = slider4; ); //MedHigain (slider5 != oldslider5) ? ( buf[5] = $x00|0; buf[6] = $x43|0; buf[7] = floor(slider5)|0; midisyx(0,buf,8); oldslider5 = slider5; ); //MedLogain (slider6 != oldslider6) ? ( buf[5] = $x00|0; buf[6] = $x42|0; buf[7] = floor(slider6)|0; midisyx(0,buf,8); oldslider6 = slider6; ); //Lowgain (slider7 != oldslider7) ? ( buf[5] = $x00|0; buf[6] = $x41|0; buf[7] = floor(slider7)|0; midisyx(0,buf,8); oldslider7 = slider7; ); //MstrFXSW (slider9 != oldslider9) ? ( buf[5] = $x11|0; buf[6] = $x22|0; buf[7] = floor(slider9)|0; midisyx(0,buf,8); oldslider9 = slider9; ); //MstrFXChoice slider10 == 0 ? (buf[7] = $x02|0; buf[8] = $x48|0;); //Ctrl Delay slider10 == 1 ? (buf[7] = $x09|0; buf[8] = $x10|0;); //V Distortion slider10 == 2 ? (buf[7] = $x0A|0; buf[8] = $x50|0;); //Multi Band Comp slider10 == 3 ? (buf[7] = $x0D|0; buf[8] = $x00|0;); //Lo Fi slider10 == 4 ? (buf[7] = $x0E|0; buf[8] = $x40|0;); //Isolator slider10 == 5 ? (buf[7] = $x0E|0; buf[8] = $x50|0;); //Slice slider10 == 6 ? (buf[7] = $x0F|0; buf[8] = $x70|0;); //Ring Mod slider10 == 7 ? (buf[7] = $x0F|0; buf[8] = $x78|0;); //Dyn Filter (slider10 != oldslider10) ? ( buf[5] = $x11|0; buf[6] = $x00|0; midisyx(0,buf,9); oldslider10 = slider10; );