
do
-- resetCycles
setcps(120/60/4)
d1 $ gF1 $ gM1
  $ fix ((# lpf 150) . (|* gain 0.93)) "kick:5"
  -- $ midiOn "^42" (<| "k k sk <k <k*2 [k k k ~]>>")
  $ midiOn "^41" (<| "k k k <k!3 <[~ k*<1!3 2>]!3 k*2>>")
  $ midiOff "^41" (<| "k  . ~ k ~ ~")
  -- $ midiOff "^42" (<| "k ~ ~ [~ <~ k>]")
  -- $ fix (|* gain 0.85) "rampleS57"
  $ "[house:0,kick:5]" -- TODO: Meilleur kick?
  -- # cut 1
  # gain 1
d2 $ gF1 $ gM2
  $ midiOn "^42"  (<| "~ c ~ c")
  $ midiOff "^42" (<| "~ . ~ c*<1!3 <2!3 4>>")
  $ "[snare:40,rampleM1:10]"
  # gain 1.3
  # pan 0.6
  # room 0.4 # dry 0.95 # sz 0.1
  # lpf 4650
d3 $ gF1 $ gM2 -- Highest hats
  $ midiOff "^43" (slow "<2!7 [4 2] 4!7 [2 4]>")
  $ arp "up"
  -- 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)
  $ "d([16 <16 [8 <8 32 16 32>]>],32,0)" -- REGULIER :)
  # "[h2ogmcy:1]"
  # note (-12 + "3.5" + "e6")
  -- # cut 3
  # gain (1.3 * (range 0.85 1.05 (fast 4 perlin)))
  # pan 0.3
  # cut 3
d4 $ gF2 $ gM3 -- TODO: Varier basse?
  $ midiOn "^76" (ply "2 <2!3 4>")
  $ midiOn  "^44" (slice 4 (fast "<8!3 16>" "<0 1 2 3>"))
  $ midiOff "^44" (slice 4 (fast 1 "<0!3 <1 3>>"))
  $ loopAt 4
  $ "nujazz_bass120:4"
  # cut 4
  # crushbus 41 (range 16 4 "^32")
  # gain 1.4
d5 $ gF3 $ gM3 -- NuJazz Keys
  $ midiOn "^57" ((# freeze 0.1))
  $ midiOn "^89" (chop "4 <2 4 4 8>")
  $ chop 8
  $ loopAt 4
  $ "nujazz_keys120"
  # n (slow 4 "<5 6 7 8>")
  # gain 1.6
  # cut 5
  # crushbus 51 (range 16 6.4 "^33")
  # octerbus 52 (range 0  0.7 "^53")
d6 $ gF1 $ gM3 -- UN GLITCH DANS MON CAFE!!?!
  -- $ striate 16
  -- $ chop 16
  $ loopAt 0.25
  $ slice 4 "0 <0!3 1> <0!3 2> 3"
  $ "meth_bass" # n "<10!3 [<10 11> 11] 9!24>"
  # cut 6
  # crush 8
  # lpf (slow 32 $ range 4000 400 sine)
  # gain 1.26
d8 $ gF1 $ gM2 -- Break populaire
  $ midiOn "^92" (ply 2)
  $ chop 8
  $ loopAt 2
  $ midiOn "^36" (loopAt "1 <1 0.5>" . (# "jungle_breaks:6"))
  $ midiOn "^56" (# "jungle_breaks:24")
  $ "jungle_breaks:53"
  # pan "0.68 0.42 0.42 0.68"
  # gain 1
d7 $ gF1 $ gM3 -- SECOND BREAK!!?!
  $ midiOn "^91" (ply 2)
  $ midiOn "^35" (loopAt 1 . (|> "jungle_breaks:19"))
  $ midiOn "^59" (slice 8 (run "8 <8!3 16>"))
  $ chop 8
  $ loopAt 2
  $ "jungle_breaks:22"
  # pan "0.8 0.2"
  # gain 1.2
