algomom/segments/00-seqPlayer.scd

63 lines
1.9 KiB
Markdown

///////////////////////////////////////////////////////////
//// SEQUENCER / TIMELINE /////////////////////////////////
///////////////////////////////////////////////////////////
(( // TEMPO AND CLOCK DISPLAY ////////////////
~t1 = TempoClock.new(45/60, 4);
~t2 = TempoClock.new(2, 4);
~postClockInfo = {};
~postClockInfo = {
("beat:" +((~t1.beats.floor)%~t1.beatsPerBar + 1) ).postln;
("bar:" +(~t1.bar) ).postln;
"".postln;
1
}); //////////////////////////////////////////////
// SET CLOCK INFO PRINTOUT RUNNING
~t1.schedAbs( ~t1.nextBar, {~postClockInfo.value;} );
z = Pseq([ // START SEQUENCER
/*
Ppar( [~synth2_pree], 1 ), // STASIS INTRO - in parallel
Ppar( [~synth1_intr, ~synth2_intr], 1 ), // STASIS INTRO - in parallel
Rest(1), // MARKER = PREPARE*/
Ppar( [~synth1_0000, ~synth2_0001, ~hh_intr, ~kick_one_], 1 ), // OCTAVES
Ppar( [~synth1_0001, ~synth2_0002, ~d_intr, ~hh_main, ~kick_intr], 1 ), // OCTAVES
Ppar( [~synth1_0002, ~synth2_0003, ~d_main, ~hh_main, ~kick_main], 1 ), // ARPPEGIO
//Ppar( [~synth1_midl, ~synth2_midl, ~d_midl ], 1 ), // in parallel
//Ppar( [~kick_amen, ~snare_amen ], 1 ), // DRUM BREAK - TODO ~drum_break
Ppar( [~synth1_0004, ~synth2_0004, ~d_main, ~hh_wild, ~kick_main, ~snare_intr], 1 ),
Ppar( [~synth1_0006, ~synth2_0005, ~d_wild, ~hh_main, ~kick_main, ~snare_main], 1 ),
Ppar( [~drop_0000, ~drop_0001], 1 ), // 12-tone scale DROP
Ppar( [~synth1_0003, ~synth2_0005, ~d_wild, ~hh_main, ~kick_main, ~snare_main], 1 ),
// drop 2 here
Ppar( [~synth1_0000, ~synth2_0006, ~hh_intr, ~kick_intr], 1 ),
Ppar( [~synth1_outr, ~synth2_outr], 2 ), // chromatic slides
], 1 ).play(~t1, quant:1));
// CONTROLS ----------------------
z.play();
z.pause;
z.stop;
z.start;
z.resume;
///////////////////////////////////
///////////////////////////////////
///////////////////////////////////
// TODO break into subsections to livecode section cues