you could optimize the whole thing a lot by using a cyclic buffer. that is, if you had 5 buffer entries you now do this
Uhm, i used a cyclic buffer...
Just look at the (simplified) code;
per frame:
ww=80; points per ring
hh=100; amount of rings
fc=(fc+1)%hh; offset, your bufbase
loop(ww,exec2(assign( gmegabuf(cc+ww*fc),
(getosc((cc/ww),.1,0))) ,assign(cc,cc+1))); assign
getosc data for each point on the ring.
per point:
z1=gmegabuf((pc+fc*ww+ww)%n); retreive array data and
counter the offset.
pc=pc+1; pointcounter