I talked to my friend yesterday, and he says he wants to start up a project with me. He's really good with music, so we may put together a demo, using a lil' audio visualization and whatnot.
I've got a few ideas so far, but no general theme yet.
I tried researching the various audio libraries (DirectX's DirectAudio, OpenAL, SDL_Mixer, etc.), but I don't feel like any of them really meet my needs. OpenAL appears to be the best library of the ones I looked at, but I don't want users to have to install OpenAL to play the demo, especially since I can't redistribute OpenAL with my app. I'll probably go the DirectX route, even though all the layers of abstraction hurt my brain.
I also started working on VGUL again (yeah, yeah...). I've been working primarily on the resource management system. I think it's getting to be pretty solid.
I decided to strip out the built-in multi-threading support for resource loading and just make it thread safe. Later, when I develop my kernel system, a user will be able to launch a loading process in a separate thread. This should keep things unified and allow better error handling. I want to stay away from callbacks for error reporting when loading resources in a background thread; I'll let the user decide how he wants to handle the error reports based on his/her thread organization.
Keeping things thread safe is a real pain. The newest problem that has popped up is making collection files (files containing collections of resources) thread-safe. I may go the file-locking route, or I may try keeping track of open resource files somehow, and use normal mutexes.
Well I suppose that's all for now. Time to do some more research.