-- Study: Ableton Learning Music
-- https://learningmusic.ableton.com/chords/1-5-6-4.html


-- 1-5-6-4
let majPop = "<[d4,fs4,a4] [a3,cs4,e4] [b3,d4,fs4] [g3,b3,d4]>"



-- MAJOR POP!
do
let gF1 =  (# djfbus 1 (range 0.05 0.95 "^49"))
let gF2 = (# djfbus 2 (range 0.05 0.95 "^50"))
let gF3 = (# djfbus 3 (range 0.05 0.95 "^51"))
let gMask = (midiOn "^41" (mask "t . <f t f <f t>> <t f f <t f>>"))
let gMute = (midiOn "^73" (mask "f*16"))
let gMute2 = (midiOn "^74" (mask "f*16"))
let gM = gMask . gMute
let gM2 = gMask . gMute2
let majPop = "<[d4,fs4,a4] [a3,cs4,e4] [b3,d4,fs4] [g3,b3,d4]>"
setcps (80/60/4)
d1 $ gF1 $ gM2
  $ midiOn "^42" (<| "k k k [<k <~ k*2>> k]")
  $ midiOff "^42" (<| "k . <~!3 k> ~ <~ k*2> k")
  $ "[jazz,house,808bd:3]"
  # midiG' "^78" 0 1.4
d2 $ gF1 $ gM $ "~ [h2ogmsn:0,h2ogmsn:3,snare:40]"
  # pan 0.7
  # midiG' "^79" 0 1.4
d3 $ gF1 $ gM $ "hh*[8 <8!3 16>]"
  # midiG' "^80" 0 1.4
  # pan 0.2
d4 $ gF2
  -- $ (arp "up")
  $ note (majPop)
  -- $ note "<[a4,cs5,e5]>"
  # "bassWarsaw"
  # midiG' "^81" 0 1.4
  # crushbus 41 (range 16 2.5 "^53")
  # octersubbus 42 (range 0 2.5 "^33")
d8 $ gM $ gF3 $ loopAt 2
  $ midiOn "^20" (# n "22")
  $ midiOn "^92" (ply "<2 2 4 8>")
  $ whenmod 4 3 (slice 4 (run 8)) $ chop 8
  $ "jungle_breaks:42"
  # midiG' "^84" 0 1.4