; ------- 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