With the help of the SuperCollider list, I managed to create a MultioutUGen which spits out not only the topmost value of the stack but also the current program counter m_pc. In the above studies, I used this info to determine the position of the Synth’s output in a stereo panorama. What you actually hear is a bunch of upto 60 BBlockerBuf Ugens spreaded in a stereo field.
Below is the accompanying code. I promise to release the BBlocker UGens as soon as I understand how to push it to sc-plugins, without making a huge mess.
Ndef(many).play;
Ndef(many).fadeTime = 20;
(
Ndef(many, { var num = 50, pos, src;
var b = {BBlockerProgram().fillUpRandom_(true).makeCollection.as(LocalBuf)}!num;
#src, pos = ({|i| BBlockerBuf.ar(s.sampleRate, b[i])}!num).flop;
src = src.collect{|x, i|
LeakDC.ar(x) * EnvGen.kr(Env([0, 0, 0.1, 0.1, 0], [15 + i, 5, 10 + i, 5]))};
Pan2.ar(src, pos).sum.tanh;
})
)
(
Tdef(manyPlay, {
loop{
(2*Ndef(many).fadeTime).wait;
Ndef(many).rebuild;
}
}).play
)
// after a while, crocodile
Tdef(manyPlay).stop;
Ndef(many).free(10);