import Sound.Tidal.ParVagues.Control

-- This is a test ;)
--
do
setcps (160/60/4)
let gDJF =  (# djfbus 1 (range 0.1 0.9 "^49"))
let gFreqL = (# lpq (range 0 0.5 "^29"))
let gFreqH = (# hpq (range 0 0.5 "^30"))
let g32Bridge = whenmod 64 32 (|* gain (slow 16 $ range 0.85 1.1 saw))
let g = (gDJF . gFreqL . gFreqH)
d1
  $ g
  $ superimpose ( -- Undertone
    (|+ note "<12!3 8 12!2 8 4>")
    . (|* gain 0.9)
  )
  $ (|* gain "1!7 0.95")
  $ midiOn "^41" (<| "k k k <k!3 k*2>")
  $ midiOff "^41" (<| "b . ~ b ~ <~!3 b>")
  $ "kick:5"
  # midiG' "^78" 0 1.4
d2 -- Snare tchak!
  $ g
  $ g32Bridge
  $ whenmod 16 12 (struct "t*<4 4 8 16>")
  $ whenmod 16 4 (fast 2)
  $ "~ cp"
  # "[snare:40,snare:22]"
  # pan 0.55
  # note (range "-7" 7 "^51")
  # room 0.8 # dry 0.99 # sz 0.2
  # midiG' "^79" 0 1.2
d3 -- Running Hats
  $ g
  $ midiOn "^76" --BOUTON NASSIM
  (slice 8 ("<[0 .. 7]!3 [0 1 2 ~ . 0 1 2 ~]>") . (loopAt 1)
  . (>| "breaks125")
  . (|* gain 0.9)
  )
  -- $ degradeBy ("1 0 0 1!13" - "^52")
  $ midiOn "^44" (slow 2)
  $ midiOn "^76" (fast 2)
  $ "hh*[8 . 8 <16 8 4 [4 8]>]"
  -- # n "[0|0|0|0|1|1|3|3]*8"
  # midiG' "^80" 0 (1.7 + (slow 4 perlin/4))
  # room  (slow 8 $ range 0.2 0.45 saw)
  # sz    (slow 8 $ range 0.8 0.2 saw)
  # dry   (slow 4 $ range 0 2 perlin)
  # pan 0.6
  # cut 3
d4 -- Resolute Bass
  $ g
  $ midiOn "^57" ( -- Glitch vary end
    rev
  )
  $ slice 4 ("0 <~ 3> 0 1*<1 2 4 8>")
  $ loopAt 4
  $ chop 16
  $ "fbass:43"
  # pan 0.15
  # room 0.25 # sz 0.1
  # crushbus 41 (range 16 1.25 "^53")
  # midiG' "^81" 0 1.6
  # cut 4
d6 -- Opiniatre guitare
  $ g
  -- $ someCyclesBy "<t!16 f!16>" (segment "<8 <4 2>>")
  $ midiOn "^90" (slice 2 (run "<4 <2 8>>"))
  $ "fguitar:40/2"
  # crushbus 51 (range 10 3.5 "^54")
  # midiG' "^82" 0 1.2
  # cut 6
d7
  $ superimpose (
    (# cut 71)
    . arp "up"
    . (|+| note ("[c, ef, f, c6]" + 12))
  )
  $ note ("<<c!2 ef!2> c <ef f> <c!7 b>>")
  # "moog"
  # midiG' "^83" 0 1.5
  # cut 7
d9 $ g -- CLAPS!
  $ midiOff "^60" (mask "<f!8 t!124>")
  $ midiOn "^92" (fast 4)
  $ "~ clap:2"
  # midiG' "^84" 0 1.5

once $ "forgan:24"
  # gain 1
  # cut 3

once $ "fguitar:59" -- sometimes 43
  # gain 1.2
  # cut 5



d6 $ "seawolf:0/4"
  # cut 6
  # gain 0.75

once $ "dr" # gain 1