do
setcps (90/60/4)
let gF1 =  (# djfbus 1 (range 0.05 0.95 "^49"))
let gF2 = (# djfbus 2 (range 0.05 0.95 "^50"))
let gF3 = (# djfbus 3 (range 0.05 0.95 "^51"))
let gMask = (midiOn "^13" (mask "t . <f t f <f t>> <t f f <t f>>"))
let gMute = (midiOn "^73" (mask "f*16"))
let gMute2 = (midiOn "^74" (mask "f*16"))
let gM = gMask . gMute
let gM2 = gMask . gMute2
let gLPF = whenmod     64 48 (# lpfbus 4 (slow 16 $ range 20000 200  saw))
let gLPFSoft = whenmod 64 48 (# lpfbus 5 (slow 16 $ range 20000 2000 saw))
let chorus = pF "chorus"
let lagamount = pF "lagamount"
let dec = pF "dec"
let sus = pF "sus"
let cutoff = pF "cutoff"
d1 $ gF1 $ gMute -- la Conviction
  $ midiOn "^41" (<| "k k k <k!3 k*2>")
$ midiOn ("^42" - "^41") (<| "<k k(<3!3 [3 5]>,8)>")
  $ midiOff ("^41" + "^42") (<| "<k ~>")
  $ "[techno:0,808bd:2,909,kick:4]"
  # lpf 200
  # midiG' "^78" 0 1.2
d2 $ gF1 $ gMute2 -- Snare décalé
  $ "~ . <<s [s*2 ~ .  s]> s!2 [s . ~ s*2]>"
  # "[clap:1,snare:48]"
  # lpf 5000
  # midiG' "^79" 0 1.2
  # pan 0.4
d3 $ gF1 $ gM -- La Pluie
  $ midiOn "^44" (striate "2 <2 16> . 4 <8 <16 [2 1]>>")
  $ midiOn "^76" (ply "<2 4>")
  $ chop 16
  $ loopAt 2
  $ "jungle_breaks:0"
  # room 0.2
  # pan 0.9
  # cut 3
  # midiG' "^80" 0 1.2
d5 $ gF2 -- La Basse intention
  $ sometimesBy "^13" (# note "c")
  $ midiOn "^89" (ply "<8 16 [16 32] [32 64]>")
  $ "90s_matrix:0"
  # note (slow 2 "<gs f g c gs f g c gs f g c c g f gs>")
  # cut 5
  # panbus 52 (slow 16 $ range 0.6 0.95 saw)
  # crushbus 51 (range 16 2.5 "^53")
  # midiG' "^81" 0 1.2
d6 $ gF3 -- La Basse Réputation
  $ sometimesBy "^13" (# note "c")
  $ midiOn "^58" (>| note "<[c ef g@6] [gs c6 ef6@6] [ds6 g6 b6@6] [ef6 g6 c6@6]>")
  $ midiOff "^58" (>| note "<[gs c6 ef6@6]!2 [f gs <c5 c6>@6]!2 [g d6 f6@6]!2 [c6 ef6 g6@6]!2>")
  $ "bassWarsaw"
  # octave 2
  # chorus 0
  # crushbus 61 (range 16 2.5 "^54")
  # midiG' "^82" 0 1.2
  # pan 0.3
  # cut 6
  # room 0.4
d7 $ gF3 -- Les anges arpèges
  $ superimpose ((|+ note 12) . (|* gain 0.8) . (|+ pan 0.2))
  $ sometimesBy (1 - "^35") (# note "<[c, ef, gs]!2 [gs, c, f]!2 [d, g, b]!2 [ef, g, c]!2>")
  $ note "<[c ef gs]*<4 [4 8]>!2 [gs c f]*4!2 [d g b]*<4 [4 8 4]>!2 [ef g c]*[4 8]!2>"
  # "moogBass"
  # octave 4
  # pan 0.85
  # room 0.4
  # dry (slow 64 $ range 0.5 1.9 sine)
  # crushbus 71 (range 16 2.5 "^55")
  # midiG' "^83" 0 0.8
  # legato 1.25
d8 $ gF1 $ gM2 -- La Course
  $ sometimesBy "^56" (iter 4)
  $ midiOn "^92" ((ply "<2 [2|4]>") . chop "<8!3 16>")
  $ midiOn "^60" (chop 4 . (# "jungle_breaks:17"))
  $ midiOff "^60" (
    splice 16 (run "8 [<16 8> <16 8 8 16>] 8 <16 <8 8 8 4 8 16 8 <16 32>>>")
  )
  $ loopAt 2
  $ "jungle_breaks:12"
  # pan 0.7
  # cut 8
  # midiG' "^84" 0 0.8
d9 $ gF2 $ gM2 -- La Brulure
  $ sometimesBy "^13" (# note "c")
  $ midiOn "^92" (ply "2 <4 8>")
  $ midiOn "^60" (slice 4 "0 1 2 3*<1 2 <4 8> <4 16>>")
  $ chop 16
  $ slow 2
  $ note "<gs f g c>"
  # "meth_bass:3"
  # room 0.7 # dry 1 # sz 0.2
  # octersubsub (slow 16 $ range 0 1.4 saw)
  # octersub (slow 16 $ range 0 1.4 saw)
  # lpf (slow 16 $ range 4000 400 saw)
  # pan 0.2
  # midiG' "^20" 0 0.8
  # cut 9

once
  # gain 0.6
  # cut 9

-- Keys to PARADISE:
-- gs c ef
-- f gs c
-- g a d
-- c ef g

-- Backdoors:
-- c ef gs
-- gs c f
-- d g b
-- ef g c
once $ "junl"
