/* JS Sysex Midi Effect for controlling the Yamaha 01X interface.This is the OUTPUT BUS version. Use midi port mLAN4.This controls the internal audio mixer,NOT the Remote Control, control surface feature. At the moment this effect is oneway only i.e. from REAPER to the 01X. Elaborated July 2009 by Paul Fenton. For use with REAPER v.3.05 and later. */ desc:01X Recording BUS Control (midi port mLAN4) slider1:1023<0,1023,1>Volume slider2:0<0,1,1{OFF,ON}>Send Stereo Busses to Recording BUS(FX) slider4:0<0,1,1{Dyn OFF,Dyn ON}>Dynamics slider5:0<0,180,1>Dyn Gain slider6:460<0,540,1>Dyn Threshold slider7:6<0,15,1{1:1,1.1:1,1.3:1,1.5:1,1.7:1,2:1,2.5:1,3:1,3.5:1,4:1,5:1,6:1,8:1,10:1,20:1,inf:1}>Dyn Ratio slider8:60<0,120,1>Dyn Attack in ms slider9:37<0,160,1{6ms,12ms,17ms,23ms,29ms,35ms,41ms,46ms,52ms,58ms,64ms,70ms,75ms,81ms,87ms,93ms,99ms,104ms,110ms,116ms,122ms,128ms,133ms,139ms,145ms,151ms,157ms,163ms,168ms,174ms,180ms,186ms,192ms,203ms,215ms,226ms,238ms,250ms,261ms,273ms,284ms,296ms,308ms,319ms,331ms,342ms,354ms,366ms,377ms,400ms,424ms,447ms,470ms,493ms,517ms,540ms,563ms,586ms,609ms,633ms,656ms,679ms,702ms,725ms,749ms,795ms,842ms,888ms,934ms,981ms,1.03s,1.07s,1.12s,1.17s,1.21s,1.26s,1.31s,1.35s,1.40s,1.45s,1.49s,1.58s,1.68s,1.77s,1.86s,1.96s,2.05s,2.14s,2.23s,2.33s,2.42s,2.51s,2.61s,2.70s,2.79s,2.88s,2.98s,3.16s,3.35s,3.53s,3.72s,3.91s,4.09s,4.28s,4.46s,4.65s,4.83s,5.02s,5.21s,5.39s,5.58s,5.76s,5.95s,6.32s,6.69s,7.06s,7.43s,7.81s,8.18s,8.55s,8.92s,9.29s,9.66s,10.0s,10.4s,10.8s,11.1s,11.5s,11.9s,12.6s,13.4s,14.1s,14.9s,15.6s,16.3s,17.1s,17.8s,18.6s,19.3s,20.1s,20.8s,21.5s,22.3s,23.0s,23.8s,25.3s,26.7s,28.2s,29.7s,31.2s,32.7s,34.2s,35.7s,37.1s,38.6s,40.1s,41.6s,43.1s,44.6s,46.1s}>Dyn Release slider10:2<0,5,1{Hard,1,2,3,4,5}>Dyn Knee slider12:1<0,1,1{Mute,Unmute}>Mute @init in_pin:none out_pin:none buf[0] = $x43|0; buf[1] = $x10|0; buf[2] = $x3E|0; buf[3] = $x7F|0; buf[4] = $x01|0; @slider @block (slider1 != vol) ? ( vol = slider1; buf[5] = $x2A|0; buf[6] = $x00|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = (vol/$x100)|0; buf[11] = ((vol/2) % $x80)|0; midisyx(0, buf, 12); ); (slider2 != stb1) ? ( stb1 = slider2; buf[5] = $x21|0; buf[6] = $x04|0; buf[7] = $x19|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = stb1|0; midisyx(0, buf, 12); ); (slider2 != stb2) ? ( stb2 = slider2; buf[5] = $x21|0; buf[6] = $x04|0; buf[7] = $x1B|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = stb2|0; midisyx(0, buf, 12); ); (slider4 != dyn) ? ( dyn = slider4; buf[5] = $x2C|0; buf[6] = $x01|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = dyn|0; midisyx(0, buf, 12); ); (slider5 != dyg) ? ( dyg = slider5; buf[5] = $x2C|0; buf[6] = $x07|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = ((dyg/$x80) % $x80)|0; buf[11] = (dyg % $x80)|0; midisyx(0, buf, 12); ); (slider6 != dyt) ? ( dyt = slider6; buf[5] = $x2C|0; buf[6] = $x09|0; buf[7] = $x00|0; buf[8] = (((dyt/$x21C)+$x7F) % $x80)|0; buf[9] = (((dyt/$x21C)+$x7F) % $x80)|0; buf[10] = ((((dyt+$x64)/$x80)+$x7B) % $x80)|0; buf[11] = ((dyt+$x64) % $x80)|0; midisyx(0, buf, 12); ); (slider7 != dyr) ? ( dyr = slider7; buf[5] = $x2C|0; buf[6] = $x06|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = dyr|0; midisyx(0, buf, 12); ); (slider8 != dya) ? ( dya = slider8; buf[5] = $x2C|0; buf[6] = $x04|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = dya|0; midisyx(0, buf, 12); ); (slider9 != dys) ? ( dys = slider9; buf[5] = $x2C|0; buf[6] = $x05|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = (dys/$x80)|0; buf[11] = (dys % $x80)|0; midisyx(0, buf, 12); ); (slider10 != dyk) ? ( dyk = slider10; buf[5] = $x2C|0; buf[6] = $x08|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = dyk|0; midisyx(0, buf, 12); ); (slider12 != mute) ? ( mute = slider12; buf[5] = $x28|0; buf[6] = $x00|0; buf[7] = $x00|0; buf[8] = $x00|0; buf[9] = $x00|0; buf[10] = $x00|0; buf[11] = mute|0; midisyx(0, buf, 12); ); @sample