-- /home/pln/Downloads/PerfectSunriseLoop.gif
-- Chère Mireille,
-- <3
do
-- resetCycles
setcps (120/60/4)
let modIndex = pF "modIndex"
d1 $ gF1 $ gM1
  $ midiOn "^41"  (struct "t t t*<1!6 2 1> t*<1!7 2>")
  $ midiOff "^41" (struct "t . ~ t ~ <~!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 s*2 s [s s <~ s> <s ~>]>")
  $ midiOff "^42" (<| "~ s")
  $ "cp" 
  -- # note "-2"
  # gain 1.8
d6 $ gF1 $ gM3 -- Cymbales sol
  $ midiOn "^58" (<| "~ cy ~ cy ~ cy ~ <cy [~ cy]>")
  $ midiOff "^58" (<| "~!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))
d3 $ gF1 $ gM2 
  -- 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" ((# "dr") . (|* gain 1.45))
  $ midiOff "^43" (mask "t(4,8,1)")
  $ "hh*[16 . <16!3 <[16 8] 8>>]"  
  # "vec1_claps" 
  # cut 3
  # legato (slow 13 $ range 0.3 2 saw)
  -- FIXME(#54) d3 drives more controls than the grid gives it (B3 only (C1-3 are the family gF filters)). ^32 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 d3's own control.
  -- # delaybus 31 (range 0 1 "^31") # delayt "e" # delayfbbus 32 "^32"
d4 $ gF2 $ gM3
  $ midiOn "^44" (>| n "<3 5 <5 5*2> <5!3 5*4>>")
  $ midiOn "^76" (>| n "4*[2 <2 4>]")
  $ n ("<3!8 <[3 4]!7 3>!8>") 
  # "nujazz_bassp120" 
  # cut 4 
  # room 0.4
  # pan 0.6
  # gain 1.5
  # delay 0.2
  # room 0.5
  # crushbus 41 (range 16 2.95 "^32")
  # octerbus 42 (range 0 1.5 "^52")
  # octersubbus 43 (range 0 1.5 "^52")
d5 $ gF2 $ gM3 -- ACID BASSSSS
  $ midiOn "^57" (off 0.125 (|+ note "<0!3 [7!3 5]>"))
  $ note ("c3 c3 . [bf2 c3] ~ <ef3 [f3 ef3]>@2" +12)
  # "vec1_acid:27" -- BASELINE 
  -- # "vec1_acid:28" |+ note 12  -- ACID AIGU
  # "vec1_acid:41" -- BASSLINE <3 
  # cut 5 
  # gain (1.5 * "^33")
  # pan 0.2
  # cut 5
  # gain 1.4
  -- # octersubbus 51 (range 0 4 "^54")
  # octerbus 52 (range 0 1.8 "^53")
  -- # octerbus 51 (range 0 1 "^33")
  -- FIXME(#54) d5 drives more controls than the grid gives it (B5 + C5). ^54 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 d5's own control.
  -- # crushbus 51 (range 16 2.5 "^54")
d7 $ gF3 $ gM3 -- TODO: DEVELOP THE GUITAR 
  $ midiOn "^59" (off "h" (# cut 71))
  $ slow 2 $ n "<1!4 2 2 [1 2] 2*2 3 3 4 3 5!8>" 
  # "nujazz_guitar120" 
  # cut 7
  -- # pan 1
  # pan "<0.2 0.8>"
  # room 0.8
  # dry 1.1
  # gain 1.8
  # sz 0.8 
d8 $ gF1 $ gM2 
  $ midiOff "^60" (mask "t(4,8,1)")  -- House d'Orléans <3
  $ chop 8 
  $ loopAt 2
  $ midiOn "^36" (loopAt 2 . (|> "jungle_breaks:75"))  -- Drums de Paname !
  $ midiOn "^56" (|> "jungle_breaks:45")  -- House d'Orléans <3
  $ slice 4 "0 1 2 <3 3?>" 
  $ "nujazz_beats120:1"
  # gain 1.4
d9 $ gF3 $ gM3 -- Giorgio synth guide souverain
  $ note ("<<c4!8 g3!8> <[~!3 ef4] [~ ef4]>>")
  # "giorgio_syn:13" 
  # cut 9
  # room 0.3
d12 $ gF3 $ gM3 -- Abeilles du futur quand on les remplacera par des nanobots
  $ mask "<t f>" 
  $ n "~ <1 2 3 4>"
  # "nujazz_fx120" 
  # gain 1.1
  # octerbus 101 (slow 13 $ range 0 1.5 saw)
  # roombus 102 (slow 12 $ range 0 0.8 saw)
  # octersubbus 103 (slow 32 $ range 0 2.5 saw)
  # cut 12
  # delay (slow 16 $ sine) 
  # delayt 0.25 
  # delayfb 0.6
d11 $ gF3 $ gM3 
-- $ n ("<3!8 <[3 4]!7 3>!8>") 
  $ slow 2 $ n "<75 76 77 78>" # "nujazz_keys120"
  # cut 11 # room 0.4
  # gain 0.9
  # pan (slow 4 $ "<0.15 0.85>")
