; ------- 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=EnDi02 Incoming1=KAM10000KSQ1000201B21B Incoming2=Tim0TimT0004Init Name=Init Name0=Project Opened Init Name1=ESC Init Name2=Initialize Global Variables Options0=Actv01Stop00OutO00 Options1=Actv01Stop00OutO00 Options2=Actv01Stop00OutO00StMa00000014label0010__cmt>// bit maplabel0013__cmt>// notes 0-31ga=0label0014__cmt>// notes 32-63gb=0label0014__cmt>// notes 64-95gc=0label0015__cmt>// notes 96-127gd=0label0014__cmt>// target notege=24label0029__cmt>// current note under test /countergf=128label0015__cmt>// not used yetgg=gflabel0025__cmt>// target incoming note MIDI CHgh=2label0015__cmt>// closest notegi=-1label0006__cmt> Outgoing0=Tim0TimS0004Init1:0:1 Outgoing1=Tim0TimS0004Init1:0:1 Outgoing2=None PresetSwitchIgnore=0 [Preset.1] Active=1 Comments= Incoming0=MID3 Incoming1=MID3 Name=Note Tracking Name0=Set Notes Name1=Clear Notes Options0=Actv01Stop00OutO00StMa0000001Dlabel0028__cmt>// determine which variable to uselabel0006__cmt>if(pp>95)uu=3if(pp<=95)uu=2if(pp<=63)uu=1if(pp<=31)uu=0label0006__cmt>if(uu==3)qq=gdif(uu==2)qq=gcif(uu==1)qq=gbif(uu==0)qq=galabel0006__cmt>label0006__cmt>label0006__cmt>label0016__cmt>// determine bitrr=pp%32label001A__cmt>// Stuff it with a 1tt=1<label0014__cmt>// put it backif(uu==3)gd=qqif(uu==2)gc=qqif(uu==1)gb=qqif(uu==0)ga=qqlabel0006__cmt>label0006__cmt>label001A__cmt>// set timer countergf=128 Options1=Actv01Stop00OutO00StMa00000027label0028__cmt>// determine which variable to uselabel0006__cmt>if(pp>95)uu=3if(pp<=95)uu=2if(pp<=63)uu=1if(pp<=31)uu=0label0006__cmt>if(uu==3)qq=gdif(uu==2)qq=gcif(uu==1)qq=gbif(uu==0)qq=galabel0006__cmt>label0006__cmt>label0006__cmt>label0016__cmt>// determine bitrr=pp%32label001A__cmt>// Stuff it with a 0tt=1<label0014__cmt>// put it backif(uu==3)gd=qqif(uu==2)gc=qqif(uu==1)gb=qqif(uu==0)ga=qqlabel0006__cmt>label0044__cmt>// if all notes are off then send note off on the closest notepp=ga|gbpp=pp|gcpp=pp|gdlabel0006__cmt>if(pp!=0)noexecutelabel0014__cmt>// target notepp=gigi=-1label0006__cmt>label0006__cmt>label0006__cmt> Outgoing0=Tim0TimS000EEvaluate Chordgf:50:0 Outgoing1=MID3 PresetSwitchIgnore=0 [Preset.2] Active=1 Comments= Incoming0=Tim0TimT000EEvaluate Chord Name=Chord Evaluator Name0=Chord Evaluator Options0=Actv01Stop00OutO00StMa00000033label001A__cmt>// decrement countergf=gf-1pp=gflabel001D__cmt>// is this note pressedlabel0006__cmt>label0028__cmt>// determine which variable to uselabel0006__cmt>if(pp>95)uu=3if(pp<=95)uu=2if(pp<=63)uu=1if(pp<=31)uu=0label0006__cmt>if(uu==3)qq=gdif(uu==2)qq=gcif(uu==1)qq=gbif(uu==0)qq=galabel0006__cmt>label0016__cmt>// determine bitrr=pp%32label0010__cmt>// test ittt=qq>>rrtt=tt&1if(tt!=1)goto0004Nextlabel0006__cmt>label0046__cmt>// is it closer than to the target note than the last one testedlabel001B__cmt>// determine distancess=pp-ghif(ss<0)ss=ss*-1label0006__cmt>label0023__cmt>// compare with last distanceif(gi>0)goto0007comparelabel0006__cmt>if(gi<0)gi=ppgoto0004nextlabel0006__cmt>label0007comparelabel0006__cmt>tt=pp-giif(tt<0)tt=tt*-1label0006__cmt>label001F__cmt>// Is the new note closerif(sslabel0004nextif(pp==0)executenoexecutelabel0006__cmt>label0006__cmt>label0006__cmt>label0006__cmt>label0006__cmt> Outgoing0=MID3 PresetSwitchIgnore=0 [Project] DefaultInPorts=MIDA0001000CMyController DefaultOutPorts=MIDA00010022Bome MIDI Translator 1 Virtual Out Version=2 [Signatures] SigName-1=[Midi Translator Pro Internal] Signature-1=nAAbfGLI+4mRXbV6tPQWZ2w86hwC1hMUB189DJ5zmtDiqyFnGyWd37pTCjwO8GAPt3EGAap561U03PfIkpBmgIigqNtp1eYagYwxklUB6NJK/3NBDCHne/gqvmCBL8SldiaDBUsukYtjFeJuydRaUBmuSjsnpY+31N2Ad8q85IE= SignedBy-1=Steve Caldwell