
do
let modIndex = pF "modIndex"
let gDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
let g = gDJF
let gG = 1 * "^77"
let ampb bus pat = (ampbus bus (gG * pat))
let midiOn ch pat = someCyclesBy ch pat
-- endregion
let prog = "<d6'm9 g6'dom7'ii c6'maj7 c5'maj7'iii>"
setcps (95/60/4)
d1 -- Kick techno 1-2-4/4
  $ g
  -- 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" (fast 2)
  $ midiOn "^41" (struct "t t t <t t*2 t [<~ t> t]>")
  $ "[jazz,bd:2]"
  # midiG' "^78" 0 2
d2 $ g
  $ midiOn "^42" (struct "t*[4 8 16 <8 [32 16]>]")
  $ "~ ~ h ~ ~ h*2 [<~ h h ~> <h ~>] h" # "h2ogmhh" # n "<0!4 1!4 2!4 3!4>"
  # midiG' "^79" 0 1.25
d3 $ g
  $ loopAt 2
  $ midiOn "^43" (ply "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" (scramble "1 8")
  $ slice 8 ("0 1 2*<1 <2 4>> 3 4 <5 4> <6!3 4> 7*<1!3 <2 4>>")
  $ "fbreak100:4"
  # midiG' "^80" 0 1.8
d4 $ g -- Hoover bassline
  $ midiOn "^76" (superimpose (
  arp "up"
  . struct "t*<2!3 4>"
  . (|+| note (12 + "c'maj'3"))
  -- . (|* gain 0.9)
  ))
  -- $ slow 2
  $ n ("0" + prog - 24)
  # s "superhoover"
  # squizbus 30 (range 0 1.37 "^32")
  # crushbus 31 (range 16 1.3 "^52")
  # ampb     32  (range 0 0.25 "^81")
  # pan 0.2
  # midiG' "^81" 0 1.38
  # legato 1.05
d5 $ g -- Arp aigus Rhodes
  $ superimpose (|- note 24)
  $ midiOn ("^57" + 0.05) (struct "t(3,8) t(<5 <4 [2 4]>>,8)")
  $ note (arp "<up!6 [up|down|updown]>"
  $ prog
  |+ "0 12"
  - 24
  )
  # "FMRhodes1"
  # ampbus   40 (range 0  0.82 "^82")
  # crushbus 41 (range 16 3.9 "^33")
  # modIndex "[0,2.5]"
d10 $ g
  $ "~ [h2ogmcp,clap]"
  # midiG' "^84" 0 1.5
  # room 0.2 # sz 0.7 # dry 0.99
