do
-- resetCycles
setcps (90/60/4)
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 gMute3 = (midiOn "^75" (mask "f*16"))
let gM1 = gMask . gMute
let gM2 = gMask . gMute2
let gM3 = gMask . gMute3
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"))
-- Modified blues to add a seventh with bflat
let blues = ["c", "f", "c", "c", "f", "f", "c", "c", "g", "f", "c", "c", "g", "f", "bf", "c"]
let gDJF = (# djfbus 1 (slow 32 $ range 0.2 0.8 saw))
let gDJF = id
d1 $ gF1 $ gM2
  $ midiOn "^42" (<| "k k k <k k*2>")
  $ midiOff "^42" (<| "k . k(3,8)")
  $ fix ((|* gain 0.6) . (# hpf 200)) "jazz"
  -- $ "<k!16 k*2!16 k*4!16 [k . k(3,8)]!16>"
  $ "[jazz,cpu]" # gain 1
  -- # midiG' "^78" 0 1.5
d2 $ gF1 $ gM1
  $ midiOff "^43"  (<| note ("~ ~ ~ <~ ~ -2 -2>. 0" - 8))
  $ midiOn "^43"  (<| note ("~ 0 ~ 0"))
  $ "[snare:60,snare:21,snare:51]"
  # gain 0.56
  # pan 0.3
  -- # room 0.2 # dry 1.1 # sz 0.8
d3 $ gF1 $ gM1
  $ midiOn "^44" (ply 2)
  $ midiOn "^76" (ply 2)
  $ "drum:2*[4 <4 <8 16>>]"
  -- $ "drum:2*[6 12]"
  # att 0.03
  # rel 0.9
  # pan 0.3
  # gain 0.85
d8 $ gF1 $ gM1
  $ midiOn "^92" (ply 2)
  $ chop 8
  $ midiOn "^36" (loopAt 1 . (# "break:5"))
  $ midiOn "^56" (loopAt 1 . (# "break:9"))
  $ loopAt 2
  $ "jungle_breaks:8"
  # gain 0.8
  # pan 0.7
d4 $ gF2 $ gM3
  $ midiOn "^57" (|+| note "0 <7 7 12 12>(3,8) 0 <7 12>([5 <3 2>],8)")
  $ midiOn "^89" (superimpose (|+| note "[0 0(<3!3 5>,8)]"))
  $ note (
    cat blues + "[0]"
  )
  -- # "bass3:4"
  -- # "modalMarimba" |+| note "0*4"
  # "bassWarsaw" |- note 24
  # octersubbus 41 (range 0 2 "^53")
  # pan 0.3 # crush 16
  -- # room 0.1
  -- # voice 0.8
  -- # cut 1
  # gain 1.075
  # lpf 300
d5 $ gF3 $ gM3
  $ swing 4 -- TODO Replace with sampled guitar wahwah
  $ arp "updown"
  $ note (
    cat (blues) + "c'maj'4"
    + 12
  )
  # "cpluck:2"
  # pan 0.3
  # cut 5
  # gain 1.075
  # lpf 300
d10 $ gF3 $ gM3
  -- $ superimpose (|+| note "[0 0(<3!3 5>,8)]")
  $ note (
    cat blues + "[0*4]"
  )
  # "moogBass"
  # pan 0.7 # crush 16
  # cut 10
  # gain 0.75
  # lpf 300


-- TODO Recover this guitar and make it midi-agnostic
d5 $ gF3 $ note (
  "<0 [0, [~@3 <2 0 0 2>@3 0@2]] [0@4 0@2] 0([1 3],8)>"
  -- TODO: Pk pas la reecrire offbeat plutot que onbeat
  -- "0(5,8)"
  |+| cat blues
  - 3.25 -- Decalage au do
  -- + 12
  )
  # cut 51
  # room 0
  # crushbus 51 (range 16 3 "^54")
  # "come_guitar:0"
  # midiG' "^82" 0 1.7


once $ "cpluck:3"