Blog

Archive
| All posts |
  • Plane9 as a winamp plugin

    published on 4/13/2008 6:05 PM

    My long lasting plan for just about all screensavers where to create winamp plugins of them. I did that with the old planestate but seening as I couldn't actually connect the music to the screensavers action in a good way I put the project on ice.

    Well this time around that shouldn't be a problem since all I need to do is to create a new node that uses the winamps input as an output. For example a node that outputs spectrum data, waveform data or possibly a beat sensing node that output a value between 0.0 and 1.0 depending on how strong beat was detected in the music. From there your imagination should be able to do the rest of what could be done.

    But for a very simple example imagine taking the matrixtrails node and connecting up the color of it to a beat node and the matrix trails would pulsate to the beat. Neat.

    I'm not quite there yet, however I have taken the first step. The screensaver now run as an actual winamp plugin. It was a bit harder than I had hoped. The problem is that I really didn't want the plugin to run from the real winamp plugin dir since I need a few extra dlls (Like cg dlls and so forth) and that would clutter up the plugins dir. So to fix this I had to create a proxy plugin. It basically takes all commands it gets from winamp and send them off to another plugin placed in whatever dir you want. One of the reasons this was a bit harder than expected was that the plugin in the new directory didn't find the dlls it needed. Turns out that you had tell windows where he should look for dlls. You do that simply by calling "SetDllDirectory();" You might also need to set the working directory but after that your proxy plugin should work fine.

    I also plan on creating a Windows Media Player plugin later on since a lot of people seem to use that too. The neat thing there is that all scenes should work without any changes both as winamp, windows media player or screensaver scenes.

    What would be very nice would be if I could attach the screensaver to winamp. So if you had winamp running with some music and the screensaver got activated. The screensaver would use the scenes and data from winamp. However from what I have read so far so isn't this possible in a simple way. But we will see down the road.

    Here is an example of how it looks ![http://www.plane9.com/forumimages/2008-04-13-p9winamp.jpg)