Charlie, I've admired your work from a distance, love it!
Just thought I'd share (again) At the moment doesn't look as pretty as some of the posts here, but;
(sorry, the second image isn't so good) These two effects are just placeholders at the moment, to test the system.
at the moment audio source is coming from wave files, and a playlist specified in XML, details of current track in top left. If the source was a audio CD, details would come from CDDB (
http://www.freedb.org) instead. I have issues relating to audio data streaming off the CD drive at the moment, (deviceIoControl, or my own fault, haven't decided which yet!)
Bottom left is the plug-in/effect name and version, and top left is the current seconds in the system. Each plug-in takes the form of the DLL library file and you tell the system about the plugs-in via the config.xml file. Again, you can configure the order of the effects via another xml file, or let the player decide for you, I hope to expand on this idea later, when everything works a little better. (if its going to be of any want to another, it really needs an editor, so a user can trigger events and effects at any time)
The audio processing systems are turned off at the moment, due to performance issues, my FFT algorithm is bloody slow, I'm considering implementing it in the GPU, otherwise if I cannot fix the problem, erm, well my ambitions might have to be scaled down somewhat.
Transistions between effects are not very exciting either, just a quick switch, I'll be replacing those with a variety of different effects, swipes, fades, *maybe* some crossovers.
The idea is that you can pre-program lots of different types of effects, which combine to form a complete effect, several layers, one piled onto the other, for example; so you can have a nice transparent cube rotating on a plasma background. the rotating cube and plasma background would both be seperate.
Still has lots of bugs and still lots to do!
P.S. I hate direct3D!