-- Lunar - et bim! l'esbrouffe
-- TODO: CBOW Kill melody,   reboot alongside rhodes
-- TODO: Bassline Kill riff, reboot alongside rhodes

do
setcps (110/60/4)
let modIndex = pF "modIndex"
let mBreak = (midiOn "^41" (mask "t f . f <f!4 t!4> <f!2 t!6> t"))
let g1 = (# djfbus 1 (range 0.02 0.98 "^49"))
let g2 = (# djfbus 2 (range 0.05 0.95 "^50"))
let m = mBreak
d1 $ g1 --
  $ midiOn "^41" (<| "k k k <k [<~ k> k]>")
  $ midiOff "^41" (<| "k . ~ <k k ~ ~> k*<1!3 2 2 2 1 2> <~ ~ k <k ~>>")
  $ "[jazz,hh:5]"
  # midiG' "^78" 0 1.6
d3 $ g1 $ m -- Clap contretemps stable
  $ midiOn "^43" (fast 2)
  $ superimpose ((# lpf 2000) . (# "cp:0"))
  $ "~ clap:1"
  # room 0.8 # sz 0.6 # dry 0.9
  # midiG' "^79" 0 1.0
  # pan "^15"
d2 $ g1 $ m -- BREAKs divers
  -- FIXME(#94) d2 drives more controls than the grid gives it (BT2 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 d2's own control with gSel.
  -- FIXME(#94) d2 drives more controls than the grid gives it (BT2 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 d2's own control with gSel.
  $ midiOn ("^42" - "^76") (ply 2)
  $ midiOn "^76" (striate 2)
  $ loopAt 2
  $ whenmod 8 6 (off "h" id . mask "t . f")
  $ slice 8 (run 8)
  $ "break" # n "<13!12 14!4 15!12 14!4>"
  # midiG' "^80" 0 1.9
  # speed (range 0 2 "^30")
  # cut 2
d4 $ g2 $ m -- Basse avec du repondant
  $ midiOn "^76" (chop "8 1")
  $ superimpose ((# cut 41)
  . (|+| note "0*<1!3 2 1!3 4 2!4 4!4> 7(<5 5 3 3>,8)")
  )
  $ note (scale "aeolian" (
    "<3 3 5 <5 4> 5 4 3 <~ 2 3 ~>>"
    )
    - 24
  )
  # "bassWarsaw"
  # midiG' "^81" 0 1.5
  # crushbus 4 (range 16 1.5 "^32")
  # cut 4
  # pan 0.2
d5 $ g2 $ m -- Rhodes piano questionnant
  $ midiOn "^89" (superimpose (
      (# cut 51)
      . (|+| note "~ 12(<1 1 2 1 2 5 2 1 2 2 5 2 2 4 3 8>,8)")
      . (|* gain 0.9)
  ))
  $ note (scale "aeolian" (
    "<3 [3 . ~!7 4] <5 [5 . ~!3 6]> 5 2 2 3 [4 3@7]>"
    )
    - 12
  )
  # "FMRhodes1"
  # midiG' "^82" 0 2
  # modIndex (range 0.1 32 "^33")
  # cut 5
  # pan 0.8
