; ------- Bome MIDI Translator: signed project file ; ------- You can modify this file as you like, but that will invalidate the ; ------- signature so that it cannot be opened in the BomeBox or MT Player anymore. ; [Preset.0] Active=1 Comments= Incoming0=MID3 Incoming1=Tim0TimT000EVelocity Curve Name=New Preset Name0=Turn Knob Name1=Velocity-Curve Options0=Actv01Stop00OutO00StMa00000002gb=qqga=-100 Options1=Actv01Stop00OutO00StMa00000058zz=0label0012__cmt>// min valueoo=0label0012__cmt>// max valuepp=127label0012__cmt>// mid valueqq=64label002D__cmt>// deviation (get from global variable)ga=gaif(ga>100)goto0005errorif(ga<-100)goto0005errorlabel0031__cmt>// current value (get from global variable)uu=gblabel001A__cmt>// get control pointlabel0038__cmt>// (deviation * midmidvalue / 100 ) + midmidivaluevv=ga*qqvv=vv/100vv=vv+qqif(vv>12700)vv=12700label0006__cmt>label0006__cmt>label0006__cmt>if(zz==1)label0030__log>Log Input = %uu% - Control point X is %vv%label0006__cmt>label0040__cmt>// t = ww = the position on the curve in relation to maxlabel0023__cmt>// p0 = oo = minMidiValue (0)label003B__cmt>// p1 = vv = controlPointX (the bezier control point)label0023__cmt>// p2 = pp maxMidiValue (127)label0006__cmt>label000F__cmt>//scalingww=gb*101ww=ww/128label0006__cmt>if(zz==1)label0023__log>Log Position on curve is %ww%label0006__cmt>label0006__cmt>label0018__cmt>// Calculater B(t)label0032__cmt>// B(t) = ((1 - t) * (1 - t) * minMidiValue)rr=100-wwrr=rr*rrrr=rr*oorr=rr/100if(zz==1)label0016__log>Log Part 1 =%rr%label0006__cmt>label0006__cmt>label0036__cmt>// Part 2 + (2 * (1 - t) * t * controlPointX)ss=100-wwss=ss*wwss=ss*2ss=ss*vvlabel0018__cmt>// Reverse decimalss=ss/100if(zz==1)label0016__log>Log Part 2 =%ss%label0006__cmt>label002C__cmt>// part 3 + (t * t * maxMidiValue)tt=ww*wwtt=tt*pplabel001F__cmt>// Reverse decimal errorstt=tt/100if(zz==1)label0016__log>Log Part 3 =%tt%label0006__cmt>label0006__cmt>label001D__cmt>// Combine them into rrrr=rr+ssrr=rr+ttrr=rr/100if(zz==1)label001D__log>Log Part Combined =%rr%label001D__cmt>// rr now contains B(t)label0006__cmt>if(zz==1)label0013__log>Log B(t)=%rr%label0006__cmt>label0006__cmt>if(zz==1)label0014__log>Log Delta=%rr%label0006__cmt>xx=gb-rrxx=xx+rrlabel0006__cmt>label0006__cmt>label0006__cmt>if(zz==1)label001A__log>Log Return,%gb%,%rr%label0006__cmt>label0006__cmt>executelabel0006__cmt>label0006__cmt>label0005errorlabel0045__log>Log value in ga needs to be greater than -100 and less than 100label0006__cmt> Outgoing0=Tim0TimS000EVelocity Curve1:0:1 Outgoing1=MID3 PresetSwitchIgnore=0 [Project] DefaultInPorts=MIDA0001000DMy Controller DefaultOutPorts=MIDA00010022Bome MIDI Translator 1 Virtual Out Version=2 [Signatures] SigName-1=[Midi Translator Pro Internal] Signature-1=BvVPxdN4LmEMt6/KgFfjkqoTlbxpg5ZiY99u+dmAZ6fyjD2RsGhz8vPQ+ABWE/hrmxhAXFJ3vJBJI0igRQAGWYXv/AdzTp+AtxiFJ31bG1jb0Zxa1j1+msY1T0xgNLM+A78q12KAIZzP3qG3dXOzY0Rz/qoolyeF2HjRezW3On8= SignedBy-1=Steve Caldwell