do
setcps (110/60/4)
d1 $ gF1 $ gM1
  $ midiOn "^41" (<| "k k k <k [<~ k?> k]>")
  $ midiOff "^41" (<| "k . ~ k ~ <~!7 k>")
  $ "[techno:0,808bd:2,909,kick:4]"
  # gain 0.9
d2 $ gF1 $ gM2 -- Snare FOU
  $ superimpose (# lpf 5300) -- Double bass
  $ midiOn "^75" (<| "[<~!3 s> s]*<4!3 8>")
  $ midiOn ("^42" - "^75") (<| "~ s ~ <s s*<1!7 2> s s*2>")
  $ midiOff ("^42"- "^75") (<| "~ s")
  $ "[sn:25,gretsch:4]"
  # note (range "-4" 4 "^51")
  # gain 0.7
d3 $ gF1 $ gM2
  $ midiOn "^43" (ply "1 2 1 <2 <1 4>>")
  -- 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)
  $ ply "1 . 1 <<2 1> [<4 [4 2]> 1]>"
  $ "dr:2*8"
  # gain 0.8
  -- # midiG' "^80" 0 1.2
  # pan (0.3 - 0.2 * perlin)
d4 $ gF2 $ gM3
  $ midiOff "^44" (midiOn "^76" (ply "<4!3 [4 8]>"))
  -- $ midiOn "^57" (midiOn "^89" (slice 4 (run 8)) . chop 8)
  -- $ midiOn ("^89" - "^57") (fast "2" . slice 16 ("[0 1 2 3]*<4 8>" + (slow 2 "<0 4 8 12>")))
  -- $ midiOff "^57" (midiOn 1 (slice 16 (("[0 1 2 3]*<2!8 4!8>" + "<0 12 0 8>"))))
  -- $ midiOff "^89" (chop 16)
  $ chop 4
  $ loopAt 4
  $ midiOn "^44" (# "bass_gameboy:5")  -- Sad truth pattern
  $ "bass_gameboy"
  # cut 4
  # gain 0.9
d5 $ gF3 $ gM3 -- La pluie d'étoiles
  $ whenmod 64 32 (off "q" ((|+ note 12) . (# pan 0.8)))
  $ whenmod 32 16 (off "e" ((|+ note 9) . (|+ pan 0.1)))
  $ whenmod 16 8  (off "h" ((|+ note 12) . (# pan 0.8)))
  $ chop 8
  $ loopAt 4
  $ "synth_gameboy:5"
  # pan 0.2
  # hpfbus 51   (range 0 8000 "^33")
  # gain 0.9
d6 $ gF3 $ gM3 -- La corne de l'espoir
  $ whenmod 8 6 (juxBy 0.8 (rev . (# cut 61)))
  $ slice 8 ("<0 0 1 <[1 1] [2 <~ 2> 3 <~ 3>]>>")
  $ loopAt 2
  $ "synth_atari:5"
  # cut 6
  # gain 0.8
d7 $ gF2 $ gM3
  $ superimpose (|+ note "[0,7]")
  $ note "<fs3 b4 a4 cs5 fs4 e4 d4 cs5 fs3 b4 a4 cs5 fs4 b5 a5 cs6>"
  # "moogBass"
  # octer 0
  # octerbus 72 (range 0 1 "^35")
  # roombus 71 (range 0.3 1.2 "^55") # dry 1.8 # sz 0.7
  # gain 0.8
d8 $ gF1 $ gM2
  $ midiOn "^36" (loopAt 2 . (# "jungle_breaks:11"))
  -- FIXME(#54) d8 drives more controls than the grid gives it (B8 + C8). ^56 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^56 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 d8's own control with gSel.
  $ midiOn "^56" (loopAt 2 . (# "jungle_breaks:38"))
  -- $ sometimesBy "^56" (off "h" ((|+ pan 0.2) . ply 2 . (# cut 41)))
  $ sometimesBy "^56" (iter 4)
  $ midiOn "^92" (ply "<1 [2 <2 4>]>")
  $ midiOn "^60" (ply 2)
  $ chop 8
  $ loopAt 1
  $ "breaks165"
  # cut 4
  # pan 0.7
  # gain 1.2
