-- /home/pln/Downloads/PerfectSunriseLoop.gif
do
-- resetCycles
setcps (110/60/4)
let gMask = (midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>"))
let gMute1 = (midiOn "^73" (mask "f*16"))
let gMute2 = (midiOn "^74" (mask "f*16"))
let gMute3 = (midiOn "^75" (mask "f*16"))
let gM1 = gMask . gMute1
let gM2 = gMask . gMute2
let gM3 = gMask . gMute3
let lagTime = pF "lagTime"
let filterRange = pF "filterRange"
let width = pF "width"
let rq = pF "rq"
let modIndex = pF "modIndex"
d1 $ gF1 $ gMute2
  $ midiOn "^42"  (struct "t t t*<1!6 2 1> t*<1!7 2>")
  $ midiOff "^42" (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 $ gM1
  $ midiOn "^43" (<|"~ s ~ s*<1 2>")
  $ midiOff "^43" (<| "~ s")
  $ "[vec1_snare:4]" 
  # lpf 1800
  # gain 1.3
d6 $ 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))
d3 $ gF1 $ gM1 
  $ midiOn "^76" ((# "dr") . (|* gain 1.45))
  $ midiOff "^44" (mask "t(4,8,1)")
  $ "hh*[16 . <16!3 <[16 8] 8>>]"  
  # "vec1_claps" 
  # cut 3
  # legato (slow 13 $ range 0.3 2 saw)
  # delaybus 31 (range 0 1 "^52") # delayt "e" # delayfbbus 32 "^32"
d4 $ gF2 $ gM3 -- La GROSSE BASSE MOLOTOVAH
  $ midiOn "^89" (ply "<4 4 2 4> <4 8>")
  $ midiOn "^57" (chop 4)
  $ midiOn "^17" ((# n 1) . (|* gain 0.8))
  $ "molotov:0/2" 
  # cut 4
  # gain 1.8
  # room 0.4  # sz 0.9 # dry 1.3
  # crushbus 41 (range 16 2.5 "^53")
  # octerbus 42 (range 0 0.8 "^33")
d5 $ gF3 $ gM3 
  $ midiOff "^58" (mask "t(8,16)")
  $ midiOn "^90" (ply 2)
  $ note (
    "a4!15 <<a4!4 c4!3 d4> <g4 c5>>" 
    -- + "[0*16]" 
    -- + "[0,<~!3 12>]"
    ) 
    # "acidOto3092" 
    # gain 1.5
    # room 0.3
    # filterRange (range 0 7 "^18")
    # width (range 0.05 0.5 "^34")
    # crushbus 51 (range 16 3.5 "^54")
    # legato 0.25
    # rq 0.3 -- TODO EXPLORE <3
d7 $ gF3 $ gM3 
  $ midiOn "^35" ( -- A-a-a-a-ACID!
    chop 8 . (# n 7)
  )
  $ midiOn "^91" ( -- DANSE COMME UN CHEVAL
    fast 2 . slice 4 "<[0 1 2 3] [0 1 2 3]  <[0 1 2 3] [0 2 3 0]> [0*4]>" . 
    (# n 5)
    )
  $ midiOff "^91" (
    superimpose (mask "<f!3 t>" . (# "molotov:3"))
  )
  $ "molotov:4/4" 
  # cut 7
  # crushbus 71 (range 16 3.5 "^55")
  # gain 1.4# room 0.4 # sz 0.8
d8 $ gF1 $ gM1 
  $ midiOn "^60" (mask "t(4,8,1)" . chop 4)
  $ chop 8 
  $ midiOn "^36" (loopAt 2 . (# n 45)) -- Break Orleans
  $ midiOn "^56" (loopAt 2 . (# n 16)) -- Classique 
  $ loopAt 1 
  $ "jungle_breaks" # n "71 <71!3 <72 [72 71*2]>>" 
  # cut 8
  # gain 1.5
d9 $ gF3 $ gF3 
  $ (0.125 ~>)
  $ "molotov:2/2" 
  # cut 5 
  # octersub 2
  # room 0.4 # sz 0.4 # dry 1.5
  # gain 1.5
d11 $ gF2 $ gMute3 -- Menace de retour
    $ slow 2 
    $ whenmod 32 24 
      (fast 4 . (>| note ("[a3 <d3 e3 f3 g3>]" + "[0,12]")))
    $ note "<[a3@15 <as3 as3 c4 d4>]>"
  -- $ someCyclesBy "<1!16 1!32 0!16>" (>| note "<b3 ~ ~ <[~!7 c4] [~!5 c4 ef4 <c4 fs4>]>>")
  -- Variante Adrianesque
  -- $ someCyclesBy "<0!16 1!32 0!16>" (>| note "<b3 ~ ~ [ c4@2 ~ . ef4 fs4 c4]>")
  -- Variante Adrianesque Folle
  -- $ someCyclesBy "<0!16 1!32 1!12 0!4>" (>| note "<b3 ~ [g4 a4 b4 a4 es4 a4 fs4 a4 c4] [~ ~ as4 ~]>")
  -- Variante Adrianesque Folle2
  -- $ someCyclesBy "<0!16 1!32 0!12 1!4>" (>| note "<[b3 ~] [as3 bs3 g3 cs4 ~ d4] [~ gs4 ~ ~] [~ ~ [as4 as4] ~]>")
  # "90s_synatm:10"
  # room 0.3 # sz 0.8
  # gain 2
  # att 0.10
  # rel 10
  # crushbus 101 (range 16 3.5 "^14")
  # legato 2
  # cut 9  
