once $ "bumbum"

do
-- resetCycles
setcps (135/60/4)
d1 $ gF1 $ gM1  -- Le Bum dans Bumbum
  $ midiOn "^41" (mask "<t f> <f!3 [f t]>")
  -- FIXME(#94) d1 drives more controls than the grid gives it (BT1 only — BL1-3 are the family mutes). ^42 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^42 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d1's own control with gSel.
  -- FIXME(#94) d1 drives more controls than the grid gives it (BT1 only — BL1-3 are the family mutes). ^42 now belongs to another orbit, so this step STILL FIRES ACROSS COLUMNS — turning ^42 for its new owner also moves this. NOT commented out: this is a `$`-step and something above it is a partial application waiting for it, so removing it would stop the whole block compiling. Fold it onto d1's own control with gSel.
  $ midiOn "^42" (<| "k k k k")
  $ midiOff "^42" (<| "k . k(<3!7 8>,<9 8 8 9>)")
  $ "[jazz]"
  # gain 1.3
d2 $ gM2 $ gF1 -- Popping snare
  $ "~ s ~ <s <s*2 [s s s ~]>>"  -- TODO Rewrite ?
  # "[rhadamanthe_fx:187,realclaps]" -- POPPING SNARE
  # begin 0.048 # end 0.055 
  # gain 3
  # room 0.4 # sz 0.8 # dry 1
d3 $ gM2 $ gF1  -- TAMTAM
  $ midiOn "^43"  (<| "~ h ~ h ~ h ~ h")
  $ midiOff "^43" (<| "hh(3,8) hh(3,8)")
  $ "rampleS20:3"
  # gain 1.8
d4 $ gF2 $ gM3
  $ midiOn "^76" (ply "4 8") 
  $ midiOn "^44" (superimpose 
    (|+| note (struct "t*8" $ arp "up" ("c'maj'4 c'maj'4")
     -- + 12
     ) )
    )
  $ note "<as2 [a2@3 <~ [cs2 c3]>]>" 
  # "bassWarsaw" 
  # gain 1.3
  # crushbus 41 (range 16 3.5 "^32")
d5 $ gF3 $ gM3 -- BumBum Flute (Run/Wait)
  $ midiOn "^89" (slice 2 "<0 <1 0>>*<8!3 16>")
  $ midiOn "^57" (>| n ("<4 5 6 7>")) -- RUN
  $ midiOff "^57" (>| n ("<8!4 9!4>"))  -- WAIT
  $ midiOff "^89" (slice 2 "<0 1>" )
  $ "bumbum"  
  # cut 5
  # gain 1.4
d7 $ gF3 $ gM3 -- When the voice says BumBum
  $ midiOn "^91" ((# begin 0.5) . ply "<4 4 4 8 4 8 16 32>")
  $ midiOn "^35" (
    (slow 2 . (>| n "<17 17 18 18 17 17 18 19>")) -- CALL
    . (# begin 0.08) . (# cut 71))
  $ midiOn "^55" ((>| "bumbum:25") . (# begin 0.08) . (# cut 71))
  $ fix ("s" <~) (n 10) -- Calage 
  $ fix (0.5 ~>) (n 11) -- Calage 
  $ fix (0.25 ~>) (n 12) -- Calage 
  $ fix (0.25 ~>) (n 13) -- Calage 
  $ fix (0.25 ~>) (n 14) -- Calage 
  -- $ slice 2 "<0 1>" 
  -- $ n (slow 2 $ "<10 11 12 12 13 14 15 16>" ) -- Wait1
  -- $ n (slow 2 $ "<13 13 ~ ~ 15 16 15 16>") -- Wait2
  -- $ n (slow 2 $ "<17 17 18 18 17 17 18 19>") -- CALL
  -- $ n (slow 2 $ "<<20 21> <20 22> 20 <19 21 24 25>>") -- BOM BOM
  -- $ n (slow 2 $ "<<20 21> <20 22> 20 <19 21 24 25>>") -- BOM BOM
  $ n (slow 2 $ "<10 11 12 13 14 15 16 17         13 13 ~ ~ 15 16 15 16 17 17 17 17 18 18 17 17 18 19     20 20 20 19 21 22 23 24>") -- La Complete
  # "bumbum" 
  # cut 7
  # gain 1.1
d8 $ gF1 $ gM2 -- Jungle breaks stack
  $ midiOff "^60" (mask "t(8,16,1)" . chop 8)
  $ loopAt 4 
  $ chop 8
  $ midiOn "^36" (loopAt 0.25 . (# n 135))
  $ midiOn "^92" (ply "<2 2 2 <4 8>>")
  $ midiOn "^56" (loopAt 0.25 . (# n 56))
  $ "jungle_breaks:123" 
  # gain 1.2
d9 $ gF3 -- Flute qui attend
  $ midiOn "^92" (ply 4)
  -- $ mask "t <f t>"
  -- $ ply 2
  -- $ n "<0 ~ ~ 1 0 ~ 3 ~ 0 <1 3> <[2 3 2 3] [~@3 2*2]> 3 ~>" 
  $ n "<0 1 2 3>"
  # "bumbum" 
  # cut 9
  # gain 1
  # room 0.4 # sz 0.4 
  # delay 0.5 # delayt 0.125 # delayfb 0.5
d12 $ gF3 $ gM3 -- Vocal UH
  $ "~ ~ ~ <~ s>" # "bumbum:3/2" 
  -- # cut 12 
  # gain 1.6
  # octersub 0.5
  # begin 0.4 # lpf 2000
