do
-- resetCycles
setcps (80/60/4)
let modIndex = pF "modIndex"
d1 $ gF1 $ gM1
  -- $ midiOn "^30" (# "hardkick_rha")
  $ midiOn "^41"  (fast 2 . struct "t*<1!4 2 1!3> t t*<1!6 2 1> t*<1!7 2>")
  $ midiOff "^41" (struct "t . ~ t*<1!3 2> ~ <~!3 t*<2 [2 1] [4 2] [2 4]>>")
  $ stack [
  "kick" # lpf 10000 # cut 1,
  "rumble" |* gain 1.3
  # lpf 200
  # cut 11,
  ""
  ]
  # "[techno:1,jazz]"
  # gain 1.4
d2 $ gF1 $ gM2
  $ midiOn "^42" (<|"~ s ~ s*<1 2>")
  $ midiOff "^42" (<| "~ s")
  $ "[vec1_snare:5]"
  # note "<-0!12 -2 -2 -3 0>"
  # gain 1.3
  # lpf 4000
  # sustain 0.8
d3
  $ fast 2
  $ "~ h ~ h ~ h <~ h> h" 
  # "h2ogmhh" # gain 1.1
  # delay 0.2 # delayt "s" # delayfb 0.4 
d6 $ gF1 $ gM3 
  $ "~ clap:2"
d4 $ gF2 $ gM3 
  $ midiOn "^76" (ply 4)
  $ chop 4
  $ loopAt 4
  $ "bass_commodore:8"
  # cut 4
  # room 0.3 
  # crushbus 41 (range 16 2.5 "^32")
  # octersubbus 42 (range 0 4 "^52")
  -- FIXME(#54) d4 drives more controls than the grid gives it (B4 + C4). ^17 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d4's own control.
  -- # tremdpbus 43  "^17"
  -- FIXME(#54) d4 drives more controls than the grid gives it (B4 + C4). ^18 now belongs to another orbit, so the line(s) below are COMMENTED OUT rather than left firing across columns. Nothing is lost — restore by removing the dashes once gSel folds this onto d4's own control.
  -- # tremrbus 44  (range 0.2 8 "^18")
d5 $ gF3 $ gM3 -- YOUR VALUES ARE WRONG
  $ midiOff "^57" (mask "t(4,8,1)")
  $ midiOn "^89" (ply 2)
  $ note ("[c ef f c ef f c <ef <gs c5> <gs b5> ef>]*2" 
  - 12
  + "<0!4 12!4>"
  )   
  # "FMRhodes1"
  # squizbus 51 (range 0 4 "^33")
  # modIndex "<2 4 8 16>"
  # gain 1.5
d7 $ gF3 $ gM3 
  $ slow 2 $ note "<[ef ef ef f] [gs(5,8) f]>" 
  # "FMRhodes2"
  # gain 1.4
  # room 0.3 # sz 0.4 # dry 1.4
d11 $ gF3 $ gM3 -- EVENTS OF BLUE LOVE
  $ stack ["",
  n "<~ ~ ~ ~ 9 ~ ~ ~>" # "blues_guitar_riff2_120",
  n "<~!4 <~ ~ 9 ~> ~ ~ 14>" # "blues_guitar_riff_120",
  ""
  ]
   # cut 11
d12 $ gF3 $ gM3 
  $ note ("<f f ef c>") 
  # "meth_bass:3/4" |- note 5
  # cut 12
d8 $ gF1 $ gM2 -- DRUM N BASS AS A SERVICE
  $ chop 8
  $ midiOn "^60" (mask "t(8,16,1)" . chop 16) 
  $ midiOn "^36" (
    slice 8 "0 <1 <~ 1*2>> 2 3? 4 5? <6 6?> <7 7*2>" 
  . loopAt 2 . (# "jungle_breaks:63"))
  $ midiOn "^56" ( -- Bouton Nassim <3
    (loopAt 2) . (# "jungle_breaks:45")
  )
  $ loopAt 0.5 $ "breaks165"
  # cut 8
  # gain 1.4

once $ arp "up" $ note "a3'maj'4" # "superpiano"
  
once  $ "h:6"

do
setcps (120/60/4)
d1  $ "k k k k*<1 2>" 
  # "h:6" # end 0.1 # note (-24) # speed 0.5
  # room 0.5 # lpf 3000
d2  $ "~ h ~ h" # "h:6" # squiz 4 
d3  $ "[~ h:6]*8" # hpf 5000 # end 0.05

d7 $ gF3 $ gM3
  -- $ superimpose ((|* gain (slow 16 $ range 0.5 1 saw)) . (# n 15) . (# pan 0.3))
  $ chop 8
  $ loopAt 4 
  $ "90s_synatm:14"
  # gain 1.4
  -- # delay 0.4
  # room 0.3
  
d8 $ loopAt 4 $ "break:5" # cut 8
  
d3 $ gF1 $ gM2
 $ (0.125 ~>)
 $ slow 2
 $ midiOn "^43" (ply "1 <2!3 4>")
 -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^44 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^44 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). ^44 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^44 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 "^44" (
   (# delay "<0 0.2 0.3 0.5 0.6 0.7 0.8 0.9>") .
   (# delayt "s") .
   (# delayfb 0.5)
   )
 $ chop 8
 $ n "<1 2 3>" 
 # "orage" 
 # cut 3 
 # gain 1.4
d5 $ gF3 $ gM3 -- Orage base riff 
  $ slow 4
  $ n "<6 6 7 7 8 8 8 9 6 7 8 9 6 8 7 9 10 11 12 13 14 15 14 16>" 
  # "orage"
  # hpf 300 
  # gain 1.4 
  # cut 5
  # room 0.2
d12 
  $ "wind:4" 
  # speed ("<0.2!3 0.5>")
  # gain 1.4 
  # cut 12
d8 $ gF1 $ gM2 -- Break discret face à une telle idole
  -- $ midiOn "^60" (mask "t(4,8,<1!3 0>)" . chop 8)
  -- $ midiOn "^36" (id . (loopAt 0.5 . (# "jungle_breaks:130")))
  $ midiOn "^60" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
  $ midiOn "^56" (loopAt 0.5 . (# n 45) . (|* gain 1.1)) -- Orleanaise
  $ midiOn "^36" (loopAt 2 . (# n 12))
  $ chop 16
  $ loopAt 4
  $ "jungle_breaks:12" # cut 8
  # gain 1.4
d4 $ gF2 $ gM3
  -- $ mask "t(4,8)"
  $ note "ef <ef gs ds <c f>> <af <g!3 gf>> f*<1!3 2> gs ef bf <ef!3 <ef f>>" 
  # s "bassWarsaw" |- note "[12,24]"
  # pan 0.2
  # room 0.2
  # octersub 0.5
  # sz 0.8
 # crushbus 41 (range 15 4 "^32")
-- d5 $ n "e fs g a b g a e" # s "FMRhodes1"
-- d3 $ n "d cs c b a g fs e" # s "superpiano"
d9 $ gF3 $ gM3 -- CHOEUR INTRO TODO ALIGNER MELODIQUEMENT
  $ slow 8 $ slice 8 (run "8!3 <4 8 8 16>")
  $ "medieval:216"
  # room 0.4
  # note "-2"

d6 $ gF1 $ gM3
   $ midiOn "^58" (<|"~ s ~ s*<1 2>")
   $ midiOff "^58" (<| "~ s")
   $ "clap:2"
   # hpf 2500
   # room (slow 16 $ range 0 0.8 saw) 
   # dry 1.1
d8 $ gF1 $ gM2 $ "jungle_breaks:22" # cut 8
  -- # note "<-0!12 -2 -2 -3 0>"
    -- # gain 1.3
-- d3 $ gF1 $ gM1 -- Cymbales sol
--   $ midiOn "^44" (<| "~ cy ~ cy ~ cy ~ <cy [~ cy]>")
--   $ midiOff "^44" (<| "~!7 <~ <cy ~> ~ cy>")
--   $ "cy" # "<cy:1!6 cy:2!2>" # "h2ogmcy"
--   |* gain (range 1.1 0.8 perlin)
--   |* legato (range 0.5 2 (fast 2 perlin))
d4 $ gF2 $ gM3 -- BASS <3
  $ juxBy 2 (# cut 41)
  $ "orage"
  # cut 4
  # gain 1.1
  # room 0.3 # sz 0.3 # dry 1.3
  # crushbus 41 (range 16 4 "^32")
  # octerbus 42 (range 0 0.93 "^52")
d5 $ gF3 $ gM3 -- Rain piano <3
  $ midiOn "^57" ((>| n "5/2"))
  $ slow 4 $ ply "4 . 2 0" -- Slowly, loop 4 times each 
  $ n "<5   6  7  8  8  8  7  8    9 10 11 12 13 14 13 12   17 18 19 20 17 18 20 20   17 18 19 20 21 23 22 20 21 22 23 24 25 26 27 28 29 30 31 32 33   34 35 36 37 37 37 38 37 38 39 ~ 37 ~ ~ 38 38 38 39 ~>" # "orage"
  # cut 5
  -- # octersubbus 51 (range 0 2 "^18")
  -- # octerbus    52 "^34"
  # crushbus    53 (range 16 5 "^33")
  # room 0.3 # sz 0.4
  # gain (slow 32 $ range 0.6 1.2 saw)
d7 $ gF2 $ gM3 
  $ midiOn "^59" (struct "~ t ~ t ~ t <~ t t ~> t*<1!3 2>")
  $ fix ((|+ note 12). ((|* gain "^35"))) "vec1_acid:30"
  $ fix ((|+ note 12)) "vec1_acid:27"
  $ note ("<[c3@3 d3]!3 [d3!3 [ds3 d3 ds3]]>" + 12)
  # "[vec1_acid:27,vec1_acid:30]"
  # gain 1.5
d10  
  $ loopAt 8 
  $ "risers" 
  # room 0.4
d11 $ gF3 $ gM3
  $ n "[f4 c5 gs4 c5 f4 bf4 d5 bf4]" 
  # s "FMRhodes1"
  # modIndex (range 0 8 "^30")
  # room 0.4
  # att 0.04 # rel 2
  # gain 1.3
