-- url: "/home/pln/Downloads/PerfectSunriseLoop.gif"

-- À Mon Amour
-- <3
do
resetCycles
setcps (120/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 modIndex = pF "modIndex"
d1 $ gF1 $ gM2
  -- $ mask "t t t f"
  $ 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
  # cps ((range 60 180 "^29")/60/4)
d2 $ gF1 $ gM1
  $ midiOn "^43" (<|"~ s ~ s*<1 2>")
  $ midiOff "^43" (<| "~ s")
  $ "[snare:24]"
   # gain 1.4
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 -- Bassline faite main avec un violoncelle californien
  $ midiOn "^89" (struct "t*16")
  $ midiOn "^57" (struct "t(<3 5 5 7>,8)")
  $ note ("<<[b3@5 a3 b3 a3] <[b3@7 a3] [b3@5 d4@2 a3]>> [e3@7 b3]>")
  # stack [
  "bass" # lpf 500,
  "bass" # cut 41 # crushbus 41 (range 16 4.5 "^53") # bandf 500 # gain 1.2,
  ""]
  # "cpluck" |+ note 12
  # octerbus 42 (range 0 0.8 "^33")
  -- # octersubbus 43 (range 0 2.5 "^33")
  # cut 41
  # lpf 20000
  # gain 1.4
d5 $ gF3 $ gM3 -- Piano nostalgique, temps inexorable
  $ midiOn "^90" (superimpose ((# cut 51) . (# delay 0.95). (# delayt 0.125) . (# delayfb 0.7) . (# room 0) .(|* gain 0.8)))
  $ stack [
  midiOn "^58" (# silence) $ slow 2 "<begin ~ begin ~ begin ~ ~ ~>/2" # cut 51 # begin 0 # end 0.2 # pan 0.4, -- Main piano
  midiOn "^58" (# silence) $ slow 2 "<~ mid ~ mid ~ mid ~ ~>/2" # cut 52 # begin 0.25 # end 0.6 # pan 0.4, -- side piano
  "<~!24 end!8>" # begin 0.75 # end 1 # cut 53  # gain 0.8 # pan 0.9, -- ENDING <3
  -- midiOff "^58" (# silence) $ (0.25 ~>) $ (# hpf 1200) ("<p1 ~>") # cut 54, -- Filtered delayed echoes
  ""
  ]
  # "rhadamanthe_melo:1"
  # crushbus 51 (range 16 2.7 "^54")
  # room 0.4
  # gain 1.3
d6 $ gF1 $ gM1 $ chop 8 -- Je t'avais oublie toi <3
  $ loopAt 1
  -- Je t'oublie trop souvent :(
  $ "breaks165"
  # cut 6
d8 $ gF1 $ gM1 -- Break multi-facette, assez complexe, comme chacun d'entre nous
  $ midiOn "^60" (mask "t(4,8,<1!3 0>)" . chop 8)
  $ midiOn "^36" (id . (loopAt 0.5 . (# "jungle_breaks:130")))
  $ midiOn "^92" (mask "t(16,32)" . ply "2 2 <4 8 16 16> 2")
  $ midiOn "^56" (loopAt 2 . (# n 141))
  $ chop 16
  $ loopAt 2
  $ "jungle_breaks:1" # cut 8
  # gain 1.4
d9 $ gF3 $ gM3
  $ note ("<e e c b4>/2" - "e")
  # "rhadamanthe_melo:4"
  # legato 4
  # rel 2
  # sus 2
  # room 0.6 # sz 0.6  # lpf 2000
d11 $ gM3 $ gF3-- Intro doux piano
  $ gF3
  $ whenmod 8 6 (slice 2 "0*2")
  -- . (# att 0.02) . (# sus 2) . (# rel 4) . (# legato 4)
  $ chop 8
  $ "nujazz_keys120:35/4"
  # cut 11
  # room 0.7 # sz 0.7 # dry 1
  # delaybus 111 "^30"
  # delayt ("<2!3 3>"/3) 
  # delayfb 0.5 
  # gain 1.3
d12 $ gF1 $ gM1 $ "hh(3,8) hh(3,8)" #  "h2ogmhh"
d10 
  $ mask "<f!24 t!8>"
  $ loopAt 8 
  $ "risers" 
  # cut 10
  # room 0.4 
  # dry 1.4
  # octersubsub 0.5
  # gain 0.8
