Winamp & Shoutcast Forums

Winamp & Shoutcast Forums (http://forums.winamp.com/index.php)
-   AVS (http://forums.winamp.com/forumdisplay.php?f=85)
-   -   AVS 2.8b1! :) (http://forums.winamp.com/showthread.php?t=158544)

justin 4th December 2003 18:13

AVS 2.8b1! :)
 
OK this version should resolve the loading preset bugs, finally. Hopefully. Also added some new superscope capabilities, including 'skip', 'linesize', and 'drawmode' (chooses points or lines).

http://firehose.net/~deadbeef/avs28b1.zip

-J

Jaak 4th December 2003 18:17

YAY! got to love skip and linesize...

thank you so very much Justin

[edit]
linesize doesnt look very good, is it supposed to be like this, or is there bug?

frame:
t=t-0.01;
st=sin(t);ct=cos(t);
asp=w/h;

point:
px=i*2-1;
py=0;
x=px*st+py*ct;
y=(-px*ct+py*st)*asp;

linesize=100;

justin 4th December 2003 18:38

100 is pretty big... just make sure your n is set low enough, and then it should be a big fat line.. if you do hundreds of points, you'll have a lot of 1 pixel by 100 pixel line stripes =)

Jaak 4th December 2003 18:52

yeah, i was thinking of line width dependent triangel rendering ssc if i read 'linesize' :D, but oh well... skip is very cool ;)


and again i must say... no arrays... no vectors... very cool things could be done with arrays, vectors would make coding much more easyer and many ssc/dm codes much more shorter. But I understand, you got work to do with winamp 5.

i cant say anything about loading preset bug, this bug hasnt occured to me in previous versions, i just hope its fixed :D

anubis2003 4th December 2003 19:00

Nice. Some great changes for now, but I hope that arrays are eventually added - don't have to be added for wa5, but eventually would be nice. Can't wait to see what people can make with all this new stuff. Cool.

OnionRingOfDoom 4th December 2003 20:22

Nice! UnConeD's gonna have a field day with this stuff!

Deamon 4th December 2003 21:18

Linesize is nice :).

fsk 5th December 2003 00:38

YESSSS, linesize kicks ass! thanx a lot:). the skip function is a bit weird, because it still links the skiped part.

dirkdeftly 5th December 2003 00:42

This is one hell of a bug:

1) Go fullscreen
2) Click left mouse button
3) When the cursor goes under Winamp/AVS/config window, click in the lower left corner of the config window - well under the config window - where the docking window used to be.
AVS docks, but the main AVS window stays where it is and stops updating the portion of the screen under the AVS window (except for the frame).
<edit> The AVS window also gives you the Winamp main window popup menu when you right click after you do this.

...What in the fuck, etc.

horse-fly 5th December 2003 06:56

you come out with updates everyday, eh justin?

Magic.X 5th December 2003 06:56

Actually i'm unable to give it a test ride so my question:

Is the new SSC able to do simple antialiasing? This would be very handy imo because using blur for this purpose ain't the best way.

[EDIT]
Congrats to UnConeD for beeing a Mod now. YAY!

sidd 5th December 2003 08:49

er... magicX, what do you mean by AA?

The superscope works in more detail than pixels anyway, so why would you need it?

If a scope looks pixelised, then you need to work in a bigger desktop resolution (or avs fullscreen one), there is no other way around it.

Are you sure you meant antialiasing?

Magic.X 5th December 2003 09:30

Yes i am ;) i talked about this with UCD in another thread, right now, i don't remeber where.

But basically it should be able to smooth a line along its vectorial direction (eg vector from point 98 of 800 to point 99 of 800).

You could smooth it by bilinear filtering for example.

Warrior of the Light 5th December 2003 10:22

@Justin:
How long have you been breeding on all of this? Everyday (if Horse-Fly is right) you make the people at this forum a bit happier...

@UnConeD: Congrats!

Yathosho 5th December 2003 11:46

first they complain that there is no development..

sidd 5th December 2003 12:02

well..for a long time, they were right, there was no development. Surely you remember those horrible days when we all feared that the world had forgotten about avs?

now look what has happened, bwahahaha!
Justin, you are a god among men.

Warrior of the Light 5th December 2003 13:49

and with the upcoming WA5 and with that more WA- and therefor AVS-users, I fear the n00bish questions coming our way. :igor:

But then... the more the merrier [sp?]

sidd 5th December 2003 13:52

merrrier has three r's

UnConeD 5th December 2003 15:16

;-c ,rattaplan: I have been regularly forwarding stuff to justin that the regulars at #finnish-flash have been discussing over IRC though. That explains of the flood of new AVS ideas. Still kudos to justin for implementing it all of course.

Jaheckelsafar 5th December 2003 15:36

I can't open the editor by doubleclicking the AVS window. Instead it switches to and from fullscreen. And hitting enter for fullscreen doesn't seems to work anymore either, but alt-enter does. :)

P.S. Man, things have been happening while I was gone. Congrats Unconed.

Yathosho 5th December 2003 15:41

Quote:

Originally posted by Jaheckelsafar
I can't open the editor by doubleclicking the AVS window. Instead it switches to and from fullscreen. And hitting enter for fullscreen doesn't seems to work anymore either, but alt-enter does. :)
you can change that in the settings menu

Jaheckelsafar 5th December 2003 15:49

Oops :o, didn't see that. But the doubleclick fullscreen thing doesn't work for me. It goes into full screen, then switches out right away.

zamuz 5th December 2003 16:40

i'm on windows xp but i can't use desktop alpha blending for the avs window... not that i really use this feature, but i noticed this in this beta.

and also, when i click a colormap trans, winamp crashes without even being able to open the config dialog.

Yathosho 5th December 2003 17:00

Quote:

Originally posted by zamuz
and also, when i click a colormap trans, winamp crashes without even being able to open the config dialog.
happened here aswell, until i updated colormap

zamuz 5th December 2003 17:45

thanks :)

Yathosho 5th December 2003 20:04

but the same happens with channelshift

hungryskull 5th December 2003 20:05

Quote:

and again i must say... no arrays
I want arrays too.

justin 6th December 2003 02:24

Quote:

Originally posted by hungryskull
I want arrays too.
OK so would an implementation like:


bla=arrayalloc(size);
arraysetitem(bla,index,value);
poo=arraygetitem(bla,index);
arrayfree(bla);

be adequate?

obviously size, index, and the array pointer itself would still be floating point values, but be rounded to int as necessary to make sense...

I can do this fairly easily. Would that meet the needs? If not, what else would be needed?

-Justin

mikm 6th December 2003 02:55

Sounds good to me, although more "traditional" subscripting (bla[index]=value) would be nicer, though (if feasable), although I think it wouldn't add too much as long as the array was dimensioned right away.

dirkdeftly 6th December 2003 06:54

That seems terribly convoluted, and I'd rather you didn't put effort into that because eventually I'm betting it'll get changed, and you'd have to leave it in the evallib for old presets (if you didn't, that would be bad.) Personally I'd prefer that you tried to fuddle with the evallib so you could do different things with the lefthand side of an assignment, e.g. the traditional
array[sizex][sizey]...; // array allocation consists of no assignments
array[x][y]=borgle;
You could then do things like user globals:
$global;
$global=bangle;
Overloading globals ($global != global) would be nice too ;)
But in terms of the arrays, I'd like to see the following syntax:

array[sizex][sizey]...; // allocates array of size sizexXsizeyXsizez...
array[5][3]=bloor; // assigns value bloor to index 5,3
array[*][2]=blargh; // assigns value blargh to all indices in y=2
array[*]=skaggle; // assigns value skaggle to all indices
array=warts; // variable "array" is different from array "array"

probably asking for too much here...but it'd be really, really, really nice :D with the code you suggested there's no way to do multidimensional arrays with any ease as far as i can tell.


i know you won't let me down, justin... /me winks sexily

Jaak 6th December 2003 07:57

yup, Ateros ideas seem really really nice :), atleast
array[x][y]=blabla;
would be good... its much more readable
Quote:

i know you won't let me down, justin... /me winks sexily
O_o how far can one go

justin 6th December 2003 08:31

OK well here is my thinking:
  • Making the arrays accessed via a function rather than a new language syntax is a lot easier (I know this ultimately doesnt matter that much to everybody else, but it changes it from a quicky day project to a much larger project that could potentially break a lot of other shit)
  • Global variables that have names may be possible, but create a whole host of memory management issues -- i.e. if every preset creates its own global variables, they stay around forever? Garbage collection? See below.
  • Arrays are a lot easier to keep local (not global) for the above reason.
  • Otherwise, we'd have to do some sophisticated garbage collection-type things. Which takes time to implement, and lots of testing before we could really be serious about putting this in the main distribution.

So yes, we could go completely overhaul shit. But ultimately that'll just mean that it'll take tons of time and break shit and be a big pain in the ass. :/ I don't know what the best thing to do is...

-J

Jaak 6th December 2003 08:49

That all is true, it would waste a lot of time, but you got work to do with winamp 5, not some stupid 'plugin', uh?
thats why would open source avs be good idea, but yea... things will probably get messy like that

:\

do the arrays way you like them to do, we just gave you ideas :)

Yathosho 6th December 2003 09:36

i can imagine nemo would be happier, if his presets in the Winamp 5 Newpicks had a different name

splendora.avs > NemoOrange - Splendora.avs ?

Deamon 6th December 2003 10:01

It would be great to have arrays. From what I've heard around here, you can do really great things with 'em. Would anybody be so kind to explain shortly and simple what they do? My math aint that good ;).

Jaak 6th December 2003 10:08

arrays != math
arrays == programming

gaekwad2 6th December 2003 12:36

supersimple example: peaks

init:
n=576;
val=arrayalloc(n)//I hope new arrays have value 0 set for all items

frame:
t=0//or t=1?

point:
arraysetitem(val,t,max(arraygetitem(val,t)*.99,getspec(i,0,0));
x=i*2-1;
y=1-arraygetitem(val,t);
t=t+1

what does arrayfree do?

UnConeD 6th December 2003 13:25

Justin:

I'm not sure how the evallib handles assignment and variable-address retrieval, but maybe if you could code it like this:

arraygetitem(array, 5) = foo;
bar = arraygetitem(array, 5);

Then you could put a pre-processor step in to convert from array[5] into that. That would rock ;).

sidd 6th December 2003 13:47

arrays will be fantastic. I dont know how many times ive stopped half way through some idea because i needed arrays.

BUT!

i fear that these betas and pre's are getting buggier and buggier with every release. I really hope that you will have time to iron everything out before the release of wa5.

I want arrays just as much as the next person, but i think its more important to have a generally stable avs. Im not griping.. i just hope you have time to fix everything... there have been sooooo many updates and so little time for beta-testing.

anubis2003 6th December 2003 14:59

Quote:

Originally posted by justin
Making the arrays accessed via a function rather than a new language syntax is a lot easier (I know this ultimately doesnt matter that much to everybody else, but it changes it from a quicky day project to a much larger project that could potentially break a lot of other shit)
That's why I don't know if array's should be worried about now. I think eventually it would be best to wait until it is a bit easier to do the full version and when there is a bit more time to do it. I don't ever really like languages that take the function approach to arrays and such. It is much more of a hassle to first have to use the functions, and then when you find time and switch it over - the old functions will still have to be included in new versions.

Just my opinion.


All times are GMT. The time now is 22:20.

Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.