Maybe some of you remember Sonique, the media player released by Lycos at the start of the century. That media player was mostly known for their amazing visual effects that react with music, and for being a nice alternative to Winamp.
These visual effects were made by third parties as *.svp files and could be downloaded from Sonique's website as *.exe files that extract this plugins into Sonique instalation folder.
Unfortunately (or not), Sonique years of glory ended time ago, and Sonique visuals were forgotten... Until now...
Soniqueviewer allows you to run these *.svp files without needing to install Sonique using SDL library. It also allows you to set bigger resolutions than allowed by Sonique, and to set custom framerate.
This project is compiled with MINGW and the SDL library using the make.bat script. Should work with MSVC too.
You must call soniqueviewer the following way:
soniqueviewer.exe Spec_n_Hopp.svp [-r 640x400][-w defaultwaveform.raw][-s defaultspectrum.raw][-v vis.ini][-f 25][-z 1]
The SVP file must be the first argument, the following are optional and default values are shown.
- -r: use this to change the resolution
- -w: use this to use custom waveform file
- -s: use this to use custom spectrum file
- -v: use this to use custom vis.ini file
- -f: limit the framerate / -F: don't show the visualization in a window, dump Frames in rawvideo to file instead
- -z: use (1) or not (0) the soniqueviewer zoom and blur function when needed.
Use ESC key to exit simulation, and ENTER key to toggle fullscreen
A sonique SVP file consists of a DLL library with a single function QueryModule() that return a struct with effect info and callback function pointers. This struct definition can be found in src/vis.h. There are 2 diferent versions of SVP files, that differ in VisInfo.Version 0 or 1. Version 1 adds mouse click support and callbacks Deinit, Clicked, and ReceiveQueryInterface.
Most of these effects need the Waveforms and Spectrums of the playing song to work. Soniqueviewer uses Waveform and Spectrum files for this purpose. Default Waveform and Spectrum dump from song "Da Edge - Believe" are provided in the repository to make Soniqueviewer work with these effects. There's also a waveform and spectrum dump plugin and source in the folder soniquedump.
flag SONIQUEVISPROC tells when Sonique native zoom and blur effect should be enabled. This makes Sonique to alter the video buffer on each frame zooming it and bluring it, so then the SVP Render callback writes over this altered video buffer. Since this is a native Sonique feature, I had 2 options: decompile Sonique or make a custom zoom and blur function. I ended making myself a customzoomandblur() function with very similar results to the Sonique's native feature. It's enabled by default, but can be disabled it with parameter -z 0. Examples:
There's 3 of the most popular Sonique plugins included in this repository:
-
CoR's - Spec'n'Hopp 1.1:
- Spec_n_Hopp.svp: effect file
- Spec_n_Hopp.txt: readme file
- Spec_n_Hopp.bmp: char bitmaps
-
Psikorp'99 - Miffo v1.0:
- Miffo.svp: effect file
- Miffo.txt: readme file
-
Mykel - Faited:
- Faited.svp: effect file
- Faited.txt: readme file
Spec'n'Hopp is the only included effect with mouse support and without Sonique native zoom and blur.