View Single Post
Old 14th December 2009, 01:16   #11
Ben Allison
Former Winamp Developer
Benski's Avatar
Join Date: Jan 2005
Location: Brooklyn, NY
Posts: 1,057
NS-EEL2 is the equation evaluation library that powers MilkDrop 1.x and the first stages of the pipeline in MD2.

I made a heroic effort to port AVS to use EEL2, but the APEs (vis_avs plugins) don't work unless vis_avs is compiled with an ancient version of the microsoft compiler. It uses a C++ interface and unfortunately the binary layout of C++ objects can (and does) vary between compilers, even different versions of the same product. If I can get EEL2 working under the older compiler (it might ...) then perhaps there will be an upgrade. EEL2 won't add much to AVS but it might be slightly faster.

As for open-sourcing MilkDrop 2, there's certainly a number of issues. As Koopa said, the lack of enthusiasm around AVS and MilkDrop 1 is very disappointing. Also, it didn't take very long for these visualizers to show up in competing products. Although having community help on the visualizers would be great as I have only 24 hours in a day and have to sleep for at least a few of them I might be able to work something out but no promises.

Originally posted by QOAL
AVS is a legal minefield licensing wise, so it's best for any non-AOL developers to stay away from it, even Justin has mentioned that himself. (That and as I'm sure all people that have touched AVS know, it's buggy and hard to compile correctly.)
Fridge is being developed by some of the finest AVSers the scene had, which will use the GPU to render as opposed to the way AVS does it - It's open source so if you want to help develop that then you can. (Look in the AVS sub forum)

EEL2 is, unless I'm mistaken, actually better than the EEL in AVS. (So curse you MilkDrop )

What it does is it takes the users code input and compiles the code on the fly so it can act natively within the program (Well within a VM). Defining any new variables as it goes.
Without it you'd find it very limiting to produce any presets since you'd be stuck using predefined variable names and you wouldn't be able to do anything fancy with maths.
Blah = 1, instead of blah = sqrt(woo * cake)
Pretty much. (Shout at me if I'm wrong though)
Benski is offline   Reply With Quote