; ------- 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= DefaultInPorts=MIDA00010014Midi Fighter Twister Incoming0=EnDi02 Incoming1=KAM10000KSQ1000201B21B Incoming2=Tim0TimT0004Init Incoming3=MID3 Incoming4=MID3 Incoming5=Tim0TimT000BPressedPadg Incoming6=MID3 Incoming7=Tim0TimT0006Send 1 Name=Playground Double Press 2 Name0=Project Opened - Init Name1=ESC - Init Name2=Initialize Global Variables Name3=KeyPressed Name4=KeyRelease Name5=Timer Event Name6=Send 1 Name7=Receive 1 Options0=Actv01Stop00OutO00 Options1=Actv01Stop00OutO00 Options2=Actv01Stop00OutO00StMa0000001Dlabel0039__cmt>// ------------------------------------------------label001A__cmt>// g0 = Key-SM-Statelabel0019__cmt>// -1 ... initlabel001E__cmt>// 0 -- First Prestlabel001F__cmt>// 1 ... 1st releaselabel001D__cmt>// 2 ... 2nd presslabel001F__cmt>// 3 ... 2nd releaselabel0006__cmt>g0=-1label0006__cmt>label0039__cmt>// ------------------------------------------------label0019__cmt>// g1 = press statelabel001F__cmt>// 0 ... not pressedlabel0026__cmt>// 1 ... short/once pressedlabel0022__cmt>// 2 ... double pressedlabel0020__cmt>// 3 ... long pressedg1=0label0006__cmt>label0039__cmt>// ------------------------------------------------label0021__cmt>// ga = WaitForKeyEventTimega=200label0006__cmt>label0015__cmt>// current noteg2=0label0012__cmt>// last noteg3=0label001B__cmt>// last gesture indexg4=0label0006__cmt>Konstanten für das Timinglabel0033__cmt>// ga = Max-Release-Time after pressing a keylabel002F__cmt>// xb = Max-Wait-Time between two presseslabel004D__cmt>// xc = Max-Wait-Time before key pressed wil be recognized as LongPresslabel002A__cmt>// xc will be killed be NoteOffga=150xb=150xc=200label0006__cmt> Options3=Actv01Stop00OutO00StMa00000016label0039__cmt>//g2 is current note number, g3 is last note numberg3=g2g2=pplabel0006__cmt>label001A__cmt>// g0 = Key-SM-Statelabel0019__cmt>// -1 ... initlabel0020__cmt>// 0 ... first presslabel001F__cmt>// 1 ... 1st releaselabel001D__cmt>// 2 ... 2nd presslabel001F__cmt>// 3 ... 2nd releaseg1=1label0006__cmt>g0=g0+1label0006__cmt>if(g0==-1)noexecutelabel0006__cmt>executelabel0006__cmt>label0006__cmt>label0006__cmt>label0006__cmt>label0006__cmt> Options4=Actv01Stop00OutO00StMa00000014label001A__cmt>// g0 = Key-SM-Statelabel0019__cmt>// -1 ... initlabel001F__cmt>// 1 ... 1st releaselabel001D__cmt>// 2 ... 2nd presslabel001F__cmt>// 3 ... 2nd releaselabel0006__cmt>g1=0g0=g0+1label0006__cmt>executelabel0006__cmt>label0039__cmt>// ------------------------------------------------label000EDisgardReleaseg0=-1g1=0noexecutelabel0006__cmt>label0006__cmt>label0006__cmt>label0006__cmt> Options5=Actv01Stop00OutO00StMa00000036pp=g2if(pp!=g3)g3=ppif(pp!=g3)noexecutelabel0006__cmt>label001A__cmt>// g0 = Key-SM-Statelabel0019__cmt>// -1 ... initlabel001F__cmt>// 1 ... 1st releaselabel001D__cmt>// 2 ... 2nd presslabel001F__cmt>// 3 ... 2nd releaselabel0006__cmt>label0006__cmt>label0006__cmt>if(g1!=1)skipif(g0==0)label001B__log>%g2% Pressed and Heldif(g0==1)label001F__log>%g2% Pressed and releasedif(g0==2)label0022__log>%g2% Pressed, twice and heldif(g0==3)label0025__log>%g2% Pressed and released twiceif(g0==4)label0023__log>%g2% Pressed 3 times and heldif(g0==5)label0027__log>%g2% Pressed and released 3 timeslabel0006__cmt>if(g1==1)g4=g0pp=g0g0=-1label0006__cmt>label003E__cmt>// if g1=0 and g0=0 the exit rules, skip outgoing actinoif(g1!=0)skipif(pp==0)label0025__log>%g2% Released after state %g4%label0036__cmt>//if pp==0 then exit rules, skip Outgoing Actionlabel0006__cmt>label0021__cmt>// determine program numberlabel0017__cmt>// gesture offsetrr=5label0026__cmt>// multiply to get proper offsetss=rr*g2label0017__cmt>// adjust for offlabel0014__cmt>// temp for ppif(pp!=0)uu=pplabel0025__cmt>//if pp==0 and g1==0 then pp=g4if(pp!=0)skipif(g1==0)pp=g4label0018__cmt>// add note numbertt=ss+pplabel0006__cmt>label0031__cmt>// if released only action put on MIDI CH 2rr=0label001B__cmt>// if tt==0 and g1==0if(g1!=0)skipif(uu==0)rr=1label0006__cmt>if(tt>127)label0012__log>out of rangeif(tt>127)noexecutelabel0006__cmt>ha=rrhb=ttlabel0018__cmt>// 0 = not pressedlabel0027__cmt>// 1 = released --> short pressedlabel0022__cmt>// 2 = pressed a second timelabel0022__cmt>// 3 = reaesed a second timelabel0006__cmt>if(g0==0)noexecuteif(g0==1)goto000BPressedOnceif(g0==2)goto000BPressedOnceif(g0==3)goto000CPressedTwicelabel0006__cmt>noexecutelabel0006__cmt>label001B__cmt>// g1 = KeyPressStatelabel0018__cmt>// 0 = not pressedlabel0018__cmt>// 1 = short presslabel001B__cmt>// 2 = doppel pressedlabel0019__cmt>// 3 = long pressedlabel0006__cmt>label000BPressedOnceg0=0g1=1label001C__log>Pressed one time shortexecutelabel0006__cmt>label000CPressedTwiceg0=0g1=2label0014__log>Double pressed Options6=Actv01Stop00OutO00l0018__cmt>// 0 = not pressedlabel0027__cmt>// 1 = released --> short pressedlabel0022__cmt>// 2 = pressed a second timelabel0022__cmt>// 3 = reaesed a second timelabel0006__cmt>if(g0==0)noexecuteif(g0==1)goto000BPressedOnceif(g0==2)goto000BPressedOnceif(g0==3)goto000CPressedTwicelabel0006__cmt>noexecutelabel0006__cmt>label001B__cmt>// g1 = KeyPressStatelabel0018__cmt>// 0 = not pressedlabel0018__cmt>// 1 = short presslabel001B__cmt>// 2 = doppel pressedlabel0019__cmt>// 3 = long pressedlabel0006__cmt>label000BPressedOnceg0=0g1=1label001C__log>Pressed one time shortexecutelabel0006__cmt>label000CPressedTwiceg0=0g1=2label0014__log>Double pressed Options7=Actv01Stop00OutO00Dlay10:Millis Outgoing0=Tim0TimS0004Init1:0:1 Outgoing1=Tim0TimS0004Init1:0:1 Outgoing2=None Outgoing3=Tim0TimS000BPressedPadg1:ga:1 Outgoing4=Tim0TimS000BPressedPadg1:ga:1 Outgoing5=MID3 Outgoing6=Tim0TimS0006Send 11:0:1 Outgoing7=MID3 PresetSwitchIgnore=0 [Project] DefaultInPorts=MIDA00020010IAC Driver Bus 10014Midi Fighter Twister DefaultOutPorts=MIDA00010022Bome MIDI Translator 1 Virtual Out Version=2 [Signatures] SigName-1=[Midi Translator Pro Internal] Signature-1=D6TXM7ySrK1rdotRN5qASTsjj6Z+thh27VYl4DfM2WEdFRpx3czMvlvbzSmwBmB4pyM7wsj6MahylTgXXxofRbXQRsH13TxsTGUv4jwfOMxL9z/CQz4MgCJAaQPQq7EScYlxyDfrNnA3q538LNUylzovTRpnM1IpRMkMxhoaw0c= SignedBy-1=Tony McHugh