Skip to content
Forum Archive

Cockos Happy AVS

39 posts

justin#edited

Cockos Happy AVS

Hello everybody,

We've done some modifications to the version of AVS that is on nullsoft.com, and merged back into it our own modified version of EEL (that we use for Jesusonic, REAPER, etc).

The current build is here: http://1014.org/shiz/vis_chavs.dll

We will definitely open source this version soon, but the important differences are:

1) Variables can be longer in length (16 characters)

2) You can use a newer syntax for if(), below(), assign(), etc.

For example, instead of:


if (above(x,0),assign(y,3),0);
or
if (above(x,0),assign(y,3),assign(y,4));
or
if (above(x,0),exec2(assign(y,3),assign(z,2)),assign(y,4));
You can do:


x > 0 ? y=3;
or
x > 0 ? y=3 : y=4;
or
x > 0 ? ( y = 3; z = 2; ) : y=4;
3) Instead of megabuf(x+y) or gmegabuf(x) you can just use x[y] or gmem[x].


There are other changes -- for more information on the new syntax, see:



(most "advanced functions" are JS only, except loop(), while(), freembuf(), memcpy(), and memset()).

I know AVS may be somewhat stagnant at this point, but hopefully this might help get some life back into it.

If anybody finds this useful let me know...

-Justin
QOAL#
Justin, you are a legend.

The new syntax looks miles better! (Code will actually be human readable now 🙂)

Thank you for releasing an updated AVS after such a long time.
There isn't many people left (here at least) now, but who knows who'll turn up now, for a look.

(Looking at the file name, I was thankful to see it wasn't a prank visualisation of some chavs when I ran it.)

I'll go play with it now.

Cheers!
Warrior of the Light#
Wow, I certainly didn't expect this anymore.
Thanks a lot!
I really hope this was what we needed to get more artists active.

Qoal already mentioned that the code will be humanly readable, which is a big plus.
several people have said that the sourcecode was very hard to read and, because of that, even harder to improve. How's that for this version?
Warrior of the Light#edited
unexpected behavior:
The rand() function should only give integers.
Example: rand(2) should only result in 0 or 1, but is now somewhere between 0 and 1.9[..]99.

Or is this intended?
justin#
Originally Posted by Warrior of the Light View Post
unexpected behavior:
The rand() function should only give integers.
Example: rand(2) should only result in 0 or 1, but is now somewhere between 0 and 1.9[..]99.

Or is this intended?
Thanks, will fix this in a new build later today.

-Justin
swingdjted#
Thank you so much for keeping it alive. I really love AVS, and it is a true understatement to say I really appreciate all the work that has gone into it's development and the development of the presets.

Unfortunately I'm not very well informed on the technical end of things, but does this help stability on newer operating systems? XP was really good for AVS, but then Vista and 7 were bad for me. I'm currently running 64-bit windows 7 ultimate, and I get better stability on Windows 7's "XP Mode" than 7 without it. Hopefully playing with this new version will be better.

Either way, thank you very much for all the work you've done.
Warrior of the Light#
In fact, it hasn't crashed on me at all this far (keeping my fingers crossed) on XP pro (32bits)
swingdjted#
HEY! I figured it out! (or maybe someone else did first and I didn't read about it)

My problem even with this new version was that AVS refused to stay fullscreen more than a second or two.

My solution is to tell the computer to automatically disable Windows Aero each time I open Winamp. This works on my version of windows (7 Ultimate x64). I'm hoping other Aero versions of 7 and Vista have the same ability.

1.) Right click on the shortcut that one uses to open Winamp.
2.) Click properties.
3.) Click the compatibility tab.
4.) Click/check the "Disable desktop composition" checkbox.
5.) Click the Apply button.
6.) Click ok.

As a result of this procedure, Aero will automatically become disabled when you open winamp, but will also automatically re-enable itself each time you exit Winamp. While Winamp runs without Aero, AVS works very well just like on XP, if not better.

Thanks again for releasing "Cockos Happy AVS"!
Yathosho#
-have you thought about including bigfug freeframe streaming into the official avs build?

-have you thought about reworking the UI of the avs editor? there are several mods available already (visbot, micro.d and serveral privately kept mods).

all of these mods have one thing in common: they have been created because the official UI is pretty limited and old-fashioned. personally, i prefer a larger window with a big avs window docked into the editor. i also prefer buttons over menus - the latter can act slowly when performing avs live, with buttons you can switch much faster through the settings.

i acknowledge, that my prefered avs editor (from the visbot mod) has one big disadvantage: it requires a rather huge desktop resolution. but i think this could be solved through a cleverly made, resizable editor window. certain elements of the editor like the treeview on the left and the text fields should resize with the entire window size, which -i think- is not possible when using the resize APE.

though this might never happen, as it's too much work, i think the best thing would be to have the avs editor as an OSD. it makes good sense to run avs in fullscreen, so why not allow editing and navigation (selection of presets etc.) in fullscreen? milkdrop and many other visualization tools offer this already.
swingdjted#
Where can I get that visbot mod? I use 1920x1200, so resolution won't be a problem.

The only resolution problem I have is keeping the fps up. I can go native fullscreen with a reasonably smooth frame rate (20-60 fps) but usually only with pixel doubling checked. Since my last post, I have had a couple crashes, but I was told it may be because of some old APEs. Overall, I really like this release. Making presets is a little easier now.
Yathosho#
i've attached the resource file for avsmod, in case somebody wants to use it when compiling the current sourcecode
drlava#
Hi Justin, a friend and I have recently made updates and fixes to the released AVS code, mostly related to the LASER compiler switch. Maybe we can combine this with your updates for the new source release?
[Ishan]#
whoa! an updated version? really? 🙂 I just came across the forums for old time's sake.. and I find good news! The syntax seems better... maybe those glorious AVSing days will return!
swingdjted#
It's funny, all these years and really, no one has come up with any program like it, except maybe Milkdrop which I don't feel is as versatile in terms of the different types of visualizations one can make.

Long live AVS!
micro.D#
wowow! that syntax is just awesome!
well yathosho has the point. i'm using avs for vj-ing and the original editor is not the best for using it live. so i've made my version.
only problem i have with it that it freezes after 2 presets (i mean it loads happily the initial preset then i can load another one and then when i want to load yet another one it freezes). interesting that winamp continues to work but it won't respond when i want to close it (or stop avs).
TomyLobo#
amazingly eeltrans.ape seems to work with both 2.83 (from winamp 5.56) and 2.9 (from here, fetched 2010-10-10)

the new EEL should still be able to interpret eeltrans's output
I didn't test all of the new EEL features, so some of those might still break, but I'm quite optimistic that they don't 🙂

some more testing revealed that the new EEL is a bitch and silently ignores errors. should be fixed

eeltrans features that might still be helpful even with the better EEL:
- C-style #define macros
- compatibility with older avs versions 🙂 (that is, provided you don't use the new EEL features)

the irony is that eeltrans contains hackery at a much lower level and yet works, while aperesize breaks
I might look into fixing it later, but I neither promise that I do nor that I'll fix it.
Tuggummi#
Sorry Justin, but this is too little very too late. For majority of the people AVS was not about the code, it was the freedom of doing hundreds of different kind of presets with only minor changes to the effects. I personally left AVS because anything original you could accomplish was through very heavy coding.

You want to revive avs? Make it more user friendly, notice that user friendly does not mean "dumbing down", I never understood fully any of the code I wrote and I did some pretty complicated stuff, that was because I learned from other members of the community, I copied their code, I shaped it, I molded it, I made it fit my preset. That is what AVS was for me, I hope that is what it can be in the future.
swingdjted#
Perhaps that would make quite a revival. Really all I ever knew how to do was steal other people's code and trial-and-error it (I guess the in thing to say would be "remix") until I found something I liked, and I really never submitted any packs or presets because of how shamelessly "ripped" they were. [I also had a lot of fun adding images to many existing presets too.] If I understood more about it, I might be more willing to create more of my own stuff and possibly contribute.

I wouldn't go as far as too little too late, because every step to making things more human friendly is significant, regardless of how long it takes. Art (including mediums) can often be an evolution rather than a revolution.
TomyLobo#
you can't even really trial-and-error anymore now, since it simply ignores pieces with errors and goes on with the next, without showing you the error
radian#
The one thing I really want in AVS : change presets by receiving MIDI prg changes instead of (as well as) using hotkeys.

Any chance of seeing something like this added, Cockos?
TomyLobo#
This could be done with an APE. no need for a change in AVS itself

though it would probably be easier with some kind of api to mess with the current preset etc
swingdjted#
In the last 5 years, he his account shows 3 posts, two of which are in this thread - I'd say that's giving a lot more attention than normal. I'm just glad he was willing to release the updated software.
Yathosho#
i've put together a new version of avsmod, based on chavs. same interface as previous mods, plus correct version resource for the dll.

get it here!
TomyLobo#
you should really modify aperesize instead, so it resizes dynamically 🙂
that way you also don't have to patch again for each new binary release.

I can explain you the code if you want, too