Skip to content
Forum Archive

AVS Superscope Bug

21 posts

ShadowWolf#

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! 😁

Anyone else have the same problem? or am I the only one? 😱
Warrior of the Light#
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.
ShadowWolf#
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 😢
anubis2003#
You really need to give us exactly what is not working. I have absolutely no idea what you are trying to say.
S-uper_T-oast#
As far as I can guess his AVS isn't calculating values on frame or something like? I really have no good idea.
ShadowWolf#
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.....
TomyLobo#
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 🙂 )
ShadowWolf#
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 🧟

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.
UnConeD#
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.
G_JDean#
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
piR#
I hope the usage of 'i' is only for your example, because, afaik, the variable 'i' is (was ?) 'read only' in SSC ...
Warrior of the Light#
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.
sidd#
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.
Warrior of the Light#
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.
jheriko#
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 😛 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.
G_JDean#
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}
Warrior of the Light#
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.