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