New Sound System

Renanse, I was wondering how things were coming on the new sound system and how long you think it will be before that is in a workable state?  If it's going to be a while I'm going to need to do something else temporarily.

If it has been pushed back or will not be able to be contributed let me know and I'll get to work on writing one myself.


Actually, I have it working quite well locally, but I'm not planning to commit (it should be ok since it is largely refactoring and such) until the design is proved out a bit more.

A few of the features:

AudioTrack - single point of entry for the programmer regardless whether you are streaming, reading into memory, or what have you.

Tracking - sounds do not live in the scenegraph, but you can have them track any given Spatial which will automatically set position and velocity (and eventually direction for sound cones.)

Music playlist - similar to what you'd see in iTunes or winamp.  Useful for setting up background music and the like.  Handles repeat modes (none, one, all) and shuffle.  Configurable crossfade between tracks.

Ear - basically your listener.  Can track camera or a spatial (or both…) to autoset orientation, position and velocity.  Throttling available to limit cpu impact.

Formats - Supports wav and ogg with much the same loader code as the old system.

Robust - Streaming is much more robust, allowing for periodic starving of the buffer and other such fun stuff.

I'm still working on a few things like cpu driven reverb and incorporating other software filters.  Proper resource management is still on my plate as well.

Anything else you are looking for?

That looks great!

The only thing I can think of that I might want is the ability in the Music playlist to be able to fade-out one song at any point and move to a new song or stop entirely.  For example, if I have a game that has serene music until an enemy appears and then I want it to fade-out and fade-in the more up-beat music for fighting, then when the enemy is vanquished to fade back to the original music.

MP3 support would be awesome, but somehow I don't think that's going to happen anytime soon. :wink:

Something else that might be beneficial is an "Environment" that could make the audio sound different based on the properties of the environment or location within the environment.  That may be a little bit more advanced than is really feasable at this point though.

Great work, I can't wait to start using it.

Crossfade between tracks covers what you are talking about wrt shifting between tracks, so we'll be good there when that's completed.  MP3 support is probably doable by the programmer via writing an appropriate reader and plugging it in, but due to license concerns that won't be me.  The reverb stuff I mentioned is basically environmental effects.  I will get to that much later though (like in a couple months) I suspect due to its complexity and the amount of time we have in our current schedule.