-- Libvisual manifesto --
In this document i'll clearify my motivation why i've begun libvisual.

I must admit that i had the whole idea of a middle layer for audio
visualisation and applications in my mind for quite a few months. It
started a bit when i was working on a (never finished) SDL port of
the gforce visual plugin. At the same time (that is end 2002, beginning 2003)
i was hacking on a visual called 'oinksie' which is also included in this
package. I wanted both to not just only work with xmms but rather work
with everything, that is, stand alone, gstreamer, xine, mplayer etc etc.
To achieve this it meant quite some code for both projects, this
situation sucks. The whole idea went dead for a while because interests
shifted but somewhere in 2004, February i was talking to Jorn, who is
the muine author about how handeling visualisation under linux sucks
and that we, that is all the developers and the community could do
way better and actually have some sort of easy to use standard for
both the plugin developers and application developers. Thus libvisual
started.

Libvisual is a library that comes in between audio visualisation plugins and
the applications. It offers an easy to use API for both the plugins
and applications and makes it very easy to let applications pick
a visual and draw the visual whereever the application wants it
to be drawn. For instance it would solve the issue with goom where
most projects include their own version of an outdated goom instead
of using libvisual to do visualisation, and thus also always
support the newest goom.

Another great aspect of libvisual is that since all the drawing is
done via a generic system, you can do neat tricks like combining two plugins
at once by using different mix technologies, such as alpha blending them
into each other. Using this technic you can also morph from one plugin
to another and schedule them which gives some VJ capabilities. Libvisual
could also be used in combination with other software to, let's say
mix video and visuals, draw visuals on GL surfaces, your imagination
is the limit.

All by all libvisual should simply make linux and audio visualisation
just work, everywhere, all the time, however you want it. And very pretty!

Cheers,
Dennis

