-- Fais-donc le tour du ciel
do
-- resetCycles
setcps (134/60/4)
let gDJF1 = (someCyclesBy "<1!16 0!48>" (# djfbus 1 (slow 16 $ range 0.15 0.5 saw)))
let gDJF2 = (whenmod 32 24 (# djfbus 1 (slow 8 $ range 0.5 0.2 saw)))
let gDJF3 = (whenmod 64 32 (# djfbus 2 (slow 16 $ range 0.5 0.8 saw)))
let g = gDJF1 . gDJF2 . gDJF3
let lineTourDeFrance1 = "<[f3@2 bf3 c4 f4@3 d4] [f4 g4 c4 d4 f4@2 bf4@2] <af4 c5>@2>"
let lineTourDeFrance2 = "<[g3@2 c4 d4 g4@3 e4] [g4 a4 d4 e4 g4@2 c5@2] <bf4 [bf4@2 ef5 c5@13]>@2>"
d1 $ g
  $ "<k!8 [k k k <k [~ k] k k*2>]!24>"
  # "jazz"
  # gain 1.05
d2 $ g $ "~ <~!7 s!25>"
  # "[snare:45,cpu:3]"
  # note ("<0!3 <-2 -4>>")
  # gain (0.85 * "<1!7 <0.9 1.1!3>>")
d3 $ g $ "dr*[4!3 <8 <16 [16 <8 32>]>>]"
  # gain (slow 16 $ range 0.5 0.8 sine)
d4 $ g
  $ mask "<t(1,4)!4 t!28>"
  $ whenmod 4 2 (>| note lineTourDeFrance2)
  $ note (lineTourDeFrance1)
  # "bassWarsaw"
  # lpf 500
  # pan 0.1
d5 $ g
  $ mask "<f!8 t!24 f!16 t!16>"
  $ whenmod 4 2 (>| note lineTourDeFrance2)
  $ note (lineTourDeFrance1
    |+| "[0 7 12 0]*2")
  # "FMRhodes1"
  # pan 0.9
  # room 0.5 # sz 0.8
  # lpf 5000
  # gain 1.3
  # cut 4
d8 $ g
  $ mask "<f!16 t!16>"
  $ mask "<t(<3!4 5!3 8>,8) t(<1 3 1 5 1 3 8 8>,8)>"
  -- $ chop 16
  $ slice 4 "<0!8 [0 1 2 3]!8 [0 1 2 3 0 1*<1 2> 2*<1 1 2 2> 3*<1!3 4>]!16>"
  $ loopAt 4
  $ "jungle_breaks:30"
  # gain (slow 8 $ range 0.6 0.85 saw)
  # cut 8
d7 $ g
  $ fix (|* gain 0.9) "jungle_fx:19" -- Horn
  $ fix (|* gain 0.8) "jungle_fx:33" -- Detroit
  $ stack [
  "<~!7 jungle_riffs:19>",
  "<~!2 jungle_riffs:33 ~>"
  ]
  # panbus 71 (slow 32 $ range 0.8 0.2 sine)
  # gain 0.6