RedSequencer simple sequencer
just a wrapper for a Demand ugen. use Demand for more advanced sequencing.
see also: RedSequencer2
*ar(array, trig, reset)
*kr(array, trig, reset)
array - values to be played in sequence or a Demand rate ugen like Drand, Dseries or Dgeom
trig - jumps to the next value in array
reset - makes the sequence start from the beginning
//--
s.boot;
//basic usage
a= {SinOsc.ar(RedSequencer.kr([100, 400, 500, 600], Impulse.kr(4)), 0, 0.1)}.play
a.free
a= {SinOsc.ar(RedSequencer.ar([400, 500, 600], Dust.ar(10)), 0, 0.1)}.play
a.free
a= {SinOsc.ar(RedSequencer.kr(Drand([100, 500, 600, 700], inf), Impulse.kr(4)), 0, 0.1)}.play
a.free
//mouse trigger reset
a= {SinOsc.ar(RedSequencer.kr(Dgeom(400, 1.5, 8), Impulse.kr(5), MouseX.kr>0.5), 0, 0.1)}.play
a.free
//more advanced example
(
SynthDef(\redseq, {|out= 0|
var freq, dur, z, e;
freq= RedSequencer.kr([200, 300, 400, 500], Impulse.kr(MouseX.kr(0.1, 10)));
dur= RedSequencer.kr([0.5, 1, 2], Impulse.kr(MouseY.kr(0.1, 1)));
e= EnvGen.kr(Env.perc, Impulse.kr(dur));
z= SinOsc.ar(freq, 0, e);
Out.ar(out, Pan2.ar(z, 0, 0.4));
}).send(s);
)
a= Synth(\redseq)
a.free