I think the topic speaks for itself Has anyone hacked/fooled winamp vis modules yet? i.e. loaded them and passed them waveform data from code using fmod.
Its been done in xaudio, but it was at the time a real hack job of the demo xaudio player source. (anyway xaudio is not even free anymore) someone else has hacked sonique plugins, but their stuff crashes after a short while.
Anyway I’m going to give it a shot if noone has already done the work.
The other thing is – would the winamp guys get annoyed if someone wrote a player using their plugins? 😉
<font size=-1>[ This Message was edited by: Kon on 2002-01-30 08:49 ]</font>
For my part, i ve done a simple DLL wich handle vis winamp module (dsp support is in wip). It can be used with any 32 bits langage (vb, delphi, c…) and work pretty well. It was base from my old code mixed with Blackshard’s code.
Tiny Fullscreen doesn’t hang the system and after testing 50 plugins, only one fails (acidpunk II).
I’ll post the resul with a simple VB app wich show how it works.
I would be interested in having a look, I would be more interested in having a look at the code if that is possible. The reason is that I’m mostly interested in learining about handling plugins etc Using Winamp vis was just a good way to play with it. I would be greatfull though, for anything that you could send. <a href=”mailto:email@example.com”>You can email me here.</a> Thanks
<font size=-1>[ This Message was edited by: Murph on 2002-04-29 15:39 ]</font>
I didn’t have hacked winamp vis yet, but I work currently on Sonique vis. Some work already, but some doesn’t work right now. But I think I get it work this week, maybe in 2 hours 😉 My biggest problem is still, that the Sonique vis API is in C and I use Delphi. Sonique vis are not so difficult to use. Just load the vis as a dll and call the QueryModul function and then the Initialize fundtion. Then you can use the data of FSOUND_GetSpectrum and send it to the DLL using the Render function. This function has an array with the colors for each pixel of the vis as result.
Uff, so much english, now I know, for what I’m going to school 😉
I’ve got everything working fine, the vis windows get their own thread, I’ve got the waveform data buffered AVS works fine as does the Nullsoft Tiny Full Screen but out of the others that I tried i had around a 75% failure rate, KarLKox has mentioned above that he has no problem with 99% of plugins so I just figure that my code is missing something really <small>small</small>.
I’d never tried to load a plugin of any kind in any code until last week so maybe I’m doing something wrong.
Hey… I made it! I added support for Winamp Vis Modules in my VB player!
You can download beta 2 version of my program here:
http://web.tiscali.it/sababros/Download … 1beta2.exe
I can send you my code, but I got issues because Vis Plugins need multithreading and some other strange things I currently don’t know.
For example, the Winamp AVS work perfectly, no strange bugs, no hang ups… while the Nullsoft Tiny Fullscreen hangs the system.
Another plugin (Geiss for Winamp) become slower and slower while it runs… A very strange behavior!
Thunderman – I’m using Delphi too. Took a look at the sonique plugin api, looks pretty straightforward. Did u get it working yet? If so, got some code you could share with us to show us how its done?
blackshard – I think the winamp tinyvis is a nonstandard vis. It crashes under Delphi too. I’d like to see how you did it under VB – my email is firstname.lastname@example.org
I’ve made a Delphi component and demo app to load winamp Vis Plugins if anyone is interested. It does not work with all plugins (I think a lot of plugins expect Winamp to be their calling process and fall over when it isn’t). It has a built in DSP unit to get the waveform data, it’s based on a few posts to this forum and partly on Blackshard’s VB code for the thread. It’s probably not the most efficient code, but it gets the job done.
Please login first to submit.