do
setcps (160/60/4)
let g1 = (  # djfbus 1 (range 0.05 0.95 "^49"))
let g2 = (  # djfbus 2 "^50")
-- let g1 = id
-- let g2 = id
d1 $ g1
  $ superimpose (
    (# att 0.08) . (# rel 0.05)
    . (# "drums_atari") . (# cut 1) . (|* gain "^29"))
  $ midiOn "^41"  (slow 2)
  -- FIXME(#94) d1 drives more controls than the grid gives it (BT1 only — BL1-3 are the family mutes). ^42 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^42 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.
  -- FIXME(#94) d1 drives more controls than the grid gives it (BT1 only — BL1-3 are the family mutes). ^42 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^42 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 "^42"  (<| "k k k <k k*2>")
  $ midiOff "^42" (<| "k ~ <~ k> k . ~ ~ <~ k> ~")
  $ "kick:5"
  # midiG' "^78" 0 1
d2
  $ midiOn "^75" (sometimesBy "0!3 <0!3 1>" (fast 2) . fast 2 . (|* speed 2))
  $ g1 $ chop 16 $ loopAt 2 $ "break:15"
  # cut 2
  # midiG' "^79" 0 1.1
d3 $ g2
  $ midiOn "^43" (mask "f(5,8)")
  -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^76 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^76 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). ^76 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^76 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 "^76" (ply "2 <2!3 4>")
  $ "drum:2*[8 <8 [8!3 16] 8 [16 32]>]"
  -- # cut 3
  # pan (slow 16 $ range 0.2 0.8 (sine + perlin))
  # midiG' "^80" 0 1
d4 $ g2
  $ midiOff "^44" (mask "t(<8!4 8 [8 16] 8 [8 . 32 16]>,32)") $ chop 32
  $ slice 8 "<0 1 2 3 4 5 6 7>"
  $ "synth_nes:0"
  # cut 4
  # gain 0.65
  # roombus 42 (range 0 0.4 "^32")
  # pan 0.8
  # squizbus 4 (range 0 16 "^52")
  # midiG' "^82" 0 1
d5 $ g2
  $ midiOn "^57" (|+ note 12)
  $ midiOn "^89" (|+| note "[0 12 0]*<1 1 2 4>")
  $ note ("0(3,8) <7!3 [12 <7 7 7 7>]>*<1!3 2>"
  + "<f3 gs3 c4 <bf3!3 ds4>>" - 12)
  # "bassWarsaw"
  # crushbus 5 (range 16 2 "^33")
  # ampbus 52 (range 0 0.94 ("^81" * "^77"))



-- GRAVEYARD
d2 $ g1
  $ midiOn "^42" (ply 2)
  $ slice 8 "2"
  $ "drums_gameboy"
  # n (slow 4 $ "<6 5>")
  # pan 0.8
  # cut 2
  # midiG' "^79" 0 1
