
-- Intro 8 / Verse 16 / Chorus 16 / Verse 16 / Chorus 16 / Outro 8
do
-- resetCycles
setcps (120/60/4)
let manualDJF = (# djfbus 1 (range 0.05 0.95 "^49"))
let g = manualDJF
-- let whenIntro = someCyclesBy  "<1!8 0!32 0!32 1!8>"
-- let whenVerse = someCyclesBy  "<0!8 1!16 0!16 1!16 0!16 0!16>"
-- let whenChorus = someCyclesBy "<0!8 0!16 1!16 0!16 1!16 0!16>"
-- Tentative: Manual verse/chorus variations
let whenVerse = midiOn "^57"
let whenChorus = midiOff "^57"
let whenIntro = midiOn "^89"
d1 $ g
  $ fix (|* gain 0.85) "808bd"
  $ "[jazz,808bd:3]*4"
  # midiG' "^78" 0 1
d2 $ g $ stut "[1|2|4]" 0.5 "e"
  $ "~ electro1" # n "<2!3 3>"
  # room 0.2 # sz 0.5
  # pan 0.4
  # midiG' "^79" 0 1.2
d3 $ g
  $ midiOn "^76" (ply 2)
  -- $ mask "<f!4 t!12 f!4 t!12 f!8 t!8 f!12 t!4>"
  $ midiOn "^44" (ply "<1 2> <2 2 [2 4] 1>")
  -- $ whenVerse (mask "t <t!3 f>")
  -- $ whenVerse (mask "t <t!3 f>")
  $ "[~ h]*4" # "[electro1,hh]"
  # midiG' "^80" 0 1
d4 $ g
  $ midiOn "^58" (# "lady_fx")
  $ whenIntro (# n "0") -- INTRO: AAAA`
  $ whenVerse ((# n "<0 0 0 0 1 1 2 2>"))  -- VERSE: AA AA BB CC
  $ whenChorus (
    (fix (mask "<t f>") (n 6))
    . (# n "<3 3 4 4 5 5 3 3 3 3 4 4 5 5 6 6>")) -- CHORUS: ABCA ABCD
  $ "lady"
  # cut 4 # gain 0.8
  # pan 0.7
  # ringbus 44 (range 0 1 "^17") # ringf 0.5
  # relbus 42 (range 10 1 "^33") # sz 0.6 -- Room on low release
  # roombus 43 (range 0 0.4 "^33") # sz 0.6 -- Room on low release
  # midiG' "^81" 0 0.8
d10 $ g
  $ mask "<f!7 t>" -- DEBUG CUE every 8 -> Chorus<>VERSE
 $ "h2ogmcy ~ ~" # n (slow 8 $ "<1 2 3 4>")
 # midiG' "^84" 0 0.8
 # pan 0.3
d9 -- DEBUG CUE Voice
  $ ("0.125" <~)
  $ off "h" ((|* 0.8) . (# pan 0.8))
  $ "numbers"
  # n "<1 2 3 4 5 6 7 8>"
  # pan 0.3
  # midiG' "^83" 0 0.8
