|
|
#1 | |
|
Senior Member
Join Date: Aug 2002
Location: USA
Posts: 158
|
Winamp 5.01 with AVS loops and array things (AVS v2.81b)
Quote:
|
|
|
|
|
|
|
#2 |
|
Forum King
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.
|
|
|
|
|
|
#3 |
|
Forum King
|
![]() 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 |
|
|
|
|
|
#4 | |
|
Moderator Alumni
Join Date: Apr 2000
Location: USA
Posts: 315
|
Quote:
-Justin |
|
|
|
|
|
|
#5 |
|
Major Dude
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. |
|
|
|
|
|
#6 |
|
Forum King
|
|
|
|
|
|
|
#7 |
|
Major Dude
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 |
|
|
|
|
|
#8 |
|
Senior Member
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() ??? |
|
|
|
|
|
#9 |
|
Major Dude
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 |
|
|
|
|
|
#10 |
|
Major Dude
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 Phi = (1+sqrt(5))/2 |
|
|
|
|
|
#11 | |
|
Forum King
Join Date: Jan 2002
Location: AT-DE
Posts: 3,366
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Whacked Moderator
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: 2nd frame: code: 3rd frame: code: ... 5th frame: code: 6th frame: code: 7th frame: code: |
|
|
|
|
|
#13 |
|
Forum King
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. |
|
|
|
|
|
#14 |
|
Forum King
|
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 |
|
|
|
|
|
#15 | |
|
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:
|
|
|
|
|
|
|
#16 |
|
Forum King
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.
|
|
|
|
|
|
#17 |
|
Senior Member
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 |
|
|
|
|
|
#18 |
|
Major Dude
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. would replace the standard:code: code: 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. |
|
|
|
|
|
#19 |
|
Forum King
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.
|
|
|
|
|
|
#20 |
|
Forum King
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. |
|
|
|
|
|
#21 |
|
Forum King
|
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. |
|
|
|
|
|
#22 |
|
Member
|
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.) |
|
|
|
![]() |
|
|||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|