Project: Traktor step sequencer build Project MIDI IN ports: Akai APC40 Project MIDI OUT ports: Bome's Midi Translator 1 Virtual Out _____________________________________________________________ Preset 0: Timers Default MIDI IN ports: Bome's Midi Translator 1 Virtual In Default MIDI OUT ports: Akai APC40 Translator 0.0: Sys Ex Mode Options: stop=false Incoming: Project Opened Outgoing: MIDI F0 47 00 73 60 00 04 42 08 02 07 F7 Translator 0.1: 16ths Midi Timer Options: stop=false Incoming: MIDI F8 Rules: beat tracker g0=g0+1 if g0>24 then g1=g1+1 if g1>4 then g1=1 if g0>24 then g0=1 g2=g2+1 if g2>6 then g3=g3+1 if g3>4 then g3=1 if g2>6 then g2=1 if g2!=1 then exit rules, skip Outgoing Action Outgoing: One-shot timer "Beat Timer": 0 ms delay Translator 0.2: 8ths Midi Timer Options: disabled, stop=false Incoming: MIDI F8 Rules: beat tracker g0=g0+1 if g0>24 then g1=g1+1 if g1>4 then g1=1 if g0>24 then g0=1 g2=g2+1 if g2>12 then g3=g3+1 if g3>4 then g3=1 if g2>12 then g2=1 if g2!=1 then exit rules, skip Outgoing Action Outgoing: One-shot timer "Beat Timer": 0 ms delay Translator 0.3: 4ths Midi Timer Options: disabled, stop=false Incoming: MIDI F8 Rules: beat tracker g0=g0+1 if g0>24 then g1=g1+1 if g1>4 then g1=1 if g0>24 then g0=1 g2=g2+1 if g2>24 then g3=g3+1 if g3>4 then g3=1 if g2>24 then g2=1 if g2!=1 then exit rules, skip Outgoing Action Outgoing: One-shot timer "Beat Timer": 0 ms delay _____________________________________________________________ Preset 1: APC Sequencer Steps Light Control Default MIDI IN ports: Bome's Midi Translator 1 Virtual In Default MIDI OUT ports: Akai APC40 Translator 1.0: Sync beat 1 Options: stop=false Incoming: MIDI b2 0f pp Rules: Reset Global variables to Track Beats g0=1 g1=1 g2=1 g3=1 Outgoing: (none) Translator 1.1: 4x4 grid sequencer lights ON Options: stop=false Incoming: On timer "Beat Timer" Rules: Follow g3 and g1 changes switching lights on as they pass; store current position in h0 and h1; turn light green if corresponding global is active or set to 1 otherwise red oo=147+g3 vv=52+g1 h0=oo h1=vv pp=3 if oo==148 then Goto "1" if oo==149 then Goto "2" if oo==150 then Goto "3" if oo==151 then Goto "4" exit rules, execute Outgoing Action Label "1" if vv==53 then Goto "note1" if vv==54 then Goto "note2" if vv==55 then Goto "note3" if vv==56 then Goto "note4" exit rules, execute Outgoing Action Label "note1" if ga==1 then pp=1 exit rules, execute Outgoing Action Label "note2" if ge==1 then pp=1 exit rules, execute Outgoing Action Label "note3" if gi==1 then pp=1 exit rules, execute Outgoing Action Label "note4" if gm==1 then pp=1 exit rules, execute Outgoing Action Label "2" if vv==53 then Goto "note5" if vv==54 then Goto "note6" if vv==55 then Goto "note7" if vv==56 then Goto "note8" exit rules, execute Outgoing Action Label "note5" if gb==1 then pp=1 exit rules, execute Outgoing Action Label "note6" if gf==1 then pp=1 exit rules, execute Outgoing Action Label "note7" if gj==1 then pp=1 exit rules, execute Outgoing Action Label "note8" if gn==1 then pp=1 exit rules, execute Outgoing Action Label "3" if vv==53 then Goto "note9" if vv==54 then Goto "note10" if vv==55 then Goto "note11" if vv==56 then Goto "note12" exit rules, execute Outgoing Action Label "note9" if gc==1 then pp=1 exit rules, execute Outgoing Action Label "note10" if gg==1 then pp=1 exit rules, execute Outgoing Action Label "note11" if gk==1 then pp=1 exit rules, execute Outgoing Action Label "note12" if go==1 then pp=1 exit rules, execute Outgoing Action Label "4" if vv==53 then Goto "note13" if vv==54 then Goto "note14" if vv==55 then Goto "note15" if vv==56 then Goto "note16" exit rules, execute Outgoing Action Label "note13" if gd==1 then pp=1 exit rules, execute Outgoing Action Label "note14" if gh==1 then pp=1 exit rules, execute Outgoing Action Label "note15" if gl==1 then pp=1 exit rules, execute Outgoing Action Label "note16" if gp==1 then pp=1 exit rules, execute Outgoing Action Outgoing: MIDI oo vv pp Translator 1.2: 4x4 grid sequencer OFF Options: stop=false Incoming: On timer "Beat Timer" Rules: use h0 and h1 variables to turn off the previous light in the sequence pp=0 if h0==148 then Goto "1" if h0>148 then Goto "2" Label "1" if h1==53 then Goto "3" if h1==54 then Goto "note13" if h1==55 then Goto "note14" if h1==56 then Goto "note15" Label "note13" if gd==1 then pp=5 h1=h1-1 h0=151 exit rules, execute Outgoing Action Label "note14" if gh==1 then pp=5 h1=h1-1 h0=151 exit rules, execute Outgoing Action Label "note15" if gl==1 then pp=5 h1=h1-1 h0=151 exit rules, execute Outgoing Action Label "2" if h0==149 then Goto "col1" if h0==150 then Goto "col2" if h0==151 then Goto "col3" Label "col1" if h1==53 then Goto "note1" if h1==54 then Goto "note2" if h1==55 then Goto "note3" if h1==56 then Goto "note4" Label "note1" h0=h0-1 if ga==1 then pp=5 exit rules, execute Outgoing Action Label "note2" h0=h0-1 if ge==1 then pp=5 exit rules, execute Outgoing Action Label "note3" h0=h0-1 if gi==1 then pp=5 exit rules, execute Outgoing Action Label "note4" h0=h0-1 if gm==1 then pp=5 exit rules, execute Outgoing Action Label "col2" if h1==53 then Goto "note5" if h1==54 then Goto "note6" if h1==55 then Goto "note7" if h1==56 then Goto "note8" Label "note5" h0=h0-1 if gb==1 then pp=5 exit rules, execute Outgoing Action Label "note6" h0=h0-1 if gf==1 then pp=5 exit rules, execute Outgoing Action Label "note7" h0=h0-1 if gj==1 then pp=5 exit rules, execute Outgoing Action Label "note8" h0=h0-1 if gn==1 then pp=5 exit rules, execute Outgoing Action Label "col3" if h1==53 then Goto "note9" if h1==54 then Goto "note10" if h1==55 then Goto "note11" if h1==56 then Goto "note12" Label "note9" h0=h0-1 if gc==1 then pp=5 exit rules, execute Outgoing Action Label "note10" h0=h0-1 if gg==1 then pp=5 exit rules, execute Outgoing Action Label "note11" h0=h0-1 if gk==1 then pp=5 exit rules, execute Outgoing Action Label "note12" h0=h0-1 if go==1 then pp=5 exit rules, execute Outgoing Action Label "3" h1=56 h0=151 if gp==1 then pp=5 Outgoing: MIDI h0 h1 pp _____________________________________________________________ Preset 2: Pattern1 Slot1 Default MIDI IN ports: Akai APC40 Default MIDI OUT ports: Akai APC40 Translator 2.0: init globals for preset Options: stop=false Incoming: on activation of this preset Rules: ga=1 gb=0 gc=0 gd=0 ge=1 gf=0 gg=0 gh=0 gi=1 gj=0 gk=0 gl=0 gm=1 gn=0 go=0 gp=0 Outgoing: One-shot timer "lights on": 0 ms delay Translator 2.1: init lights on Options: stop=false Incoming: On timer "lights on" Rules: 1/4 beats on oo=148 pp=53 qq=5 rr=54 ss=55 tt=56 Outgoing: MIDI oo pp qq oo rr qq oo ss qq oo tt qq Translator 2.2: Toggle Light Row 1 Options: stop=false Incoming: MIDI oo vv 7F Rules: skip off messages from key, skip bottom row, assign a value to light by row then by column and toggle if oo<148 then exit rules, skip Outgoing Action if oo>151 then exit rules, skip Outgoing Action if vv!=53 then exit rules, skip Outgoing Action if oo==148 then Goto "148" if oo==149 then Goto "149" if oo==150 then Goto "150" if oo==151 then Goto "151" Label "148" if ga==1 then Goto "off148" pp=5 ga=1 exit rules, execute Outgoing Action Label "off148" pp=0 ga=0 exit rules, execute Outgoing Action Label "149" if gb==1 then Goto "off149" pp=5 gb=1 exit rules, execute Outgoing Action Label "off149" pp=0 gb=0 exit rules, execute Outgoing Action Label "150" if gc==1 then Goto "off150" pp=5 gc=1 exit rules, execute Outgoing Action Label "off150" pp=0 gc=0 exit rules, execute Outgoing Action Label "151" if gd==1 then Goto "off151" pp=5 gd=1 exit rules, execute Outgoing Action Label "off151" pp=0 gd=0 exit rules, execute Outgoing Action Outgoing: MIDI oo vv pp Translator 2.3: Toggle Light Row 2 Options: stop=false Incoming: MIDI oo vv 7F Rules: skip off messages from key, skip bottom row, assign a value to light by row then by column and toggle if oo<148 then exit rules, skip Outgoing Action if oo>151 then exit rules, skip Outgoing Action if vv!=54 then exit rules, skip Outgoing Action if oo==148 then Goto "148" if oo==149 then Goto "149" if oo==150 then Goto "150" if oo==151 then Goto "151" Label "148" if ge==1 then Goto "off148" pp=5 ge=1 exit rules, execute Outgoing Action Label "off148" pp=0 ge=0 exit rules, execute Outgoing Action Label "149" if gf==1 then Goto "off149" pp=5 gf=1 exit rules, execute Outgoing Action Label "off149" pp=0 gf=0 exit rules, execute Outgoing Action Label "150" if gg==1 then Goto "off150" pp=5 gg=1 exit rules, execute Outgoing Action Label "off150" pp=0 gg=0 exit rules, execute Outgoing Action Label "151" if gh==1 then Goto "off151" pp=5 gh=1 exit rules, execute Outgoing Action Label "off151" pp=0 gh=0 exit rules, execute Outgoing Action Outgoing: MIDI oo vv pp Translator 2.4: Toggle Light Row 3 Options: stop=false Incoming: MIDI oo vv 7F Rules: skip off messages from key, skip bottom row, assign a value to light and toggle if oo<148 then exit rules, skip Outgoing Action if oo>151 then exit rules, skip Outgoing Action if vv!=55 then exit rules, skip Outgoing Action if oo==148 then Goto "148" if oo==149 then Goto "149" if oo==150 then Goto "150" if oo==151 then Goto "151" Label "148" if gi==1 then Goto "off148" pp=5 gi=1 exit rules, execute Outgoing Action Label "off148" pp=0 gi=0 exit rules, execute Outgoing Action Label "149" if gj==1 then Goto "off149" pp=5 gj=1 exit rules, execute Outgoing Action Label "off149" pp=0 gj=0 exit rules, execute Outgoing Action Label "150" if gk==1 then Goto "off150" pp=5 gk=1 exit rules, execute Outgoing Action Label "off150" pp=0 gk=0 exit rules, execute Outgoing Action Label "151" if gl==1 then Goto "off151" pp=5 gl=1 exit rules, execute Outgoing Action Label "off151" pp=0 gl=0 exit rules, execute Outgoing Action Outgoing: MIDI oo vv pp Translator 2.5: Toggle Light Row 4 Options: stop=false Incoming: MIDI oo vv 7F Rules: skip off messages from key, skip bottom row, assign a value to light and toggle if oo<148 then exit rules, skip Outgoing Action if oo>151 then exit rules, skip Outgoing Action if vv!=56 then exit rules, skip Outgoing Action if oo==148 then Goto "148" if oo==149 then Goto "149" if oo==150 then Goto "150" if oo==151 then Goto "151" Label "148" if gm==1 then Goto "off148" pp=5 gm=1 exit rules, execute Outgoing Action Label "off148" pp=0 gm=0 exit rules, execute Outgoing Action Label "149" if gn==1 then Goto "off149" pp=5 gn=1 exit rules, execute Outgoing Action Label "off149" pp=0 gn=0 exit rules, execute Outgoing Action Label "150" if go==1 then Goto "off150" pp=5 go=1 exit rules, execute Outgoing Action Label "off150" pp=0 go=0 exit rules, execute Outgoing Action Label "151" if gp==1 then Goto "off151" pp=5 gp=1 exit rules, execute Outgoing Action Label "off151" pp=0 gp=0 exit rules, execute Outgoing Action Outgoing: MIDI oo vv pp Translator 2.6: Trigger Sample Options: stop=false Incoming: On timer "Beat Timer" Rules: h2=36 oo=147+g3 vv=52+g1 pp=0 if oo==148 then Goto "1" if oo==149 then Goto "2" if oo==150 then Goto "3" if oo==151 then Goto "4" exit rules, execute Outgoing Action Label "1" if vv==53 then Goto "note1" if vv==54 then Goto "note2" if vv==55 then Goto "note3" if vv==56 then Goto "note4" exit rules, execute Outgoing Action Label "note1" if ga==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note2" if ge==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note3" if gi==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note4" if gm==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "2" if vv==53 then Goto "note5" if vv==54 then Goto "note6" if vv==55 then Goto "note7" if vv==56 then Goto "note8" exit rules, execute Outgoing Action Label "note5" if gb==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note6" if gf==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note7" if gj==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note8" if gn==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "3" if vv==53 then Goto "note9" if vv==54 then Goto "note10" if vv==55 then Goto "note11" if vv==56 then Goto "note12" exit rules, execute Outgoing Action Label "note9" if gc==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note10" if gg==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note11" if gk==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note12" if go==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "4" if vv==53 then Goto "note13" if vv==54 then Goto "note14" if vv==55 then Goto "note15" if vv==56 then Goto "note16" exit rules, execute Outgoing Action Label "note13" if gd==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note14" if gh==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note15" if gl==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Label "note16" if gp==1 then pp=127 qq=h2 exit rules, execute Outgoing Action Outgoing: MIDI 92 qq pp _____________________________________________________________ Preset 3: Main Buttons Default MIDI IN ports: Akai APC40 Default MIDI OUT ports: Bome's Midi Translator 1 Virtual Out Translator 3.0: init Options: stop=false Incoming: on activation of this preset Rules: he=0 Outgoing: (none) Translator 3.1: Midi Messages to Traktor 4x4 Left hand grid Options: stop=false Incoming: MIDI oo vv pp Rules: ss=127 if oo>147 then exit rules, skip Outgoing Action if oo<144 then exit rules, skip Outgoing Action if vv==53 then Goto "row1" if vv==54 then Goto "row2" if vv==55 then Goto "row3" if vv==56 then Goto "row4" Label "Row1" if oo==144 then Goto "Button1" if oo==145 then Goto "Button2" if oo==146 then Goto "Button3" if oo==147 then Goto "Button4" Label "Button1" qq=178 rr=106 if ha==0 then Goto "on1" if ha==1 then Goto "off1" Label "on1" ha=1 exit rules, execute Outgoing Action Label "off1" ha=0 ss=0 exit rules, execute Outgoing Action Label "Button2" qq=178 rr=107 if hb==0 then Goto "on2" if hb==1 then Goto "off2" Label "on2" hb=1 exit rules, execute Outgoing Action Label "off2" hb=0 ss=0 exit rules, execute Outgoing Action Label "Button3" qq=178 rr=108 if hc==0 then Goto "on3" if hc==1 then Goto "off3" Label "on3" hc=1 exit rules, execute Outgoing Action Label "off3" hc=0 ss=0 exit rules, execute Outgoing Action Label "Button4" qq=178 rr=109 if hd==0 then Goto "on4" if hd==1 then Goto "off4" Label "on4" hd=1 exit rules, execute Outgoing Action Label "off4" hd=0 ss=0 exit rules, execute Outgoing Action Label "Row2" if oo==144 then Goto "Button5" if oo==145 then Goto "Button6" if oo==146 then Goto "Button7" if oo==147 then Goto "Button8" Label "Button5" if he==1 then Goto "Reset1" if he!=1 then he=1 exit rules, skip Outgoing Action Label "Reset1" if he==1 then he=0 exit rules, skip Outgoing Action Label "Button6" if he==2 then Goto "Reset2" if he!=2 then he=2 exit rules, skip Outgoing Action Label "Reset2" if he==2 then he=0 exit rules, skip Outgoing Action Label "Button7" if he==3 then Goto "Reset3" if he!=3 then he=3 exit rules, skip Outgoing Action Label "Reset3" if he==3 then he=0 exit rules, skip Outgoing Action Label "Button8" if he==4 then Goto "Reset4" if he!=4 then he=4 exit rules, skip Outgoing Action Label "Reset4" if he==4 then he=0 exit rules, skip Outgoing Action Label "Row3" if oo==144 then Goto "Button9" if oo==145 then Goto "Button10" if oo==146 then Goto "Button11" if oo==147 then Goto "Button12" Label "Button9" qq=178 rr=20 if hf==0 then Goto "on9" if hf==1 then Goto "off9" Label "on9" hf=1 exit rules, execute Outgoing Action Label "off9" hf=0 exit rules, execute Outgoing Action Label "Button10" qq=178 rr=21 if hg==0 then Goto "on10" if hg==1 then Goto "off10" Label "on10" hg=1 exit rules, execute Outgoing Action Label "off10" hg=0 exit rules, execute Outgoing Action Label "Button11" qq=178 rr=22 if hh==0 then Goto "on11" if hh==1 then Goto "off11" Label "on11" hh=1 exit rules, execute Outgoing Action Label "off11" hh=0 exit rules, execute Outgoing Action Label "Button12" qq=178 rr=23 if hi==0 then Goto "on12" if hi==1 then Goto "off12" Label "on12" hi=1 exit rules, execute Outgoing Action Label "off12" hi=0 exit rules, execute Outgoing Action Label "Row4" if oo==144 then Goto "Button13" if oo==145 then Goto "Button14" if oo==146 then Goto "Button15" if oo==147 then Goto "Button16" Label "Button13" qq=178 rr=24 if hj==0 then Goto "on13" if hj==1 then Goto "off13" Label "on13" hj=1 exit rules, execute Outgoing Action Label "off13" hj=0 exit rules, execute Outgoing Action Label "Button14" qq=178 rr=25 if hk==0 then Goto "on14" if hk==1 then Goto "off14" Label "on10" hk=1 exit rules, execute Outgoing Action Label "off14" hk=0 exit rules, execute Outgoing Action Label "Button15" qq=178 rr=26 if hl==0 then Goto "on15" if hl==1 then Goto "off15" Label "on15" hl=1 exit rules, execute Outgoing Action Label "off15" hl=0 exit rules, execute Outgoing Action Label "Button16" qq=178 rr=27 if hm==0 then Goto "on16" if hm==1 then Goto "off16" Label "on16" hm=1 exit rules, execute Outgoing Action Label "off16" hm=0 exit rules, execute Outgoing Action Outgoing: MIDI qq rr ss Translator 3.2: Midi Messages from Traktor 4x4 Left hand grid Options: stop=false Incoming: MIDI oo vv pp Rules: if oo!=178 then exit rules, skip Outgoing Action if vv>=106 then Goto "Block1" if vv<=27 then Goto "Block2" Label "Block1" if vv>109 then exit rules, skip Outgoing Action if vv==106 then Goto "Button1" if vv==107 then Goto "Button2" if vv==108 then Goto "Button3" if vv==109 then Goto "Button4" exit rules, skip Outgoing Action Label "Block2" if vv<20 then exit rules, skip Outgoing Action if vv==20 then Goto "Button5" if vv==21 then Goto "Button6" if vv==22 then Goto "Button7" if vv==23 then Goto "Button8" if vv==24 then Goto "Button9" if vv==25 then Goto "Button10" if vv==26 then Goto "Button11" if vv==27 then Goto "Button12" exit rules, skip Outgoing Action Label "Button1" qq=144 rr=53 ss=pp exit rules, execute Outgoing Action Label "Button2" qq=145 rr=53 ss=pp exit rules, execute Outgoing Action Label "Button3" qq=146 rr=53 ss=pp exit rules, execute Outgoing Action Label "Button4" qq=147 rr=53 ss=pp exit rules, execute Outgoing Action Label "Button5" qq=144 rr=55 ss=pp exit rules, execute Outgoing Action Label "Button6" qq=145 rr=55 ss=pp exit rules, execute Outgoing Action Label "Button7" qq=146 rr=55 ss=pp exit rules, execute Outgoing Action Label "Button8" qq=147 rr=55 ss=pp exit rules, execute Outgoing Action Label "Button9" qq=144 rr=56 ss=pp exit rules, execute Outgoing Action Label "Button10" qq=145 rr=56 ss=pp exit rules, execute Outgoing Action Label "Button11" qq=146 rr=56 ss=pp exit rules, execute Outgoing Action Label "Button12" qq=147 rr=56 ss=pp exit rules, execute Outgoing Action Outgoing: MIDI qq rr ss Translator 3.3: Slot Pattern Edit Selector Lights APC Loop (no traktor) Options: stop=false Incoming: MIDI oo vv pp Rules: if oo<144 then exit rules, skip Outgoing Action if oo>147 then exit rules, skip Outgoing Action if vv!=54 then exit rules, skip Outgoing Action if he==0 then Goto "0" if he==1 then Goto "1" if he==2 then Goto "2" if he==3 then Goto "3" if he==4 then Goto "4" Label "0" oo=54 pp=3 qq=3 rr=3 ss=3 exit rules, execute Outgoing Action Label "1" oo=54 pp=5 qq=3 rr=3 ss=3 exit rules, execute Outgoing Action Label "2" oo=54 pp=3 qq=5 rr=3 ss=3 exit rules, execute Outgoing Action Label "3" oo=54 pp=3 qq=3 rr=5 ss=3 exit rules, execute Outgoing Action Label "4" oo=54 pp=3 qq=3 rr=3 ss=5 exit rules, execute Outgoing Action Outgoing: MIDI 90 oo pp 91 oo qq 92 oo rr 93 oo ss Translator 3.4: Slot Pattern Toggle Sequencer lights follow lights on Options: stop=false Incoming: MIDI oo vv pp Rules: if oo<144 then exit rules, skip Outgoing Action if oo>147 then exit rules, skip Outgoing Action if vv!=54 then exit rules, skip Outgoing Action if he>=1 then exit rules, execute Outgoing Action Outgoing: activate preset "APC Sequencer Steps Light Control" Translator 3.5: Slot Pattern Toggle Sequencer lights follow lights off Options: stop=false Incoming: MIDI oo vv pp Rules: if oo<144 then exit rules, skip Outgoing Action if oo>147 then exit rules, skip Outgoing Action if vv!=54 then exit rules, skip Outgoing Action if he!=0 then exit rules, skip Outgoing Action Outgoing: deactivate preset "APC Sequencer Steps Light Control"