-- TODO: Scratch intro? :lol:
once $ splice 2 "0" $ "scratch_short:12" # cut 1 # gain 0.8


do
setcps (92/60/4)
let gF1 =  (# djfbus 1 (range 0.05 0.95 "^49"))
let gF2 = (# djfbus 2 (range 0.05 0.95 "^50"))
let gMask = (midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>"))
let gMute = (midiOn "^73" (mask "f*16"))
let gM = gMask . gMute
let modIndex = pF "modIndex"
d1 $ gF1 $ gM -- Kick
  $ midiOn "^42" (struct "t . ~ t ~ ~")
  -- $ struct ("t <t!3 [~ t]> t <t!6 ~!2>") -- RUN!
  $ fix (|* gain 0.7) "jazz"
  $ fix ((|* gain 0.7) . (# "jazz") . (# n "<4 4 <3 3 4 4> 3>")) "sub"
  $ "[808bd,<808bd:4!2 808bd:3!2>,jazz]"
  # midiG' "^78" 0 1.2
  # pan 0.8
d2 $ gF1 $ gMask -- Snare
  $ midiOff "^43" (struct "~ ~ ~ t")
  $ midiOn  "^43" (struct "~ t ~ t")
  $ "808sd:6"-- "snare:5"
  # release 0.4
  # att 0.02
  # midiG' "^79" 0 1.5
d3 $ gF1 $ gMute -- Hats complément
  $ midiOn "^76" (ply "<2 4>")
  $ "~ h ~ <h!3 ~> ~ <~!8 h!8> ~ h"
  # "snare:51"
  # att 0.0125 # rel 2 # hpf 3000
  # pan 0.7
  # midiG' "^80" 0 1
d4 $ gF2 $ gMute -- Hats pirouette
  $ mask "<[t f] t>"
  $ "~ . [s [~ s] s ~ . ~]"
  # note "0 . [[0 [2 0] 0] . 0]"
  # "snare:51"
  # midiG' "^80" 0 0.8
  # pan 0.65
d5 $ gM $ gF2  -- BASSLINE!
  $ midiOn "^58" (|- note 12)
  $ mask "<t!3 t(<1 8>,8)>"
  $ midiOn "^90" ( -- FIRELINE
    off 0.5 (
      -- (# crush 6) .
  (|- note 12)
  . (# cut 51)
  . (# pan 0.8)
  . (# room 0)
  . (|* gain 0.9)
  ))
  $ note ("<e a4 d <g4 [c ~]>>"
    + "0 . [-2 0@3]" -- Algoritmic addition
    - 0) -- Scholar :nerd:
  -- $ note ("<e e e c>@6 d@2" - 24) -- Nice but is that it?
  # "FMRhodes1"
  # cut 5
  # legato 2
  # room 0.64 # sz 0.5 # dry 1
  # pan 0.2
  # midiG' "^82" 0  0 -- FIXME: DISABLED FOR CONCERT ;) 1.6
  # modIndex (range 0 2 "^54")
d6 $ gM $ gF1
  $ fix (|* gain 0.7) "cpu"
  -- $ sometimesBy "0 0.25" (mask "t . t(<3 5 8 1>,8)")
  $ "[hh,cpu:1]*8"
    # rel 0.5
    # att 0.5
    # lpf 6000
    # room 0 # dry 0
    # midiG' "^83" 0 1.6



d7
  $ midiOff "^91" (mask "f")
  $ note ("c" -7)
  # release 2
  # att 1
  # "pad:2"
  # midiG' "^83" 0 1
  # cut 7

once $ "organDonor" # cut 7 # gain 1.4

once $ "ikedaBass" # gain 2

d8 $ gM $ gF1
  $ midiOn "^92" (ply "<2!3 [<4 1> 1]>")
  $ chop 8
  $ loopAt 1
  $ "break:4/2"
  # cut 8
  # midiG' "^84" 0 1



-- Graveyard: other break
d8 $ struct "t([5 <<5 5 3 5> <10 5 10 16>>], 16)" $ chop 16 $ "break:1" # cut 2
  # pan 0.28
  # gain 0.3

-- t d t d t db t d