-- Octobre Jaune
resetCycles

do
setcps (117/60/4)
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 gMute3 = (midiOn "^75" (mask "f*16"))
let gM1 = gMask . gMute
let gM2 = gMask . gMute2
let gM3 = gMask . gMute3
d1 $ gM2 $ gF1 -- KICK SOUTENANT
  $ midiOn "^42" (<| "k k k <k!3 [<~ k> k]>")
  $ fix ((# lpf 4000) . (# drumFrom "rolandtr909" "bd:4")) "909bd"
  $ "[jazz,909bd]"
d2 $ gM1 $ gF1 -- Snare glitch+perc
  $ fix (whenmod 4 3 (ply "4 [4 <1 2>]") . (|* gain 0.8) . (# rel 0.1)) "clap"
  $ fix ((# n 2) . (# pan 0.2) . (# note "-24")) "glitch"
  $ "~ glitch"
  # begin 0.02
  # end 0.35
  # pan 0.8
d3 $ gM1 $ gF1 -- Hats reguliers mais varies
  $ midiOn "^44" (ply 2)
  $ midiOn "^76" (struct "t(3,8). t(5,8)")
  $ someCyclesBy "<1!8 0!56>" (mask "f . t f")
  $ "~ h ~ h ~ h*<1!7 2> ~ h"
  # drumFrom "rolandtr909" "hh:2"
  # hpf 5000
  |* gain (range 0.85 1 (fast 4 sine + (slow 2 perlin)))
d6 $ gM1 $ gF1
  $ "~ rampleS0"
  # n "<6!6 7 7>"
  # pan 0.8
d8 $ gM1 $ gF1
  $ midiOn "^92" (ply 2)
  $ whenmod 4 3 (ply 2)
  $ chop 8
  $ midiOn "^56" (# n 43)
  $ loopAt 2
  $ "jungle_breaks:18"
  # cut 8
d4 $ gM3 $ gF2 -- MATRIX BASS
  $ slow 2
  $ midiOn "^57" (# freeze 0.1)
  $ midiOn "^89" (slice 8 "0*[8 16]")
  $ note "<[f@3 <cs!3 [cs ds]>] c>"
  # "90s_matrix:0"
  # cut 4
  # tremoloratebus 41 (range 0 (slow 4 "<2 4 8 16>") "^53")
  # tremolodepthbus 42 (range 0 0.9 "^53")
  # combbus 43 (range 0 0.5 "^17")
  # ampbus 44 (range 1 1.25 "^17")
  # distortbus 45 (range 0 0.5 "^33")
  # pan "<0.8!32 0.2!32>"
  # gain 0.8
d5$ gM3 $ gF2 -- ACID bassline
  -- $ note "f@2 f e@2 e ef2"
  $ midiOn "^58" (# freezebus 51 0.1)
  $ note (  "f@2 f <gs!2 gf!2>@2 <gs!2 g!2> <g!2 gs <gs gs5>>@2"
    - 12
    )
  # distortbus 51 (range 0 2.5 "^54")
  # "90s_matrix:4"
  # pan "<0.2!32 0.8!32>"
  -- # octave 3
  # cut 5
  -- # midiG' "^82" 0 1.9
d7 $ gF3 $ note (
  "0([3 <3!3 5>],8) . c(<3!7 [3 5]>,8)"
  )
  # "superfork"
  # room (slow 16 $ range 0 0.2 saw)
  # delay (slow 32 $ range 0 0.5 saw)
  # octersubbus 71 (range 0 2 "^55")
  # octersubsubbus 72 (range 0 2 "^55")
  # pan (slow 16 $ (saw + 0.2 * perlin))
-- c bf g
d10 -- RISE!
  $ fix (
    loopAt 4
    . (# "risers:4")
    . (# pan 0.2)
    . (# room 0.4)
    -- . (# gain 0)
    . (# cut 81)) "r1"
  $ fix (-- laser rise
    loopAt 8
    . (# "risers:11")
    . (|* gain 0.9)
    . (# pan 0.9)
    . (# room 0.4)
    . (# drybus 82 (slow 4 $ range 0.5 1.2 saw))
    . (# sz 0.8)
    . (# cut 82)) "r2"
  $ "[<~ ~ ~ <r1!3 ~>>,<~!24 ~!8 r2 ~!7>]"
  -- # midiG' "^20" 0 1.3

-- risers:3 annonce
-- risers:4
once $ "risers:11"
  # gain 0.7
  # end 0.85
  # cut 9

once $ "rampleS0:6" # cut 4

once
  $ fix (# drumFrom "rolandtr909" "cp:1") "cp"
  $ "[psr:1,cp]" # gain 0.8

  ef-f. f-e e-es.. es-e-es-f......

once $ drumFrom "rolandtr808" "bd:4"