New in 0.4.0:
* Real time timestamping support. (Dennis)
* Will unref plugins that don't match the ABI version. (Dennis)
* Added VisRectangle system. (Dennis)
* New BMP loader that supports all depths and RLE encoding. (Sepp)
* visual_mem_set(), visual_mem_set16(), visual_mem_set32()
Optimized memset functions. (Dennis)
* VisVideo new composite system. (Dennis)
* VisVideo sub regions. (Dennis)
* visual_video_zoom_*(). (Jaak)
* visual_video_mirror_*(). (Jaak)
* visual_video_rotate_*(). (Jaak)
* Removed obsolete visual_video_depth_transform_to_buffer(). (Jaak)
* Added VisCollection system. (Dennis)
* Added VisHashmap. (Dennis)
* Added VisCache. (Dennis)
* VisAudio rewrite. (Dennis)
* Added .license bit to VisPluginInfo for realtime license check. (Dennis)
* Removed .struct_size and .api_version from the VisPluginInfo structure,
and revamped the plugin version check system. Put
VISUAL_PLUGIN_API_VERSION_VALIDATOR somewhere in your plugin and it'll
work. (Dennis)
* Homedir installable plugins ~/.libvisual/actor transform morph input. (Dennis)
* Added VisOS. Realtime priority functions are hosted in this module. (Dennis)
* Added VisMath. All kind of math related functions have been added, most
note worthy are the _vectorized_. All of these are accelerated by
mmx/3dnow/sse instructions.
* VisFourier completely revamped. (Chong Kai Xiong)
Breaks compatibility with 0.2 releases.
Libvisual is an abstraction library that comes between applications
and audio visualisation plugins.
Often when it comes to audio visualisation plugins or programs that
create visuals, they depend on a player or something else; basically,
there is no general framework that enabled application developers
to easily access cool audio visualisation plugins. Libvisual wants
to change this by providing an interface towards plugins and
applications; through this easy to use interface applications can
easily access plugins and, since the drawing is done by the
application, it also enables the developer to draw the visual
anywhere he wants.
The framework also allows you to morph to different plugins and
mix two at once; all kinds of neat tricks are possible using this
method.