resetCycles

do
setcps(120/60/4)
d1 $ gF1 $ gM1
  $ midiOn "^41" (<| "k k k <k!3 <[~ k*<1!3 2>]!3 k*2>>")
  $ midiOff "^41" (<| "k  . ~ k ~ ~")
  $ fix (|* gain 0.9) "kick:5"
  $ "[h2ogmbd:1,kick:5]" -- TODO: Meilleur kick?
  # gain 1.2
d2 $ gF1 $ gM2
  $ midiOn "^42"  (<| "~ c ~ c*<1!3 2>")
  $ midiOff "^42" (<| "~ . ~ c*<1!3 <2!3 4>>")
  $ "cp"
  # gain 0.9
  # pan 0.6
  # note "-3"
  -- # room 0.84 # dry 0.95 # sz 0.1
d3 $ gF1 $ gM2 -- Highest hats
  $ midiOff "^43" (slow 2)
  $ 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(<8 10 12 <14 [16 32 [16 <16 32>]]>>,16,1)" -- FIXME IRREGULIER
  $ "d([16 <16 [8 <8 32 16 32>]>],32,0)" -- REGULIER :)
  # "[h2ogmsn:14]"
  -- # "[rampleS57:2]"
  # note (-12 + "3.5" + "e6")
  -- # cut 3
  # gain (0.7 * (range 0.85 1.05 (fast 4 perlin)))
  # pan 0.3
d4 $ gM3 $ gF2
  $ midiOn "^76" (superimpose (
    (struct "t(8,16)") . (# legato 0.2). (# cut 41))
    . (|* gain 0.8)
    )
  $ note "<<e!3 e4> <~ [~!7 <g g g a g a bf b>]>>"
  # "moog"
  # crushbus 41 (range 16 2.5 "^32")
  # octerbus 42 "^52"
  # cut 4 # gain 0.8
d5 $ gM3 $ gF3
  $ midiOn "^89" (ply 2)
  $ note (arp "down" "c'min'2" + "<<e!3 e4> <b3 [~!7 <g g g a g a bf b>]>>")
  # "FMRhodes1"
  # crushbus 52 (range 16 2.5 "^33")
  # modIndex (range 0 2.5 "^53")
  -- # cut 5
  # pan 0.7
  # gain 1.2
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:18"
  # gain 0.85
  # pan "0.68 0.42 0.42 0.68"
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"
