Old 20th December 2003, 02:32   #1
Shock Value
Senior Member
 
Shock Value's Avatar
 
Join Date: Aug 2002
Location: USA
Posts: 158
Winamp 5.01 with AVS loops and array things (AVS v2.81b)

Quote:
Winamp 5.01:
* fixed gen_ml selection bug
* added gen_ml option for no guessing at all
* made AVS and SPS support loop() in user code
* made AVS support megabuf() in user code

* made pro installer not prompt for regkey if already valid
* improved font directory retrieval in gen_ff
* added content rating system in Internet TV's listing
* added bandwidth usage statistic in Internet Radio/TV listings
* made media library guess from filename only when NO metadata found
* added seperate recent items tracking options for files/streams
* made installer better handle installing wa5 directly over wa3.
* added milkdrop docs to installer
* made uninstaller not remove winamp directory if not empty (user is
now required to do so manually to avoid people going "oops")
* made installer check sonic px.dll versions and prompt for reboot
accordingly
* fixed nsv metadata querying bugs
* fixed gen_ml guessing bugs for files with metadata that are not in DB
Download Winamp 5.01
Shock Value is offline   Reply With Quote
Old 20th December 2003, 02:51   #2
S-uper_T-oast
Forum King
 
S-uper_T-oast's Avatar
 
Join Date: May 2003
Location: Fnord?!
Posts: 2,657
Could somebody just post the new AVS .dll so I don't have to dowload a whole new version of winamp on my 14.4 modem.
S-uper_T-oast is offline   Reply With Quote
Old 20th December 2003, 03:02   #3
dirkdeftly
Forum King
 
dirkdeftly's Avatar
 
Join Date: Jun 2001
Location: Cydonia, Mars
Posts: 2,651
Send a message via AIM to dirkdeftly


This array support is REALLY wankass...I'm really disappointed that it was needed so badly that it had to be implemented so poorly. I hope we can get rid of this function before people start using it extensively, and implement proper array support later. It'd really be well worth the time and effort to implement some proper parsing.

BTW, Zeven just had a good idea (not sure whether he was joking or not but it's still a nice idea): EvalLib2. Add an option in the Main tree to use EvalLib2, and if it's on, add a watermark to the preset. That way, we could throw away all the wank comparison functions and add in a host of new boolean/bitwise/logical operators. Also, you could add real if/elseif/else and for structures. Then, we wouldn't have to worry about compatibility with old presets, but still have decent code support.

I know this would all be quite difficult to implement, but I think AVS is going down the wrong road ATM. The easiest way to do things isn't always the best :|

"guilt is the cause of more disauders
than history's most obscene marorders" --E. E. Cummings
dirkdeftly is offline   Reply With Quote
Old 20th December 2003, 03:09   #4
justin
Moderator Alumni
 
Join Date: Apr 2000
Location: USA
Posts: 315
Quote:
Originally posted by Atero

I know this would all be quite difficult to implement, but I think AVS is going down the wrong road ATM. The easiest way to do things isn't always the best :|
On the contrary, often the easiest way to do things can be the most efficient and most reliable. The current array setting, while a bit of a kludge to program for, is extremely powerful and useful. It's just lower level than you would have liked.

-Justin
justin is offline   Reply With Quote
Old 20th December 2003, 03:17   #5
hungryskull
Major Dude
 
hungryskull's Avatar
 
Join Date: Feb 2003
Location: Somewhere in Canada
Posts: 776
Just a question, could AVS maybe have it's own section on the winamp site so I wouldn't have to download the whole full winamp5 every time a new AVS comes out? Because I'm on dial-up and so are a lot of other users.

Luckily I'm using somebody elses PC today so I can download it again.

As for arrays I don't mind it being complicated.

Darn, I can't think of anything to put here.
hungryskull is offline   Reply With Quote
Old 20th December 2003, 03:46   #6
anubis2003
Forum King
 
anubis2003's Avatar
 
Join Date: Dec 2002
Location: middle of somewhere
Posts: 5,564
Send a message via AIM to anubis2003
vis_Avs.dll v2.7.9.2
anubis2003 is offline   Reply With Quote
Old 20th December 2003, 09:01   #7
Jaak
Major Dude
 
Jaak's Avatar
 
Join Date: Jan 2003
Location: Estonia.
Posts: 851
bah... so many new ideas... sure they are hard to be done with current array support... I really hoped for 3D,2D arrays, but its not THAT hard to make 1D array "2D,3D"
But arrays and loops are just great, thanks Justin man

Phi = (1+sqrt(5))/2
Jaak is offline   Reply With Quote
Old 20th December 2003, 09:20   #8
fragmer
Senior Member
 
fragmer's Avatar
 
Join Date: May 2003
Posts: 101
gmegabuff is cool thing. that's for resolutions up to 1000x1000 i guess
But can someone explain me what is the difference between exec(), exec2() and undocumented exec3() ???
fragmer is offline   Reply With Quote
Old 20th December 2003, 11:13   #9
Jaak
Major Dude
 
Jaak's Avatar
 
Join Date: Jan 2003
Location: Estonia.
Posts: 851
WTF are you talking about resolution!?
megabuf() and gmegabuf() are simply arrays, where you can store data... megabuf() is local to scope (dm, movement etc.) but gmegabuf() is global...
oh dear...

[edit]
deleted unworking example

Phi = (1+sqrt(5))/2
Jaak is offline   Reply With Quote
Old 20th December 2003, 11:31   #10
Jaak
Major Dude
 
Jaak's Avatar
 
Join Date: Jan 2003
Location: Estonia.
Posts: 851
gmegabuf() example: storing 2D precalculated points into 1d array

[edit]
bit buggy code, but it works... somewhat
Attached Files
File Type: zip ru5tru.zip (410 Bytes, 166 views)

Phi = (1+sqrt(5))/2
Jaak is offline   Reply With Quote
Old 20th December 2003, 13:20   #11
Yathosho
Forum King
 
Yathosho's Avatar
 
Join Date: Jan 2002
Location: AT-DE
Posts: 3,366
Quote:
Originally posted by S-uper_T-oast
Could somebody just post the new AVS .dll so I don't have to dowload a whole new version of winamp on my 14.4 modem.
justin should put it on the NSDN site
Yathosho is offline   Reply With Quote
Old 20th December 2003, 13:37   #12
UnConeD
Whacked Moderator
 
UnConeD's Avatar
 
Join Date: Jun 2001
Posts: 2,104
I don't mind megabuf() at all: I played around with it already in SPS and you do a lot with it.

To make an array of n elements where the first element is removed and the last element is added: you just keep a fixed array, and calculate your indices dynamically so that the first element is in fact always a different one (so you don't have to shift the array every time you add a point). See attachment.

Like this: (virtual is the imaginary array we are simulating).

1st frame:
code:

megabuf = [ 1 | . | . | . | . ]
virtual = [ . | . | . | . | 1 ]



2nd frame:
code:

megabuf = [ 1 | 2 | . | . | . ]
virtual = [ . | . | . | 1 | 2 ]



3rd frame:
code:

megabuf = [ 1 | 2 | 3 | . | . ]
virtual = [ . | . | 1 | 2 | 3 ]



...
5th frame:
code:

megabuf = [ 1 | 2 | 3 | 4 | 5 ]
virtual = [ 1 | 2 | 3 | 4 | 5 ]



6th frame:
code:

megabuf = [ 6 | 2 | 3 | 4 | 5 ]
virtual = [ 2 | 3 | 4 | 5 | 6 ]



7th frame:
code:

megabuf = [ 6 | 7 | 3 | 4 | 5 ]
virtual = [ 3 | 4 | 5 | 6 | 7 ]

Attached Files
File Type: zip shift array.zip (287 Bytes, 180 views)

UnConeD is offline   Reply With Quote
Old 20th December 2003, 15:36   #13
S-uper_T-oast
Forum King
 
S-uper_T-oast's Avatar
 
Join Date: May 2003
Location: Fnord?!
Posts: 2,657
/edit
I think you posted the wrong AVS version, anubis. All it seems to be is the same as avs2.8 w/ no loop or array support.
/edit

Last edited by S-uper_T-oast; 20th December 2003 at 15:52.
S-uper_T-oast is offline   Reply With Quote
Old 21st December 2003, 04:39   #14
dirkdeftly
Forum King
 
dirkdeftly's Avatar
 
Join Date: Jun 2001
Location: Cydonia, Mars
Posts: 2,651
Send a message via AIM to dirkdeftly
uhh no that's not what i meant justin. what i meant was that this is not extendable, it's really tough to use - especially if you want to use more than 1 array - and it's EXTREMELY low level. my biggest problem is the variable limits. i honestly don't see what the big deal is with making extendable variable limits. i mean, why are the variable limits there in the first place? i'm not being accusative here, but i'd really like to know, since it doesn't make any sense. especially if you can extend it eightfold internally and not have a massive hit on performance.
the other problem i have is, when you add a function in avs it has very little possibility of ever improving. so that's why i don't like it when you add low level functions...they're not going to become high level functions in the future. along with the fact that since avs isn't parsing on the fly, a high level array management feature will have the same performance as megabuf() (I think). that's also why i suggested evallib2 - is there any chance that's gonna happen?

"guilt is the cause of more disauders
than history's most obscene marorders" --E. E. Cummings
dirkdeftly is offline   Reply With Quote
Old 21st December 2003, 16:28   #15
justin
Moderator Alumni
 
Join Date: Apr 2000
Location: USA
Posts: 315
FYI, there are no longer variable limits (Since 2.8). It only took a small compile-time hit to add that, but it did require a lot of code reworking.

Anyway, once you get used to megabuf()/gmegabuf(), dividing it up into your own arrays is pretty easy.. and having megabuf() doesnt prevent us from adding array_alloc() etc later on -- this just provides a nice low level means to access a block of memory.

Having said that, doing dynamic array allocation could have equal performance to megabuf() type functionality, but it really depends on how it would be implemented, and that we will determine someday heh...

-Justin

Quote:
Originally posted by Atero
uhh no that's not what i meant justin. what i meant was that this is not extendable, it's really tough to use - especially if you want to use more than 1 array - and it's EXTREMELY low level. my biggest problem is the variable limits. i honestly don't see what the big deal is with making extendable variable limits. i mean, why are the variable limits there in the first place? i'm not being accusative here, but i'd really like to know, since it doesn't make any sense. especially if you can extend it eightfold internally and not have a massive hit on performance.
the other problem i have is, when you add a function in avs it has very little possibility of ever improving. so that's why i don't like it when you add low level functions...they're not going to become high level functions in the future. along with the fact that since avs isn't parsing on the fly, a high level array management feature will have the same performance as megabuf() (I think). that's also why i suggested evallib2 - is there any chance that's gonna happen?
justin is offline   Reply With Quote
Old 21st December 2003, 16:42   #16
Raz
Forum King
 
Raz's Avatar
 
Join Date: Dec 2002
Location: Manchester
Posts: 6,470
All i'm really arsed about now is turning off that godawful 'effect lists open whenever you go near them' crap. And that crashing before never bothered me because you could save it quickly, can't do that anymore.

Raz is offline   Reply With Quote
Old 21st December 2003, 18:12   #17
fsk
Senior Member
 
fsk's Avatar
 
Join Date: Aug 2002
Location: right around the corner
Posts: 223
agree with raz. And the order of stuff in the menu is still wrong sometimes. But otherwise the new AVS rocks, and it rarley crashes during projections in fact there was only one crash yesterday and i wasnt there (sleeping), so i dont know if it was AVSs fault. Great work Justin!

I hate signatures!!
*bangs his head on the keyboard in hope of getting an idea*
Ufihreevf43n98pevfr
fsk is offline   Reply With Quote
Old 21st December 2003, 22:23   #18
sidd
Major Dude
 
sidd's Avatar
 
Join Date: May 2003
Location: Australia
Posts: 1,353
Firstly in responce to fragmers question: There is no "exec" function, only an 'exec2' and apparantly 'exec3' undocumented.
The syntasx is clearly documented in the expression help.
code:
st=exec2(assign(t,t+0.01),sin(t));
would replace the standard:
code:
t=t+0.01; st=sin(t);


i assume exec3 just extends the syntax to exec3(a,b,c), where a and b are executed plainly, and c is returned.


I havnt had a "mystery" crash since 2.8 (i think).

There is a problem with old installers reinstalling ape'S, and having them crash when you click. Ive never had a problem with this before, so i assumed it was something to do with the ape's uniqueidstring being doubled with the integrated version.

The array functionality is quite interesting. Im sure ill get used to it. and by now i can feel i trust Justin to come up with the most logical solution for the time. After all, he is realistically only doing this for the sake of a very small community. The rest of the world doesnt give a shit about arrays or loops.
sidd is offline   Reply With Quote
Old 21st December 2003, 22:51   #19
Raz
Forum King
 
Raz's Avatar
 
Join Date: Dec 2002
Location: Manchester
Posts: 6,470
Only time i get crashes is when changing the variable names for 3d rotation. Usually after a lot of unsaved tinkering but that's my own fault.

Raz is offline   Reply With Quote
Old 22nd December 2003, 22:09   #20
Raz
Forum King
 
Raz's Avatar
 
Join Date: Dec 2002
Location: Manchester
Posts: 6,470
eg:

everything excpet the floor was done without saving.

I think i'll go cry for a while.

Edit: well, i sat down, and redid the entire thing. Ack.


Last edited by Raz; 23rd December 2003 at 00:22.
Raz is offline   Reply With Quote
Old 27th December 2003, 01:59   #21
jheriko
Forum King
 
jheriko's Avatar
 
Join Date: Aug 2002
Location: a twist in the fabric of space
Posts: 2,150
Send a message via ICQ to jheriko
someone complained that 2d 3d array support is not there. even in c++ array[10][10] can be treated just like array[100] and using % you can use a 1d array just like an nd array.

Raz: I feel for you... I think everyone in these forums has probably lost 90% of some killer preset to a crash.

-- Jheriko

'Everything around us can be represented and understood through numbers'
jheriko is offline   Reply With Quote
Old 26th February 2004, 02:54   #22
OnionRingOfDoom
Member
 
OnionRingOfDoom's Avatar
 
Join Date: Nov 2003
Location: Brookly, NYC
Posts: 72
Send a message via AIM to OnionRingOfDoom
sidd: yeah, mine does that too. Gotta be careful to uncheck the plugins box on some pack installers. Luckly, the newer versions of Pimpbot exclude the plugins (I think). Anyway, my AVS rarely crashes.

Anyway, I figured I'd write something up for this place, so I'm gonna write a doc on making simple 3d geometric SSC primatives (sphere, cube, cone, etc.)
OnionRingOfDoom is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Visualizations > AVS

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump