Advanced Visualization Studio (AVS), is a music visualization plugin for Winamp. It was designed by Winamp's creator, Justin Frankel, among others. AVS has a customizable design which allows users to create their own visualization effects, or "presets". AVS was made open source software in May 2005, released under a BSD-style license. โ Wikipedia
This fork is a MingW-w64 GCC 8+ as well as MSVC 19+ port of AVS.
The goal was to create a v2.81d-compliant vis_avs.dll version that can be built with a modern toolchain, which was largely successful. One notable exception being that APEs (AVS Plugin Effects) cannot be loaded โ so many effects are integrated as builtin effects instead.
vis_avs.dll
, loadable with Winamp.These are near-future goals, and most are tracked on the
issues board. For further development
of AVS itself there are many ideas for improvement and known bugs. Have a look at
wishlist.txt
for a list of issues and feature-requests, both old and
new.
First, install a 32bit MingW-w64 GCC (with C++ support) and and a cross-compiler CMake.
Choose your Linux distro, and run the respective commands to install the build dependencies and cross-compile AVS:
Once you've compiled vis_avs.dll
, copy it (and some stdlib DLLs that got introduced by
MinGW) to the Winamp/Plugins folder and run it with Wine:
cp vis_avs.dll /my/path/to/Winamp/Plugins/
# Not all of these might exist on your system, that's okay, you can ignore errors for
# some of the files.
# You only need to copy these files once, they don't change.
cp /usr/i686-w64-mingw32/bin/lib{gcc_s_dw2-1,ssp-0,stdc++-6,winpthread-1}.dll /my/path/to/Winamp/
# Run Winamp
wine /my/path/to/Winamp/winamp.exe
Open the folder with Visual Studio, it should automatically detect the CMake configurations.
If you don't want to do this, there are some caveats to using CMake itself directly:
-DCMAKE_GENERATOR_PLATFORM=Win32
to get a 32-bit project. Nothing builds under
64-bit with the MS compiler due to __asm
blocks (yet).If you properly installed Winamp2 with the installer the project import should pickup
the installation location for you and will copy the output vis_avs.dll
into the
Winamp/Plugins
directory for you. You can then:
Ctrl
+Alt
+P
), search for "winamp"If going through the code reveals areas of possible improvements, mark them with a TODO comment, possibly using a secondary flag to categorize the suggestion:
tag | intent |
---|---|
// TODO [cleanup]: <comment> |
cleaner or more readable code is possible here |
// TODO [bugfix]: <comment> |
more stable or less buggy code is possible here |
// TODO [performance]: <comment> |
the performance of AVS could be better here |
// TODO [feature]: <comment> |
a new capability of AVS could be implemented here |
Thanks to Warrior of the Light for assembling the source from various edits and patch versions that floated around soon after the code publication.
BSD-3, see LICENSE.TXT.