Archive: AVS Superscope Bug


4th April 2004 17:38 UTC

AVS Superscope Bug
I have been reinstalling, uninstalling, deleting everything, installing and god knows what else, but i can't get the superscope effect to keep working. It works if you turn on a avs that uses superscope(s) before you turn on a beat. When the track is changed, the superscope effect stops working.

All i know about this is that the value that is returned to variable: t, is not beeing updated anymore.

Some setting that i have missed or.. is this a programming mistake? (This bug has followed all the way from ?2.82? to 5.03) I got this to work once, by making several avs effects using superscopes and it just suddenly started to remember to keep updating the values. But now when i installed 5.02 and later 5.03 it stopped working again. :(

Anyone got a cure?

-> Windows XP Professional [version: 5.1 build: 2600]


Later on I came up with:

It... "works" if you:
add to the "init" box: t=1 (like this: n=800;t=1)

but... now you can't add smaller values to t than 1, looks like decimals doesn't work now. But hey it's spinning! :D

Anyone else have the same problem? or am I the only one? :eek:


4th April 2004 19:50 UTC

It would help if you'd be so kind to add the whole code, right now, I don't have a clue of what you're referring to.


4th April 2004 21:21 UTC

Umm... i just added a superscope, even that doesnt work. Not even the "picks" that came with Winamp 5.03 works. It seems like superscope is not the only one bugging. There is some new effects and some of them seems to be doing the same thing :cry:


4th April 2004 21:44 UTC

You really need to give us exactly what is not working. I have absolutely no idea what you are trying to say.


5th April 2004 03:13 UTC

As far as I can guess his AVS isn't calculating values on frame or something like? I really have no good idea.


5th April 2004 11:06 UTC

I think i got it to work...
I guess it started to work now. The problem was that the decimal value added to t were rounded to 0 since it was below 1. So all it really did was: t=t+0 (even if it said t=t+0.2 in the code). Well, like i said, i think it works now.

What i did was:
Add a superscope while playing a 55min track (lots of time to get it to work) and just left it like that and saved it, after that it just kept working, even after i restarted winamp and made new superscope avs picks. But im not 100% sure about this, but hopefully.....


5th April 2004 15:08 UTC

maybe t is very high and there are rounding errors because of the floating point nature of the avs variables?
floating point data types have the disadvantage that if you have very high values, low values added to them simply get truncated.

btw instead of adding something to t every frame, try
t=gettime(0);
this gives you the time (in seconds) since some point in the past (dont know which point but that shouldnt matter i think :) )


5th April 2004 18:28 UTC

It is confirmed!
It works now! It's simply a bug, SO IF ANYONE HAS TROUBLE WITH AVS, LOOK OVER HERE. The value you add to t in a superscope, example: t=t+0.2 gets rounded to 0 when it stops to work. To avoid this, restart winamp to get the superscope to work again, open avs editor, add a superscope and save it as any name you like just like that, then restart winamp, start the avs you saved, and test it. Now thats what i did, dont ask me how that fixes it because i have now idea :igor:

Same thing can be done if all of the avs effects suddenly stops working because this is what the problem is.

Thanks to everyone for emails/posts of possible ideas.


7th April 2004 17:31 UTC

what in the fuck are you smoking


8th April 2004 20:33 UTC

No flame wars, please.

It's probably what TomyLobo said: 't' grew very large and stopped having any significant digits to update.


ShadowWolf, advise for the future: next time you have a problem, don't assume the people on the other side are telepathic. Explain everything in an orderly fashion. Your first post was fragmented, chaotic, incomplete and not to the point.


9th April 2004 13:56 UTC

I don't undrastand when you run AVS SS will be close or generally your SS don't work.


7th May 2004 08:04 UTC

i'm too have problem with Sscope's. why Sscopes what have line "i=i+rand(10)/1000" don't working in AVS later than v2.5. some of my presets i must rewrite if i want they reflect like in AVS v1.8 & AVS v2.5


7th May 2004 08:53 UTC

can you attach the (unrewritten) preset? maybe it's something else :)


7th May 2004 12:16 UTC

I hope the usage of 'i' is only for your example, because, afaik, the variable 'i' is (was ?) 'read only' in SSC ...


9th May 2004 05:07 UTC

nope 'i' was never read only:)


10th May 2004 10:17 UTC

But using 'i' as just any var could easily give errors. Why would you want to alter 'i'? you'd better change the position of the line somewhere else, and leave 'i' as it is.


11th May 2004 21:16 UTC

For one, in many cases you might want to use a modified version of i.

for example when you do those old-school spirally spheres for 3d superscopes, your better off having i between 0 and 2pi, rather than 0 and 1. So you chuck in i=i*2*$pi at the start.


13th May 2004 15:32 UTC

I never found that useful, for the times that you needed the normal i again for example.. but then, that's just me.

But before we're going too far off topic, the question remains and I don't have a clue what could cause this problem.


14th May 2004 06:19 UTC

There is a bug in SSC that i experience sometimes where init doesn't seem to ever run anything except the n=x line. It seems to pop up at random and is incredibly annoying. It is also machine independant. I sent sidd a preset a while ago i was having this problem with and it worked fine for him. If you are using a t=if(above(t,1)-1,t+0.02) for instance then you could get this problem.

i is rubbish :p make your own i by altering a varialbe per point, a lot of the time it is more efficient. when going through a megabuf to draw gemoetry for instance since you don't have to mess around with 'bleh*i+poo's in your code.


26th May 2004 08:23 UTC

For example: in AVS v2.81b Sscope:
Init:n=100;r=0.1;mx=-0;my=0;mz=10;dst=2;rx=0;ry=0; rz=0;rdx=1;rdy=1;rdz=1;p=3.14159265;p2=2.0*p;p3=180/p

Frame:rx=rx+rdx;ry=ry+rdy;rz=rz+rdz;xs=sin(rx/p3);ys=sin(ry/p3);zs=sin(rz/p3);xc=cos(rx/p3);yc=cos(ry/p3);zc=cos(rz/p3)

Beat:rdx=rand(10)*2-9;rdy=rand(10)*2-9;rdz=rand(10)*2-9;loop=rand(10)+40;n=1000+rand(1000)

Point:i=i+rand(1000)/1000-.5;z1=log(1/(abs(tan(i*loop*10)))+1.1)*sin(i*loop*10)/abs(sin(i*loop*10));
x1=cos(i*p2*loop)*sqr(i*1.5)*r;
y1=sin(i*p2*loop)*sqr(i*1.5)*r;
y2=y1*xc-z1*xs;z2=y1*xs+z1*xc;x2=z2*ys+x1*yc;z3=z2*yc-x1*ys;x3=x2*zc-y2*zs;y3=y2*zc+x2*zs;x4=mx+x3;y4=my+y3;z4=mz+z3;
x=x4/(1+z4/dst);
y=y4/(1+z4/dst)

and same not working. But in AVS v2.80 it works.
Check one of my preset "Eternity 2003 3D Collection/10eternity - Decart Madness"
Main
Effect List (in:ign, out:rep)
Trans/Blur(heavy blur, round down)
Misc/CustomBMP(skip:2 beat)
Transe/Din.Dist.Modifer(I:s=3;t=1; F:s=1/(sqr(abs(log(t)-1))+1);t=t*1.1; B:t=1; P:d=d-log(pow(d,2)+1+d/3)*s;)
Misk/Set render mode (Add, line width=1)
Trans/Fadeout(80%)
Render/Sscope x 3[look above](Wave,Center,Dots,4colors:(#0b2575,#094b62,#096262,#094062)){end list}
Trans/Invert {end preset}


26th May 2004 08:28 UTC

Originally posted by G_JDean
Frame:rx=rx+rdx;ry=ry+rdy;rz=rz+rdz;xs=sin(rx/p3);ys=sin(ry/p3);zs=sin(rz/p3);xc=cos(rx/p3);yc=cos(ry/p3);zc=cos(rz/p3)
Just a little speedup optimization:
use rx=(rx+rdx)/p3 and xs=sin(rx) etc, this saves you half your divisions.