Commit Graph
73 Commits
Author SHA1 Message Date
Glenn Maynard 418bce60a8 SoundDrivers into RageSoundManager 2005-12-31 02:35:49 +00:00
Glenn Maynard 08dd174e5c RageSoundManager::AttenuateBuf -> RageSoundUtil::Attenuate
comment
2005-12-30 19:03:09 +00:00
Chris Danford 15880eafd6 When in attract and not playing attract sounds, have SOUNDMAN only play sounds with RageSoundParams.m_bCriticalSound == true.
Currently, only the coin sound has RageSoundParams.m_bCriticalSound = true.
2005-10-04 06:51:06 +00:00
Glenn Maynard 2493236cea add reference counting for preloaded sounds
This doesn't give full refcounting: loading a sound that isn't preloaded
will still go through a full load (eg. initting Vorbis, etc).  This handles the
most expensive case, where the whole sound is loaded.  This case is
easy because we can make free copies, and track the number of copies
remaining to handle cleanup.
2005-07-18 19:08:28 +00:00
Glenn Maynard 14a3b69f84 style updates 2005-07-03 04:03:46 +00:00
Glenn Maynard ef68b4acdd Working on clean pausing support. (This will break the ALSA and DSound hardware builds until they're updated, soon.) 2005-03-10 22:49:28 +00:00
Glenn Maynard 0e8b4b8371 comments, cleanup 2005-02-13 03:21:22 +00:00
Glenn Maynard 26bae5f769 add DeleteSoundWhenFinished, PlayCopyOfSound 2005-01-08 16:58:37 +00:00
Glenn Maynard 9bc770c83f FlushPosMapQueue optimization 2004-11-15 19:11:57 +00:00
Glenn Maynard ca62f3d94f Add optional Shutdown() call, to shut down the driver before deleting
SOUNDMAN.

Remove g_DeletionMutex; no longer needed.
2004-11-15 05:22:39 +00:00
Glenn Maynard 9c3a20dfc1 remove playing_sounds 2004-11-15 05:19:38 +00:00
Glenn Maynard 4a615a8d1e remove GetPlayingSounds 2004-11-15 05:18:50 +00:00
Glenn Maynard 36e7a78ea6 remove RegisterPlayingSound, UnregisterPlayingSound 2004-11-15 05:15:06 +00:00
Glenn Maynard e990931b61 remove GetCopies 2004-11-15 05:05:31 +00:00
Glenn Maynard 4d2503c386 remove StopPlayingAllCopiesOfSound 2004-11-15 04:54:48 +00:00
Glenn Maynard de5c504191 RageSoundManager::StopPlayingSoundsForThisThread 2004-11-15 04:53:15 +00:00
Glenn Maynard 57002035fd cleanup 2004-11-14 21:04:09 +00:00
Glenn Maynard 35bdf452dd split RageSoundMixBuffer into its own file 2004-10-24 03:05:57 +00:00
Glenn Maynard 433827c2de remove ProtAllocator hack 2004-10-15 21:44:23 +00:00
Chris Danford b2cf196d74 fixing Xbox compile errors 2004-06-15 06:24:58 +00:00
Glenn Maynard a5eed9dfa5 vc6 workaround 2004-06-06 01:48:53 +00:00
Glenn Maynard 2ccea8dcf6 very temporary hack to try to track down all_sounds corruption 2004-06-05 01:04:17 +00:00
Glenn Maynard 838bb0aba4 remove catch() that's preventing us from getting complete backtraces to
unexpected sound driver exceptions
2004-05-23 21:13:19 +00:00
Glenn Maynard 56d421a186 unneeded includes 2004-05-11 21:16:59 +00:00
Glenn Maynard 9dfcb5b7e1 convert sound types 2004-05-11 20:32:55 +00:00
Glenn Maynard f9f10e2372 more license updates 2004-05-06 02:40:33 +00:00
Glenn Maynard 712e1ec445 If a sound is started, plays for a while, then stopped, repositioned and
started quickly, queued position data from the previous play will still
be flushed.  We clear already-flushed data in StopMixing (pos_map.clear())
so we don't have stale data, but some is being re-flushed afterwards because
we have the same ID.  Change sound IDs when stopping a sound.

(The symptom was the first frame in Play mode in the editor would process
using an old position; the position was usually later in the song, which
sometimes marked hold notes as dead.)
2004-05-02 23:54:39 +00:00
Glenn Maynard b925b61654 fix lock ordering
all sounds are now deleted in the main thread
2004-04-16 22:28:01 +00:00
Glenn Maynard 1875901837 Rewrite sound locking. Having a single global mutex for the sound system
is causing contention, leading to skips.  A detail on this is probably
coming to -devs soon ... (this will break the ALSA hw driver compile until
I update it; an hour or so)
2004-04-13 00:04:09 +00:00
Glenn Maynard 37de4a8898 Add RageSoundManager::StopPlayingSoundsForThisThread. We
need to stop playing the sounds that a thread started before exiting
the thread, or it causes unpredictable behavior with DirectSound.
2004-04-07 03:47:12 +00:00
Glenn Maynard 960bc1eaac rename RageSoundManager::StopPlayingSound to RageSoundManager::StopPlayingAllCopiesOfSound 2004-04-07 03:42:14 +00:00
Glenn Maynard 058695b969 simplify: get rid of sounds_to_delete 2004-04-07 03:31:27 +00:00
Glenn Maynard f59f22d1fd RageSoundManager::CommitPlayingPosition, RageSoundManager::FlushPosMapQueue 2004-03-18 03:04:44 +00:00
Glenn Maynard 6ea531d584 give each RageSound instance a unique ID 2004-03-18 01:31:34 +00:00
Glenn Maynard 7c001d6370 add offset param to SundMixBuffer::write() 2004-03-18 01:23:35 +00:00
Glenn Maynard be03ed1c21 Pass RageSoundParams to Play() (or SetParams). This should help fix
the long-standing ambiguity of "what happens if parameters are changed
for a second copy of a sound when a first is still playing".
2004-02-28 02:09:46 +00:00
Glenn Maynard 8ff6ad9bf5 SoundMixBuffer work 2004-01-21 10:32:01 +00:00
Glenn Maynard 040bba5a8c 64-bit frame counts, so we don't get confused when frame counts
pass 2^31 (takes about 13 hours)
2004-01-19 22:21:02 +00:00
Glenn Maynard e2319874ac fix comments 2004-01-15 03:13:26 +00:00
Glenn Maynard 71e2f1d8d7 partial s/RageSound/RageSoundBase/ 2004-01-15 03:12:18 +00:00
Glenn Maynard 97d088db50 remove RageSoundManager::PlayOnceFromDir (in SOUNDS now) 2004-01-15 02:56:04 +00:00
Glenn Maynard fed157e934 use RageSoundBase 2004-01-15 02:33:41 +00:00
Glenn Maynard 8b6030e299 remove RageSoundManager::MixAudio 2004-01-15 01:46:09 +00:00
Glenn Maynard f25f68b3f5 add read( float * )
optimize full volume
2004-01-14 22:09:55 +00:00
Glenn Maynard f226bde635 remove "fake" sounds 2004-01-14 08:10:37 +00:00
Glenn Maynard db15c73035 cleanup 2004-01-14 08:07:42 +00:00
Glenn Maynard bbbb76d551 RageSound handles SOUNDMAN->playing_sounds itself 2004-01-14 08:00:51 +00:00
Glenn Maynard 6d4ddb2a2d simplify 2004-01-14 01:41:32 +00:00
Glenn Maynard 5228f9df9c sample rate update 2004-01-03 02:36:14 +00:00
Glenn Maynard 51d60e1db1 add RageSoundManager::AttenuateBuf 2003-10-22 03:39:52 +00:00