once $ "coffee" # cut 1 

do
-- resetCycles
setcps(140/60/4)
d1 $ gF1 $ gM1
  $ midiOn "^41" (<| "k k k <k!3 <[~ k*<1!3 2>]!3 k*2>>")
  $ midiOff "^41" (<| "k  . ~ <~!4 k!12> ~ ~")
  $ fix ((# lpf 1400)) "kick:4"
  -- $ "[techno:0,kick:4]"
  $ "jazz"
  # gain 1.2
  # room 0.2
  # dry 1
d2 $ gF1 $ gM2
  $ midiOn "^42"  (<| "~ c ~ c*<1!3 2>")
  $ midiOff "^42" (<| "~ . ~ c*<1!3 <2!3 4>>")
  -- $ "[rampleM2:12,rampleD3:1,rampleD4:1]"
  $ "[snare:10,snare:20]"
  -- # note "-4"
  # lpf 2000
  # gain 1.5
  # pan 0.6
  # rel (slow 16 $ range 0.6 0.2 saw)
d3 $ gF1 $ gM2 -- Highest hats
  $ whenmod 32 16 (swingBy (slow 16 $ range 0.08 0.01 saw) 4)
  $ midiOn "^43" (off "s" id)
  -- 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!2 4 8>")
  $ fix (# legato 0.25) "rampleD2:3"
  $ "~ h ~ h ~ h*<1 2> ~ h*<1!3 2>"
  # "rampleD2:2!6 <rampleD2:2!3 rampleD2:3> rampleD2:3"
  # cut 3
  # gain (1.4 * (range 0.85 1.05 (fast 4 perlin)))
  # room 0.2 # dry 0.99 # sz 0.25
d4 $ gF2 $ gM3 
  $ note (
    "0 0(<3 3 5 [3 8]>,8)" + 
    "<ef4!4 gs4!4 fs4!4 ef!4>"
    + (arp "up" "c'maj'4" )
    - 12
    )
  # "giorgio_syn:9" 
  # cut 4 
  # room 0.3 
  # bandf 400
  # gain 1.1
  # crushbus 41 (range 16 3.5 "^32")
d5 $ gF3 $ gM3 
  $ midiOn "^89" (slice 4 "0 0 <0 0*2 1 2> <0*2 0 2 3>*<1!3 2>")
  $ midiOn "^57" (>| n "2/4") 
  $ midiOff "^57" (>| n "1/2") 
  $ "coffee" 
  # cut 5
d7 $ gF3 $ gM3 
  $ midiOn "^91" (ply 8)
  $ (0.25 ~>)
  $ slow 8 
  $ ply 4 
  $ n "<3 4 5 6>" 
  # "coffee" 
  # cut 7
  # room 0.4 
  # dry 1.3 
  # gain 1.4
  # sz 0.4
d8 $ gF1 $ gM2
  $ midiOn "^92" (ply "1 <2!3 4>")
  $ midiOff "^60" (mask "t(4,8,1)") -- Techno drum mask
  $ midiOn ("^36" - "^56") ((# n "22")) -- Hmmm Break
  $ midiOn "^56" ((# n "23")) -- Raise COMEON!
  $ chop 16
  $ loopAt 2
  $ "jungle_breaks:45"
  # cut 8
  # gain 1.5

-- d4 $ gF2 $ gMute3 -- BASSLINE VIOLENTE PAR VALENTIN <3
--   $ superimpose (
--     (# crushbus 41 (range 16 3.5 "^53"))
--     . (# hpf 500)
--   )
--   $ midiOn "^89" (ply "2 <2 <4 8>>")
--   $ fast (4/3) -- Le fameux
--   $ midiOff "^57" -- L'attente
--     (sometimesBy "<1!3 [0 <0 1>]>" (mask "t(<5!3 <5 8>>,8) t(<5!3 5>,8)"))
--   $ ("e" ~>) -- Decalage
--   $ note ("<[fs4 <a5!2 gs!4 fs5!4 <[a6 gs6 fs6]!3 [fs6 gs6 a6]>>@3]*4>")
--   # "bassWarsaw" |- note 24
--   # pan 0.4
--   # octersubbus 42 (range 0 2 "^33")
--   # octerbus 43 (range 0 0.52 "^33")
--   # gain 2
--   # legato "[0.8 0.5]*4"
-- d5 $ gM3 $ gF3 -- Suns of Gold Keys, samples
--   $ midiOn "^90" (ply "2 <2 <4 8>>")
--   $ midiOn "^58" (slice 8 "<0 1 2 3>(<3 <5 [5 3]> <3!3 [1]> <8!3 [8 4]>>,8)")
--   $ midiOff "^58" (slice 8 "<0 1 2 3 4 5 6 7>")
--   $ "suns_keys" # n "<0 <1 2> 3 3>"
--   # pan 0.8
--   # room 0.8 # sz 0.5
--   # hpf 500
--   # cut 5
--   # tremrbus 51 (range 0 "<0 8>" "^78")
--   # tremdp 2
--   # gain 1.2
-- d7 $ gMute3 $ gF3 -- Suns of Gold Guitars, sampled and cut
--   $ superimpose ((# cut 71) .
--     (# crushbus 73 (range 16 2.9 "^55")) -- CRASH THIS GUITAR
--   )
--   $ midiOn "^91" (ply "1 . 2 <2 <4 8>>")
--   $ slice 8 "0 0 0 <0 <1 2>>"
--   $ "suns_guitar:0/2"
--   # cut 7
--   # octersubbus 71 (range 0 1.9 "^35") -- BURN THIS GUITAR
--   # lpfbus 72 (range 10000 200 "^35")
--   # pan 0.2
--   # gain 1.1
-- d8 $ gF1 $ gM1
--   $ midiOn "^92" ( -- Bouton Nassim <3
--     slice 16 "[0 .. 7] . <[0 .. 7]!3 [0 1 . [2 3]]>"
--     . loopAt 0.5 . (# "breaks165")
--     -- . (# octer 0.4) . ( octersubsub 4)
--     . (# lpf 2500)
--     . (# room 0)
--   )
--   $ midiOff ("^60" + "^92") (ply "t(<4!3 <6 [4 <8 16>]>>,8,1)") -- TECHNOO
--   $ midiOn "^36" ((loopAt 1) . (# "jungle_breaks:19")) -- Clochettes?
--   $ midiOn "^56" ((loopAt 1) . (# "jungle_breaks:60")) -- Clochettes?
--   $ chop 16
--   $ loopAt 2
--   $ "jungle_breaks:45"
--   # cut 8
--   # att 0.04
--   # rel 2
--   # gain 1.6
--   # hpf 1200
--   -- # room 0.52 # sz 0.04 # dry 1.01
-- d9 $ gF3 $ gMute3 -- Voice of the Father
--   $ someCyclesBy "<0!16 1!16>" (slice 10 "<5 5 <2 2 7 2> <7 4>>")
--   $ someCyclesBy "<1!16 0!16>" (slice 10 "<0 0 2 <4 5 5 4>>")
--   $ "suns_voice:0"
--   # octerbus 91 (slow 16 $ range 0.5 0.2 sine)
--   # hpf 1500
--   # cut 9
-- d10 -- CUES AND NOISES TODO Rework following
--   $ fix (# lpf 2000) "rampleD5:3" -- Porte spaciale
--   $ fix ((# legato 4) . (# cut 101) . mask "<f!3 t>" . slow 8) "risers"
--   $ "[<~!3 rampleD5:3>,risers:5]"
--   # gain 1.2
--   -- # cut 10
-- d11 $ gM3 $ gF2 -- Flying triplet guitar
--   $ slice 8 ("<0 1 2 3>(3,8)")
--   $ "suns_guitar:2"
--   # cut 11
--   # room 0.8
--   # sz 0.5
--   # dry 1.2
--   # pan "<0.3!16 0.7!16>"
--   # legato 4
-- d12  $ gM3 $ gF3 -- Falling angel guitar
--   $ whenmod 16 8 (ply "<4 2 [4 2] [4 8]>")
--   $ slice 2 ("<0 1>") 
--   $ "suns_guitar:1"
--   # cut 12
--   # pan "<0.7!16 0.3!16>"
--   # room 0.4
--   # sz 0.5
--   # hpf 1500
--   # dry 1.2
--   # gain 1.8
--   # legato 1.2
-- 
-- once
--   $ sound "suns_keys:0"
-- 
-- once $ "jazz"
-- 
-- setcps 0.25
-- 
-- d1 $ fastcat ["bd:0*2", "hh()", "dr*4", "[cp*<1 2> . ~]"]
--   -- # ""
--   # gain 1.8
--   -- # hpf 5000
