-- Toujours plus, Toujours
-- Les cours montent au firmament
-- Mais la tension scrute
do
-- resetCycles
let modIndex = pF "modIndex"
setcps (75/60/4)
-- # Amin11, D7, Fmaj7, Cmaj7 - Pure bliss
let chords = "<[a,c6,e6,g6,b6,d7] [fs,a,c6,d6,fs6,a6,c7] [f,a,c6,e6,f6,a6,c7] [c,e,g,b,e6,g6,b6]>"
let chordsN = "<[a,c6,e6,g6] [<fs f>,a,c6,d6] [f,a,c6,e6] [c,e,g,b]>"
let g = (# djfbus 1 (slow 32 $ range 0.15 0.85 cosine))
d1 $ g $ "k . [<~ k ~ ~> <~ ~ k k>] <k!3 k*<2 4>>" # "jazz"
  # gain 1.1
  # att 0.1
  # rel 10
d2 $ g
  $ "~ cp"
  # hpf 4000
  # gain 0.8
d3 $ g
  $ ply "8 <8 8 4 <8 [4 8]>> . 16 [32 <8 <16 32>>]"
  $ "drum:2"
  # cut 3
  # gain 0.85
d4 $ g -- Base arps
  $ whenmod 64 32 (superimpose (
    struct "t t t t <~ t> <t t*2>"
    . arp "converge"
    . (# modIndex 2.8)
    . (# hpf 2500)
    . (|- note 12)
  ))
  $ note (
    chords - 24
    )
  # "FMRhodes1"
  # att 1 # rel 2
  # modIndex 0
  # room 0.8
  # dry 1
  # sz 0.2
  # gain 0.95
d5 $ g -- Bassline
  $ ply "1!3 <2 [2 4]>"
  $ note (arp "<updown!3 <downup updown>>" $ chordsN - 36)
  # "bassWarsaw"
  # gain 1.3
  # pan 0.2
  # cut 5
d6 $ g -- Angel in the Wire
  $ mask "<f!3 t f!12 t!6 f t f!8 t!16>"
  $ note ("<c <d!4 ~!2 d d> <g c g c ~ ~ g c> <a a4>>")
  # "90s_synatm:2"
  # cut 6
  # pan 0.9
  # room 0.5
  # sz 0.5
  # dry 0.8
  # gain 0.8
d9
  $ chop 8
  $ loopAt 2
  $ "break:20"
  # gain (slow 16 $ range 0.6 0.9 saw)
d10 $ g
  $ fix ( -- Trainwreck
    (mask "<f!16 t!48>")
    . (|* gain (slow 16 $ range 0.36 0.7 cosine))
    ) (n "7")
  $ n (stack [
  "2 . <~ 2> <~!4 2!4>*<1!8 2!8>", -- snarish part
  "~ <~!7 3>", -- Whoosh hats
  "[~ 7]*<4!3 8>",
  ""
  ]) # "auto"
  # gain 0.9
