-- Un an de voisinage
do
setcps (120/60/4)
let gF =  (# djfbus 1 (range 0.05 0.95 "^49"))
let gMute = (midiOn "^74" (mask "f*16"))
let gLPF = whenmod     64 48 (# lpfbus 4 (slow 16 $ range 20000 200  saw))
let gLPFSoft = whenmod 64 48 (# lpfbus 5 (slow 16 $ range 20000 2000 saw))
d1 $ gF $ gM1
  -- $ fast 2
  $ midiOn  "^41" (struct "t t t t")
  -- $ midiOff "^42" (struct "t . ~ t ~ ~")
  -- $ "[techno:0,808bd:2,909,kick:4]"
  $ "[rampleS2:0,techno:0,jazz]"
  # midiG' "^78" 0 1.3
d2 $ gF2 $ gMute
  $ midiOn "^42" (<| "~ c ~ c*<1!3 2>")
  $ midiOff "^42" (<| "~ ~ ~ <~ c>")
  $ drumFrom "[sakatadpm48,rolandr8]" "cp"
  # lpf 2000
  # pan 0.7
  # room 0.2 # sz 0.2 # dry 1
  # midiG' "^79" 0 1.3
d3 $ gF2 $ gMute
  -- $ midiOn "^76" (ply "2 <2!3 4>")
  -- $ "d*[4 <8!3 <16 32>>]" # "dr"
  $ "~ h ~ h ~ h ~ h*<1 2>" # "hh"
  -- # lpf 2000
  # pan "0.2"
  # midiG' "^80" 0 1.3
d8 $ gF3 $ gMute -- MARINE BREAKS
  $ midiOn "^92" (off "e" id)
  $ midiOn "^60" (iter 4)
  -- FIXME(#54) d8 drives more controls than the grid gives it (B8 + C8). ^36 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^36 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 d8's own control with gSel.
  $ someCyclesBy "^36" (loopAt 2)
  $ someCyclesBy "^36" ((# n 0))
  -- $ someCyclesBy "^36" (loopAt 1 . mask "[f t]*4" . chop 16 . (# n 81))
  $ someCyclesBy "^56" ((# "fbreak120:3"))
  $ someCyclesBy "^56" (loopAt 1)
  $ loopAt 2
  $ "jungle_breaks:1"
  # cut 8
  # midiG' "^84" 0 1.3
d8 $ gF3 $ gM2 -- MARINE BREAKS
  $ midiOn "^73" (mask "f*16") -- FIXME DUPLICATE
  -- FIXME(#94) d8 drives more controls than the grid gives it (BT8 + BL8). ^41 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^41 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 d8's own control with gSel.
  -- FIXME(#94) d8 drives more controls than the grid gives it (BT8 + BL8). ^41 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^41 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 d8's own control with gSel.
  $ midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>")
  $ midiOn "^92" (off "e" id)
  $ midiOff "^60" (mask "t([4!3 8],8,1)")
  -- $ chop 16
  $ someCyclesBy "^36" (loopAt 2)
  $ someCyclesBy "^36" ((# n 0))
  $ someCyclesBy "^36" (loopAt 1)
  $ someCyclesBy "^36" (mask "[f t]*4")
  $ someCyclesBy "^36" (chop 16)
  $ someCyclesBy "^36" ((# "jungle_breaks:79"))
  $ someCyclesBy "^56" ((# "fbreak120:3"))
  $ someCyclesBy "^56" (loopAt 1)
  $ loopAt 2
  $ "jungle_breaks:1"
  # cut 8
  # midiG' "^84" 0 1.3
d4 $ gF2 $ gMask $ gMute
  $ sometimesBy (range 0 0.8 "^32") (# crush 5)
  $ midiOn "^44" (iter "1 4")
  $ midiOn "^76" (ply 2)
  $ loopAt 1
  $ chop 8
  $ "breaks165"
  # panbus 4 (slow 16 $ range 0.2 0.6 sine)
  # midiG' "^81" 0 1.3
d7 $ gF3 $ gMute $ gMask
  $ midiOn "^91" (ply "2 <2 4>")
  $ loopAt 4 $ chop 8
  $ midiOn "^59" (# n 4)
  $ "drums_commodore:2" # cut 7
  # midiG' "^83" 0 1.4
  # crushbus 72 (range 16 1.5 "^35")
  # panbus 7 (slow 16 $ range 0.8 0.2 sine)
