Hi Lucas,
My sound manager system is designed to:
* lock a given sound so that it cannot be interrupted
* set the priority for different sounds
* fade out the lowest-priority unlocked sound and pause it
to make way for a new sound
* automatically fade the sound in again, either from where
it left off, or from where it would have got to if it had
still been playing, once a channel becomes available
* change the pan and volume of sounds based on their 3D
position relative to the user
* make Colin Holgate's coffee
I can't guarantee that it addresses all the issues that you
raise.
I'll send you a copy if you want it.
James
-----Original Message-----
Lucas Meijer wrote
The 8 sound channel limit completely drives me nuts. Every
project I
work on, there are countless 3d sounds, music tracks, sound
effects etc,
and I always seem to go over 8. I allocate soundchannels
dynamically, at
the moment, but have no good way to deal with the situation
where all
channels are filled and I need an extra one.
Now, I just ignore the new sound, but that sound could well
be very
important.. like speech.
sometimes I decide to look at the list of current sounds,
and just kill
the one that is least important. That usually means
something
that isn't looping, since if I kill something that is
looping (say
background ambient sound), it's really silly if it stays
away forever.
what I'm hoping to implement is a way to take a current
"non important"
soundchannel, store its state, use the channel for
something else, and
when I have a channel available again, use that for the
"sound that was
in the freezer".
Has anybody tried such a scheme?.. I've put this off for
years since
there are so many things to take into account:
- the current sound.
- the currently queued sounds
- if there is a loopcount of say 8, how do I find out how
many loops
we've already had?
then there's some problems like not being able to use a
starttime, which
is greater than the loopstarttime.
Halfway trough my current implementation, I'm really
wondering how
people deal with this problem.
_______________________________________________
dirGames-L mailing list - dirGames-L nuttybar.drama.uga.edu
http://nuttybar.drama.uga.edu/mailman/listinfo/dirgames
-l
|