BufWr buffer writing oscillator
write to a buffer at an index
see also BufRd
BufWr.ar(input, bufnum, phase, loop)
input input ugens (channelArray)
bufnum the index of the buffer to use
phase modulateable index into the buffer (has to be audio rate).
loop 1 means true, 0 means false. this is modulateable.
Note: BufWr (in difference to BufRd) does not do multichannel expansion, because input is an array.
(
// allocate a buffer for writinig into
s = Server.local;
s.sendMsg("/b_alloc", 0, 44100 * 2);
)
//write into the buffer with a BufWr
(
y = { arg rate=1;
var in;
in = SinOsc.ar(LFNoise1.kr(2, 300, 400), 0, 0.1);
BufWr.ar(in, 0, Phasor.ar(0, BufRateScale.kr(0) * rate, 0, BufFrames.kr(0)));
0.0 //quiet
}.play;
)
//read it with a BufRd
(
x = { arg rate=1;
BufRd.ar(1, 0, Phasor.ar(0, BufRateScale.kr(0) * rate, 0, BufFrames.kr(0)))
}.play(s);
)
x.set(\rate, 5);
y.set(\rate, 2.0.rand);
x.set(\rate, 2);