-- Monday fairy
do
setcps (120/60/4)
let gMute = (midiOn "^73" (mask "f*16"))
let gM = gMask . gMute
let maskDrum  = "t(5,8) . t(9,16)"
let maskDrumI = "f(5,8) . f(9,16)"
d1 $ gF1 $ gM1
  $ midiOn  "^41" (<| "k k k k")
  $ midiOff "^41" (<| "k . k(3,8)")
  $ "[techno:0,808bd:2,jazz]"
  # midiG' "^78" 0 1
d2 $ gF1 $ gM
  $ midiOn "^42" (<| "~ c ~ c")
  $ midiOff "^42" (<| "~ c")
  $ "cp"
  # midiG' "^79" 0 1
d3 $ gF1 $ gM
  $ mask "<f!8 t!24>"
  $ midiOn "^43" (const -- JIUUUUUUNGLE
    -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^76 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^76 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d3's own control with gSel.
    -- FIXME(#94) d3 drives more controls than the grid gives it (BT3 only — BL1-3 are the family mutes). ^76 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^76 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d3's own control with gSel.
    $ midiOn "^76" (# n 70)
    $ sometimesBy "^31" (ply "<2 <4 [4 8]>>")
    $ loopAt 4
    $ chop 8
    $ "jungle_breaks:10"
    # midiG' "^80" 0 1
  )
  $ "~ h ~ h*<1 1 2 1> ~ h ~ h*<1 2>"
  # "808cy" # n "<7!12 [7,8] [7,9] [7,10] [7,1]>"
  # legato 1
  # room 0.1 # dry 1.1
  # midiG' "^80" 0 1
d4 $ gF2 -- the bassy fright
  $ fix (|* gain 0.8) "bass2"
  $ note "<0 2 5 <7 8>>(<3 [3 5] 3 <3 5>>,8)"
  # "[bass2:4,bass3:0]"
  # att "<0.25 0.2 0.15 <0.125!3 0.5>>"
  # rel 10
  # lpf 200
  # room 0.4
  # sz 0.8
  # midiG' ("^81" - 0.35 * "^32") 0 1.2
  # distortbus 41 (range 0 1 "^32") -- FIXME: Meileur effet
  # lpfbus   42 (range 4000 500 "^32")
  # roombus  43 (range 0.4 0.14 "^32")
d5 $ gF3 -- The starry night
  $ whenmod 64 32 (superimpose ( -- Star rain
    (|+| note "0 12 0 <12 24>")
    . slice 4 "0 1 2 3 0 1 2 3*4"
    . (ply 2)
    . fast 2
    ))
  $ note (
    "<e5 a4 c5 <[d5 <d5 e5>]>>" -- Mélodie
    -- + 2 -- Calage
    + "0([3 5],8, [0 <6 0>])" -- Structure
  )
  # "organTonewheel4"
  # midiG' "^82" 0 0.8
  # room 0.4
  # sz 0.8
  # pan 0.7
d7 $ gM $ gF1
  $ midiOn "^59" (mask (cat [maskDrumI,maskDrumI,maskDrumI,maskDrum]))
  $ slice 4 "0 <1!8 0 0 0 1 0 1 0 1*2> 2 <3*<1 2 4 8> 3*<2 4 8 16> 3 [~ 3*<1 2>]>"
  $ "break:1"
  # cut 1
  # midiG' "^83" 0 1
d8 $ gM $ gF1
  $ midiOn "^60" (struct "t . t(<3 <5 [5 8]>>,8)")
  $ midiOn "^92" (ply "<[4 2 2 4] [4 8 4]> <8 8 16 [16 32]>")
  -- FIXME(#94) d8 drives more controls than the grid gives it (BT8 + BL8). ^59 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^59 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d8's own control with gSel.
  -- FIXME(#94) d8 drives more controls than the grid gives it (BT8 + BL8). ^59 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^59 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d8's own control with gSel.
  $ midiOn ("^59" - "^60") (mask (cat [maskDrum,maskDrum,maskDrum,maskDrumI]))
  $ chop 16 $ loopAt 4
  $ "break:3"
  # midiG' "^84" 0 1
  # cut 2
d12 $ gF3 -- Vocals with delay :sunglasses:
  $ whenmod 128 (128-16) (# n "<~ <37 38>>") -- Help me!
  $ whenmod 128 32 (# n "<~ <5 4>>") -- Mutters
  $ n "<~ <50!3 [50@1 51@2]>>" -- Ways to die / souls
  # "jungle_vocals"
  # cut 12
  # delay (slow 16 $ range 0.1 0.8 perlin)
  # delayfb 0.8 # delaytime "<0.25!3 0.5>"
  # midiG' "^17" 0 0.48
d9 $ gF3 -- Ambiance: verre entier
  $ note "<a3@2 <c4@2 [c4@3 d4]>>"
  # "90s_glassatm"
  # cut 9
  # pan 0.2
  # midiG' "^18" 0 0.45
d10 $ gF1 -- Ambiance: JUNGLE NOISES
  $ fix (
    (ply "<1 [1 [2 [4 [8 16]]]]>")
    . (# "jungle_fx:13")
    . (|* gain 0.8)
    ) "j3"
  $ fix (# "jungle_fx:14") "j2"
  $ fix (# "jungle_fx:8") "j1"
  $ stack [
  "<~!7 j1>",
  "<~!8 j3 j3 ~!3>",
  "<~!12 j2 ~!4>"
  ]
  # cut 10
  # midiG' "^19" 0 0.5
d11 -- Nappes background
  -- $ (0.125 ~>)
  $ note "<e4 <d4 [d4 c4]>>/2"
  # "jungle_pads:9"
  # legato 2
  # cut 6
  # midiG' "^20" 0 0.6
