do
setcps (90/60/4)
let gMute = (midiOn "^73" (mask "f*16"))
let gM = gMask . gMute
d1 $ gM1 $ gF1
  $ midiOn "^41" (fast 1 . (<| "k k k <k [k*2 <k [~ k]>]>"))
  $ midiOff "^41" (<| "k . k(<3 [3 <5 4 5 8>]>,8)")
  $ "[jazz, kick:5,808bd:2]"
  # gain 0.8
d2 $ gM $ gF1
  $ midiOff "^42" (mask "f t")
  $ fix (# lpf 200) "snare:15"
  $ "~ s [~!3 <~!3 s ~ s ~ s>] s*<1!7 2>"
  # note "0 0 -2 0"
  # "[snare:55,snare:15]"
  # gain 0.9
d3 $ gM $ gF1
  $ rarely (off "[s|e]" (|* gain 0.93))
  $ midiOn "^43" (mask "t(<24 32 32 24>,32)" . ply "1 2 1 2")
  -- 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 "^44" (ply 2)
  $ "d*8"
  # note "8"
  # drumFrom "mpc1000" "[sd:4,sd:5]"
  # pan 0.2
  # gain 0.9
  |* gain (fast 2 $ segment 16 $ range 0.85 1.1 perlin)
d4 $ gM3 $ gF2 -- Can I?
  $ slow 2
  $ note ("<[a3@3 ~ ~ ~ ~ <c4 g3>] [e3@3 ~ ~ ~ ~ g3]>" + "[0,12]" - 12)
  # modIndex (range 0 4 "^32")
  # "FMRhodes2"
  # delay "<0.5!3 0>"
  # delayt 0.5
  # delayfb 0.5
  # room 0.2 # dry 1.1 # sz 0.8
  # gain 1.2 # cut 4
d5 $ gF3 $ gM3 -- BURNING IT
  $ midiOn "^57" (# freeze 0.5)
  $ whenmod 32 24 (off 0.25 ( -- Final angels
    mask "t(<4 8>,16,1)"
    . (|+ note 12)
    . fast "2"
    -- . (# freeze 0.1)
    . (# crushbus 51 (slow 8 $ range 8.5 2.3 saw))
    . (# roombus 52 (slow 8 $ range 0 0.5 saw))
    . (# dry 1.4)
    . rev
    . (# cut 52))
  )
  $ whenmod 16 8 ( -- Echoes of masked figures
    off 1 ((|+ note 12)
    . ply "<1!3 2 2!3 4>"
    . whenmod 32 16 (rev)
    . (# cut 51)))
  $ slow 2 $ note "<[a4 [b4 <e5 e4>] ~ ~ . ~]>"
  -- $ note ("<a3 [<e3 [e3 g3]>]>")
  # "giorgio_syn:5"
  # cut 5
  # pan (slow 32 $ range 0.8 0.6 saw)
  # distortbus 53 (range 0 2 "^33")
  # room 0.5 # sz (slow 16 $ range 0.4 0.8 saw)
  # delaybus 54 (range 0 2 "^53")
  # delayt 0.25
  # delayfb 0.8
  # gain 0.6
d8 $ gM $ gF3
  $ (# pan "0.13@3 0.87")
  $ midiOn "^92" (ply "2 <2!3 4>")
  $ midiOn "^36" (chop 16 . (|* gain 0.85) . loopAt 0.25 . (|> "jungle_breaks:1"))
  $ midiOff "^36" (slice 16 ("<0 2 2 0> <1 3 3 1> <2 6> <3 <7 3>>"))
  -- $ slice 16 (run 16)
  $ loopAt 4
  $ "jungle_breaks:10"
  -- # att 1.01
  # rel 2
  # cut 8
  # orbit 7
d7 $ gF2 -- Mono Maniaque
  $ midiOn "^91" (stut 4 0.9 0.125)
  $ midiOn "^59" (off 0.5 id)
  $ note (
    -- "[~. a4 [b4 <e5 e4>] ~ ~ ]"
    "[~ . d4@2 e4 <a4 <a3 b3>> <~!3 a3> ~ ~ ~ ]"
    -4 -- Calage
  )
  # "fmono:3"
  # cut 7
  # end 0.05
  # orbit 6
  # room 0.3 # sz 0.9 # dry 2
  # gain 0.65
  # pan 0.7
  # crushbus 71 (range 14 2.5 "^35")
d9 $ gF3 $ n "<64!3 65>/4"
  # "90s_megafx:64"
  # cut 9
  # gain 0.7
d10
  $ (0.75 ~>)
  $ "<~!7 90s_synatm:4>"
  # note "[-12]"
  -- # hpf 1500
  # accelerate 4
  # gain 0.7
  # panbus 101 (range 1 0.7 saw)
  # pan 0.9
  # cut 10
  # room 0.8 # dry 2 # sz 0.5
  # delay 0.85
  # delayt 2
  # delayfb 0.7

once $ "fx_commodore"

once $ note "g4" # "superfork"
  # orbit 4
  # accelerate 2
