Libvisual is a library that acts as a middle layer
between applications that wish to display audio
visualisation and audio visualisation plugins. It
is aimed at developers who have a need for audio
visualisation, and those who write visualisation
plugins. By writing an audio visualisation plugin
for libvisual, the developer allows every
application that uses libvisual to use their
plugin. The application handles the actual drawing
of the graphics, allowing rendering done by
plugins to be drawn anywhere... as ASCII art, in
SDL, as a surface on an OpenGL object, etc.