Skip to content
Forum Archive

avs 2.8 alpha 3-4 and EXP1 (Woo)

49 posts

justin#

avs 2.8 alpha 3-4 and EXP1 (Woo)



- Fixed the doublesize mouse issues.
- Optimized evallib more (woo fun shit writing stuff that generates x86 asm), generated code is now 40% smaller and slightly faster.
- Added evallib code stats in debug window.
- Reduced overall memory use.

Woot. Thursday's gettin closer! hehe.
I think I am also gonna add setmousepos(x,y) soon, so that if the avs window has focus, the script can reset the mouse position, in order to detect movement (i.e. for mouse controlled relative movements)...

-Justin
UnConeD#
I'm experiencing a very weird bug with this alpha (using rc9).
Occasionally when loading a preset, the first 'n' components of it will be missing. Sometimes the entire preset is even entirely empty, and sometimes only the last component remains. How many components are missing seems completely random, even for the same preset.

I'm trying to figure out what causes it, but it's happening only occasionally.
I.e. if I flip around a lot with next/prev, it will occur sometimes.

It happens both on large and small presets, on presets with or without effect lists and with or without apes.
skupers#
I use winamp2.91 and it has happened to me once so far. A preset lost it's first four components: a set rendermode, a superscope, an entire effectlist and a texer II.
dirkdeftly#
imo a setmousepos(x,y) function would be very, very, very annoying and would only lead to very, very, very annoying presets from very, very, very annoying n00bs that tend to use things like <blink>.

\o/ rock on justin for making avs 1337, even though i'm not using any more new alphas until people start saying it's not borked \o/
Jaak#
Wohoo... that called fps 😁
i get 75-100fps @ 384x256 with my solid (and phonged 😉) icosahedron but, yes the 'n' bug is really stupid, i have had this few times with ssc and once with texer2 O_o

heh, i dont think setmousepos(x,y) is good idea
Yathosho#
i have the feeling the random of avs got even worse, i often get the same preset played twice. i wish both -winamp and avs- had a more advanced random mode, one that does not repeat a track/preset before all in a dir/playlist were played.
skupers#
Originally posted by skupers
I use winamp2.91 and it has happened to me once so far. A preset lost it's first four components: a set rendermode, a superscope, an entire effectlist and a texer II.
Another preset lost it first 8 components.
Shock Value#
I'm getting the missing components bug too. Seems to happen when switching presets quickly, for example hitting U and then Y in quick succession.
dirkdeftly#
i cornloaded this one and now I've gotten the components bug about three times as well...running wa2.91 on win98se.
fragmer#
I think setmousepos(x,y) is not useful 🙁
What about $mouseX and $mouseY - that'll be interesting... 😛

[EDIT]
oh, and BTW UnConeD, where did you get RC9? 📻📻📻
dirkdeftly#
$mousex and $mousey already exist. pay attention foo'

and i just realized this...since when is there a limit on variable name lengths? if it was implimented after 2.6 it could cause problems for old presets. imo this is a really stupid idea in the first place...yes it does discourage cluttered code, but it can cause trouble if don't know about it in the first place....
jheriko#
I think the most important question is: 'Will the final AVS release with Winamp 5 be stable?'. All the new features are great, but who will use a vis plugin that crashes every 10 seconds?

BTW: has anyone noticed how superscopes will randomly switch from lines to dots during editing?
skupers#
Originally posted by jheriko
BTW: has anyone noticed how superscopes will randomly switch from lines to dots during editing?
Now I think about it, I do remember a few times where I thought I set a scope to lines, but later it was set to dots. I thought I just clicked wrong or something, but maybe it's a bug like you said.
UnConeD#edited
I just realized you implemented a rather big change in alpha behaviour for DM's... a gradient between alpha=0 and alpha=1 will not be the same as a gradient between alpha=-1 and alpha=2.
So basically AVS is interpolating between the coded alpha values, and clamping the interpolated result to 0..1.

The previous behaviour was that alpha would clamp the gridpoint's alpha before interpolation. Some situations do benefit from the new style, but it should be a toggle not to clamp alpha before interpolation IMO, with old presets retaining the old behaviour. There are many presets that depend on the old style to pull off some visual tricks (like Retrosquares, which is included in the Winamp5 picks!).
Add alpha=max(0,min(1,alpha)); to the end of the point code in the first DM in Retrosquares to see how it should look. The second DM in retrosquares does benefit from the new behaviour, so it would be handy to be able to toggle.


There was an alpha clamping bug, but this was not what was meant...
The bug was that when you get large alpha values, it starts toggling on/off randomly. You'd need to clamp alpha for this, however for the new alpha behaviour (if togglable) to be useful, you couldn't clamp at 0 and 1. I suggest determining the upper/lower limit for alpha based on code, and clamping at that.

To see this in action, try this:
* Render / Clear Screen: White
* Trans / DM: No Movement, Blend only. Per point code: alpha=10

Now add more zeroes to 10... sometimes the alpha will invert, for example at 1000.


By the way, just letting AVS play in Winamp on random preset mode is enough to make it crash after couple of minutes.
The cause is reading a nullpointer. I'll see if I can figure out where.

PS: Next time you're unsure what a particular bug is, please send me a mail... I collected the wishlist and authored most entries myself 😉.
skupers#
Originally posted by UnConeD
There was an alpha clamping bug, but this was not what was meant...
The bug was that when you get large alpha values, it starts toggling on/off randomly. You'd need to clamp alpha for this, however for the new alpha behaviour (if togglable) to be useful, you couldn't clamp at 0 and 1. I suggest determining the upper/lower limit for alpha based on code, and clamping at that.

To see this in action, try this:
* Render / Clear Screen: White
* Trans / DM: No Movement, Blend only. Per point code: alpha=10

Now add more zeroes to 10... sometimes the alpha will invert, for example at 1000.
Is this what causes those irritating dots on some 3d movements at the places where the distance is extremely far?
justin#
Originally posted by UnConeD
PS: Next time you're unsure what a particular bug is, please send me a mail... I collected the wishlist and authored most entries myself 😉.
Actually, I didn't do what you thought, and make it clamp at each interpolated point... rather I was just fixing the clamping to clamp to 0..1 at each eval point. But my code was fucked, so clamping was disabled altogether. Oops. Here is the fixed version:



Some other optimizations in there too... This one should hopefully
go in WA5 on thursday, heh.

-Justin
Shock Value#edited
I'm still getting disappearing components when switching presets sometimes. I'm not yet sure if it still crashes though. I'll fool around with it later.

EDIT: It just crashed while I was trying to save a preset. I hope these bugs get ironed out before the Winamp 5 release.
zamuz#
got some weird stuff going on in my avs screen, but after restarting winamp it's all good. wtg justin 🙂
justin#
Originally posted by Shock Value
I'm still getting disappearing components when switching presets sometimes. I'm not yet sure if it still crashes though. I'll fool around with it later.

EDIT: It just crashed while I was trying to save a preset. I hope these bugs get ironed out before the Winamp 5 release.
Can you send me (justin at nullsoft dot com) your vis_Avs.ini? Thx.

-J
uNDefineD#
Alpha4 is running nicely Justin, and thanks for ironing out the component bug! So will there be a full AVS 2.8 ready for Thursday, or will you stick with the alpha?

BTW...

Originally posted by justin
justin at nullsoft dot com
Keyboard broken or something? 😁
UnConeD#
Actually it's dead easy to grab these supposed spam proof addresses:

[a-zA-Z0-9_-~+]+ at ([a-zA-Z0-9_-~+]+ dot )+[a-zA-Z0-9_-~+]+

(regular expression)

You're better off using some smarter scheme, e.g. "my first name at nullsoft dot com"

Humans won't have a problem, spambots will 😉.