do
setcps (133/60/4)
-- resetCycles
let gMask = (midiOn "^41" (mask "t!3 <t!3 [f <t f>]>"))
let gMute = (midiOn "^73" (mask "f*16"))
let gMute2 = (midiOn "^74" (mask "f*16"))
let gMute3 = (midiOn "^75" (mask "f*16"))
let gM1 = gMask . gMute
let gM2 = gMask . gMute2
let gM3 = gMask . gMute3
d1 $ gF1 $ gM2 -- Kick
  $ midiOn  "^42" (<| "k k k <k <[~ k] k*2>>")
  $ midiOff "^42" (<| "k  . ~ k ~ ~ ")
  $ "[kick:4]"
  # gain 1.2
  # lpf 400
d2 $ gF1 $ gM1 
  $ midiOff "^43" (slow 2 . (<| "~ ~ ~ s"))
  $ midiOn "^43" (<| "~ s ~ s*<1 2 [2 1] [4 <2 8>]>" )
  $ "cp" # hpf 1400 # gain 1.3
d3 $ gF1 $ gM1 
  $ midiOn "^44" (<| "h(4,8,1)")
  $ midiOff "^44" (<| "hh(3,8) hh(<3 [3 5] 8>,8,1)")
  $ "vec1_snare:11"
  # legato (range 0.25 2 "^52")
d4 $ gF2 $ gM3 -- WAP BASS 
  $ midiOn "^89" (
    slice 8 ("~ 0 ~ 5 ~ 3 <~!4 5!4> <3!4 [3 0]!4>")
    -- . (superimpose (# cut 41))
    )
  $ midiOn "^57" ( 
    slice 8 ("~ 0 <~ ~ 5 5> 3 <~ 0!3> <~!4 0!10 ~ 0*4> 5 <~ 5>")
    -- $ (0.125 ~>) :
    . (# gain 1.3 )
    . (# crushbus 43 (range 16 3.4 "^53") )
    . (# lpf 3000)
    -- . (# note "-12")
    -- . ( #octersub 1.2)
    -- . (# room 0.2) . (# room 0.2) . (# dry 0.9)
  )
  -- $ midiOff ("^57" - "^89") ("0.25" ~>) -- TODO: Decalage de Bruno
  $ "wap/2" 
  # lpf 2400 
  # cut 4 
  # gain 1.9
  -- # room 0.4 
  # octersubsubbus 42 (range 0 1.4 "^53") 
  # octerbus 41 (range 0 1.4 "^53")
d5 $ gF3 $ gMute3 -- WAP HOES v1 magic repeat
  $ midiOn "^34" (# 7) -- FORCE INTRO 
  $ midiOff ("^34"+"^90") (slow 4)
  $ stut 4 1 1 -- Four repeats each
  $ slow 4
  $ midiOn "^58" (stut "4" 0.9 (fast 4 "e")) 
  $ midiOn "^90" (
    ply "[1!3 4]*4" . chop 4 .  -- Magic Repeat: next segment instead 
    stut "2" 0.9 (fast 2 "s") -- Magic Repeat: repeater 
    . (# att 0.08) 
    . (# rel 10)
    ) 
  $ "wap:0" # n ("<8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31>") -- Rotation complete
  # cut 5
  # room 0
  # sz 0
  # gain 1.4
d5 $ gF3 $ gMute3 -- WAP HOES v1 science of repeat
  $ midiOn "^90" ((slice 4 "0*4")) 
  $ midiOn "^34" (# 7) -- FORCE INTRO 
  $ midiOff ("^34" + "^90") (slow 4) -- 4 bars
  $ stut 4 1 1 -- Four repeats each
  $ slow 4 -- times Four bits
  $ midiOn "^58" (stut "4" 0.9 (fast 4 "e")) 
  $ "wap:0" # n ("<8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31>") -- Rotation complete
  # cut 5
  # room 0
  # sz 0
  # gain 1.4
d7 $ gF1 $ gM1 --Les  WAP DRUMS 
  $ midiOff "^59" (mask "t(4,8,1)" . chop 8)
  $ midiOn "^91" (ply "2 <2 4>")
  $ loopAt 2 $ chop 8 
  $ "wap" # n "<3!4 4!4 5!4 6!4>"  
  # cut 7 
  # gain 1.2
d8 $ gF1 $ gM1 -- La stack de breaks
  $ midiOff "^60" (mask "t(4,8,1)" . chop 8 ) -- BREAK JUNGLE 
  $ midiOn "^92" (ply 2) -- BREAK JUNGLE 
  $ midiOn "^36" (# 45) -- BREAK ORLEANS 
  $ midiOn "^56" ((# 7) . (|* gain 0.9)) -- BREAK JUNGLE 
  $ loopAt 2 $ chop 8 
  $ "jungle_breaks:84" # cut 8
  # gain 1.3
d9 $ gF2 $ gM3 $ slow 2
   $ superimpose ((
     # "acidOto3091"-- V1 Bass
    )
    . (|- note 12)
    . (|* gain "^17") -- A5 = d9's effect
    . (# cut 91))
  -- $ off 1 (|- note "0 12")
  $ note (cat [
    "~ f f f fs f ef f cs@8",
    "~ f f f fs f ef f cs@8",
    "~ f f f fs f fs f cs@8",
    "~ f f f fs f ef f [cs ef f ef]@8"
    ])
  -- "[b@3 ~@2 c@3 <cs <[cs@2 ~ g e] [cs@2 ~ g e g e]>>@5]"
  -- # "bassWarsaw" |- note "[36,24]"
  -- # "vec2_synth_acid:25" |- note 12-- Alternative2
  # "vec1_acid:25" -- Alternative
  -- FIXME(#54) d9's SECOND effect. A5-A8 give d9-d12 one knob each, so there is no
  -- home for this one — ^19 is A7, which is d11's effect slot. Consolidate into ^17
  -- via gSel (one knob selecting gain-vs-crush) rather than borrowing a neighbour.
  # crushbus 91 (range 16 6.5 "^19")
  # room 0.4
  # gain 1.4
  # cut 9
