-- region Touchés par la grace: techno-gospel
-- Tags: Techno, gospel, funk
resetCycles
-- endregion

do
  unsolo 1 -- Kick regulier degradé
  unsolo 2 -- Cymbales gravitantes
  solo 3 -- Drumroll
  unsolo 4 -- Mad Bassline discrete
  solo 5 -- Lead choir
  unsolo 7 -- Claps
  setcps (120/60/4)
  solo 10 -- NOISE
  d10 $ funk_noise
  d1 -- Kick regulier degradé
    $ whenmod 16 12 (mask "t(1,4)") -- Respire
    -- $ whenmod 16 8 ( -- Double degradé
        -- sometimesBy "<0!2 0.25 [0.25 0.5]>" (fast 2 . degradeBy 0.2))
    -- $ whenmod 8 6 (# lpf 200)
    $ "k k k <k k*[1|2|3|4]>"
    # "[kick:5,house]"
    # note 2
    # gain 0.65
  d2 -- Cymbales gravitantes
    $ whenmod 16 8 (jux (rev . (hurry "<2!3 0.5>")))
    $ degradeBy "0 <0.5!6 0.25!2>!7" $ "ho:1*4 hc:3*4"
    # note ("<0!<3 2> -4 -8 <[-8 -4] -12>>")
    # room 0.2 # sz 0.4
    # pan (slow 16 $ range 0.8 0.4 sine)
    # gain (slow 8 $ range 0.45 0.55 sine)
  d3 -- Drumroll ma foi bien classique
    $ fast "<4 8 [8 . 4 8] 8 <16 [16 4]>>"
    $ "dr"
    # pan (slow 16 $ range 0.9 0.4 cosine)
    # gain (slow 8 $ range 0.65 0.8 sine)
  d4 -- Bassline "maybe mad smirk smirk"
    $ loopAt 2
    $ slice 8 (
      stack [
      "0 1 2 3 4 5 6 7*<1 2 4 1>" -- TODO ','' then stack
      -- "0(3,8)", -- Megamask!
      -- "0 0 0 0", -- MULTIMASK!
      -- "<0 1 2 3 4 5 6 7>*8" -- TODO Manual Danse des masques!
      ]
      )
    $ s "fbass:8"
    # gain 0.75
    # cut 6
  d5 -- Chopped choir
    $ whenmod 32 0 (slow 2) -- TODO end: Rarefy
    $ slice 8 (
      whenmod 16 12 (|> "<0!2 2!2>*8") $
      whenmod 16 8 (|> "0*4") $
      -- "0 1 2 3" -- Welcome!
      -- "0 <1!2 0!2> <2 7 6 3> <3 5>" -- WELCOME
      "0 1 <0 2> [3 4]" -- Choeurs fous!
    )
    $ every' 4 3 (superimpose (# n 1) . (# legato "<1!3 2>"))
    $ "pray"
    # legato 1
    # pan "0.4 0.6"
    # gain 0.55
  d7 -- Claps répartis
    $ jux (# lpf 2000)
    $ note "<-4!3 -8>" # "clap"
    # hpf 2000
    # gain (range 0.65 0.85 perlin)
    # pan (range 0.3 0.7 perlin)


once $ s "fbass:10" # gain 0.8