do
setcps (165/60/4)
-- let gMask = (midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>"))
let gMute = (midiOn "^73" (mask "f*16"))
let gM =  gMute
let gO = (# octerbus 4 (range 0 2 "^29"))
let modIndex = pF "modIndex"
d1
  $ gF1
  $ midiOn "^74" (fast 2)
  -- FIXME(#94) d1 drives more controls than the grid gives it (BT1 only — BL1-3 are the family mutes). ^41 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^41 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d1's own control with gSel.
  $ midiOn ("^41" - "^41") (mask "t(1,4)")
  -- $ mask "<f!4 t(1,2)!3 t!9>"
  $ fix ((|* gain 0.8) . (# att 0.05) . (# rel 1)) ("kick")
  $ fix ((|* gain 0.95)
  . (# att 0.25) . (# rel 1)
    ) ("reverbkick")
  $ midiOn "^41" (<| "k <k!4 ~ k!3> k <k [~ k] k [<k!4 ~!3 k> k]>") -- Run & stumble
  $ midiOff "^41" (<| "k . ~ k ~ ~") -- L'attente
  $ "[jazz,reverbkick,kick:5]"
  # midiG' "^78" 0 1.5
d2 $ gF1 $ gM -- Snare glitch high
  $ midiOn "^75" (ply "<2 [2 <4 <2 4>>]>")
  $ fix ((|* gain 0.9)) ("snare:40")
  $ "~ s ~ <s!3 <s*2 <s s*2>>>" # "[snare:31,snare:40]"
  # note (range "-12" 12 "^51")
  # pan 0.46
  # room 0.74 # sz 0.2 # dry 1
  # midiG' "^79" 0 1.2
d3 $ gF3 $ gO
  $ loopAt 1 $ "breaks165"
  # midiG' "^80" 0 1.2

d3 $ gF $ gM -- Breaks du Marathon
  -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^44 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^44 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d3's own control with gSel.
  -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^44 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^44 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d3's own control with gSel.
  $ midiOn "^43" (scramble (8 - 4 * "^44"))
  $ midiOn "^44" (slice 16 (run "8 . <8 8 <8 16> <16!3 [32 <32 16>]>>"))
  $ midiOff "^44" (slice 8 ("0 1 2 3 . 4 5 6 <7!3 6>"))
  $ loopAt 2
  $ "break:15"
  # cut 2
  # pan 0.4
  # speed (range 0 2 "^31")
  # midiG' "^80" 0 1.5

d4 -- BASSLINE BRULANTE
  $ gF
  $ midiOn "^32" (-- Trigger: DATA BURN
     (
      (# cut 42) . (|* gain 0.85) .
      (# squizbus 41 (range 200 0 "^32"))
      )
  )
  $ midiOn "^44" ( -- Ritournelle
    midiOn "^76" (ply "2 2 4 <2 4 <4 4 8 4> <2 4>>")
    . (+| note (scale "aeolian" (arp "converge" $
    "[0 <2!4 1!2 2!2> 0 <0!3 4>]"
    -- "<5@3 [5 4@2]> <<2 0> [2 0]>"
    )))
    . (# cut 41)
    . (|* gain 0.95)
  )
  $ slow 2 -- 5/2
  $ note (scale "aeolian"
  "<[<5@3 [5 4@2]> <<2 0> [2 0]>] <5 <0 [0 . 0 <0 7> 0]>>>"
  )
  # "90s_synatm:9"
  # pan 0.15
-- # room 0.5 # dry 0.2 # sz 0.8
  # lratebus 43 (range 0.6 6.7 "^52")
  -- FIXME(#54) d4 drives more controls than the grid gives it (B4 + C4). ^17 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d4's own control.
  -- # lesliebus 42 (range 0 1 "^17")
  # lsize (slow 8 $ range 2 6 saw)
  -- # midiG' "^81" 0 (1.5 - 0.3 * "^17" - 0.25 * "^32")
  # crushbus 41 (range 10 4.5 "^32")
  # cut 4
d5 $ gF2 $ gM -- Ritournelle Rhodes
  $ midiOn "^57" (off "q" (|+ note 12) . (|* gain 0.85))
  $ note (
    "<[c ~ c d ~ d <ef!3 f> ~]!0 [f ~ f g ~ <g!3 f> <gs!3 f> ~]!8>"
  - "<24!12 12!4>")
  # "FMRhodes1"
  # modIndex (range 0 100 "^33")
  -- # crushbus 51 (range 10 4.5 "^34")
  # midiG' "^82" 0 2
d6 $ gF2 -- Voices from the st0rm
  $ midiOn "^58" ((# cut 6) . slow 8)
  $ swingBy 0.125 8
  $ midiOn "^90" (superimpose ( -- Resolution chant
    (>| note (scale "aeolian" "<7 [7@3 <5 9>]>"))
    . (# cut 61)
    . (# legato 1.2)
    . (|+ pan 0.1)
    ))
  $ note (scale "aeolian" (arp "<up downup down updown>"
  "<[2,7,2,<0!3 <7 14>>]!8 [1,5,2,7,<10!2 9 8 8 8 9 10>]!8>"
  ))
  # "90s_matrix:3"
  # cut 6 # gain 0.4
  # squizbus 61 (range 0 4 "^34")
  # room 0.42 # dry 1 # sz 0.8
  # pan 0.6
  # midiG' "^83" 0 2
d8 -- Ominous drumroll
  $ fix (|* gain 0.9) "dr"
  $ midiOn "^60" (slow 2)
  $ midiOn "^92" (ply "[2 1]*8")
  $ "d*<4!3 2 4!3 8 <16!3 8>!16>" # "[dr,drum:2]"
  # midiG' "^84" 0 1.2
  # room 0.8 # dry 1
  |- note 4
