resetCycles

do
setcps(120/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"))
d1 $ gF1 $ gM2
  $ midiOn "^42" (<| "k k k <k!3 <[~ k*<1!3 2>]!3 k*2>>")
  $ midiOff "^42" (<| "k ~ ~ [~ <~ k>]")
  $ "[jazz,house]"
d2 $ gF1 $ gM1 -- Surprise fourth fast snare
  $ midiOn "^43"  (<| "~ c ~ c")
  $ midiOff "^43" (<| "~ . ~ c*<1!3 <2!3 4>>")
  $ "[cp:1,rampleM1:10]"
  # gain 0.9
  # pan 0.6
  # room 0.84 # dry 0.95 # sz 0.1
  # lpf 4650
d3 $ gF1 $ gM1 -- Highest hats
  $ midiOff "^44" (slow 2)
  $ arp "up"
  $ midiOn "^76" (ply 2)
  -- $ "d(<8 10 12 <14 [16 32 [16 <16 32>]]>>,16,1)" -- FIXME IRREGULIER
  $ "d([16 <16 [8 <8 32 16 32>]>],32,0)" -- REGULIER :)
  -- # "[h2ogmsn:14]"
  # "[rampleS57:2]"
  # note (-12 + "3.5" + "e6")
  -- # cut 3
  # gain (0.7 * (range 0.85 1.05 (fast 4 perlin)))
  # pan 0.3
d4 $ gF2 $ gM3
  $ whenmod 32 16 (# legato "<h!4 q!4 e!6 s!2>")
  $ midiOn "^89" (off "e" (|+ note 12))
  $ note "<[e3@3 b2@2] [a3@3 e3@2] [f3@3 <c3 c4>@2] <[d3@3 b2@2] [b2@3 f3@2]>>"
  # "bassWarsaw"
  # crushbus 41 (range 16 2 "^53")
  # octerbus 42 (range 0 1.92 "^33")
  # pan 0.4
  # room 0.4 # sz 0.4
-- e b...a e4! f3 c4.. d3 b3
d5 $ gMute3 $ gF3
  $ midiOn "^58" (# n "12")
  $ midiOn "^90" (superimpose ((# cut 51) . (|* gain 0.8) . ply 8 . chop 8))
  $ n "<10!3 11 10!3 11 10!3 11 10!3 11>"
  # "nujazz_guitar120"
  # cut 5
  # pan 0.56
  # room 0.9 # sz 0.3
  # dry (range 0.1 1.9 "^34")
  # crushbus 51 (range 16 2 "^54")
d8 $ gF1 $ gM1
  -- $ midiOn "^60" (mask "t(8,16)")
  $ chop 16
  $ midiOn "^92" (ply "<2!3 [2 4]>")
  $ midiOn "^36" (loopAt 0.5 . (# n "50"))
  $ midiOn "^56" (loopAt 2 . (# n "<0!3 1 0 0 1 1>"))
  $ loopAt 2 $ "jungle_breaks:60"
  # gain 0.8
  # pan 0.7
d10 $ gM3 $ gF3
  $ mask "[t!3 f!2]"
  $ superimpose (|+ note 12)
  $ arp "<up!3 down>"
  $ note (
    "<[e3@3 b3@2] [a3@3 e4@2] [f3@3 c4@2] <[d3@3 b3@2] [b2@3 f3@2]>>"
    + "[0 12 <0!2 7 0> <12 24>]*4"
    + 0)
  # "moogBass"
  # legato 1
  # gain 0.5
  # room 0.9 # sz 0.8 # dry 0.4
  # pan (slow 4 $ range 0.05 0.33 saw)
d11 $ gM3 $ gF3
  $ superimpose (|+ note 12)
  -- $ arp "<pinkyup>"
  $ note (
    "<[b3@7 e3] [e4@7 a3] [c4@7 d4] <[b3@7 d3] [f3 b2]>>"
    -- + "[0 12 <0!2 7 0> <12 24>]*4"
    + 12)
  # "moogBass"
  # legato 1
  -- # gain 0.5
  # room 0.9 # sz 0.8 # dry 0.4
  # pan (slow 4 $ range 0.95 0.66 saw)

d3 $ "hh*8"

-- TODO KILL GRAVEYARD

d4 $ gF2 $ gM3
  $ note ("e3 <b2!3 <ef3 g3>>" |+| "[0 ~ ~ 0 ~ ~ 0 ~] [0 ~ ~ 0 ~ <~ 0> 0 <~!3 0>]")
  # crushbus 41 (range 16 3.4 "^53")
  # roombus 42 (range 0 0.4 "^33")
  # "bassWarsaw"
d5 $ gF3 $ gM3 -- Piano guide premier
  $ "nujazz_keys120"
  # n "<61!24 60!8>"
  # pan 0.8
  # roombus 51 (range 0.1 0.94 "^54")
  # lpfbus  52 (range 10000 400 "^54")
  # cut 5
  # gain 0.9
d11 $ gF2 $ gM3 -- Plucked doubts
  $ chop 16
  $ loopAt 2
  $ "nujazz_bass120"
  # n "<33!64 34!64>"
  # pan 0.3
  # cut 4
  # att 0.06 # rel 2
  # crushbus 41 (range 16 3 (slow 16 $ perlin))
d10 $ gF3 $ gM3
  $ someCyclesBy "<1!32 0!32>" (|+ note "<e g bf b>")
  $ someCyclesBy "<0!32 1!32>" (|+ note "<e b bf g>")
  $ note (
    "[0 12 0(<1!3 <3 [3 1]>>,5)]"
    + "[0,12]"
    - 12
  )
  # cut 10
  # "cpluck:4"
d7 $ gF1 $ gM1 -- SECOND BREAK!!?!
  $ midiOn "^91" (ply 2)
  $ midiOn "^55" (loopAt 1 . (|> "jungle_breaks:19"))
  $ midiOn "^59" (slice 8 (run "8 <8!3 16>"))
  $ chop 8
  $ loopAt 2
  $ "jungle_breaks:22"
  # pan "0.8 0.2"
d8 $ gF1 $ gM1 -- Le Beat, Nu
  $ midiOn "^60" (slice 8 $ run 16)
  $ midiOn "^92" (ply "2 <2 <4 [4 8]>>")
  $ chop 16
  $ midiOn "^36" (loopAt 0.5 . (# "jungle_breaks:6"))
  $ midiOn "^56" (# "jungle_breaks:24")
  $ loopAt 4
  $ n "<10!8 11!8 12!8 10!8>"
  # pan "0.2 0.8 0.2 0.8"
  # "nujazz_beats120"
  -- # pan 0.26
  -- # gain 0.9
  -- # octersub 1.2
  -- # octersubsub 2
  # cut 8
  # gain 0.9