Commit Graph
121 Commits
Author SHA1 Message Date
Glenn Maynard 1912eea57c fix regression: sounds played before attract sounds reenabled can be
heard after reenabled
2007-05-03 05:04:12 +00:00
Glenn Maynard 59aaf0dec9 add FadeInSeconds property 2007-04-06 18:26:09 +00:00
Glenn Maynard f6677b20a3 p.m_FadeLength -> p.m_fFadeOutSeconds 2007-04-06 18:09:46 +00:00
Glenn Maynard 0191581eab remove unused GetSampleRate 2007-01-27 09:26:27 +00:00
Glenn Maynard 322ebd5baa remove RageSound::GetAbsoluteVolume; use "Volume" property instead 2007-01-27 07:32:13 +00:00
Glenn Maynard 1bf9de3543 float 2007-01-27 07:18:52 +00:00
Glenn Maynard e2d9d65065 add RageSound::PlayCopy 2007-01-18 08:41:47 +00:00
Glenn Maynard 4eb20f1e79 remove unsafe return value 2007-01-18 08:32:37 +00:00
Glenn Maynard a2d63e2767 RageSound::DeleteSelfWhenFinishedPlaying(). Replaces RageSoundManager::DeleteSoundWhenFinished, without needing to poll every sound in the list every frame and without any extra locking. 2007-01-18 08:16:10 +00:00
Glenn Maynard 9046f91eb2 use SoundEffectControl 2007-01-16 01:39:04 +00:00
Glenn Maynard eaf12eb84f remove SetPositionSeconds. Use m_Param.m_StartSecond. 2006-12-23 22:30:35 +00:00
Glenn Maynard 8a8976c460 merge RageSound::GetPositionSeconds and GetPositionSecondsInternal; fix lock order 2006-12-23 11:31:10 +00:00
Glenn Maynard 880490e4c2 split out RageSound::GetSourceFrameFromHardwareFrame 2006-12-23 10:56:40 +00:00
Glenn Maynard bc097b6b03 clamp hardware frames in RageSoundDriver, instead of in each sound 2006-12-23 10:53:39 +00:00
Glenn Maynard 2021bf22b8 missed CommitPlayingPosition commit 2006-12-23 10:30:33 +00:00
Glenn Maynard 2d8aa5e4d5 remove GetID 2006-12-23 10:09:37 +00:00
Glenn Maynard d15a1e0fc3 clarify 2006-12-23 10:02:24 +00:00
Glenn Maynard e7c9bb14c4 remove id, registration; no longer needed 2006-12-23 10:02:08 +00:00
Glenn Maynard 76e3f6a14a simplify: remove RageSound::Fail 2006-12-23 04:16:21 +00:00
Glenn Maynard 9873757c06 merge GetData and GetDataToPlay; simplify 2006-12-23 04:13:18 +00:00
Glenn Maynard 9c8bd97190 remove unused 2006-12-23 04:07:46 +00:00
Glenn Maynard f2eb0043de remove RageSound::IsStreamingFromDisk 2006-12-23 01:16:37 +00:00
Glenn Maynard bafea3b7ab GetPosition() -> GetHardwareFrame; handle timing retry in the driver,
so the logic is available to the driver
2006-12-22 22:22:01 +00:00
Glenn Maynard 24624a5c92 GetDataToPlay API more like RSR::Read 2006-12-22 21:24:19 +00:00
Glenn Maynard 5bfc731036 remove old GetPCM 2006-12-13 18:40:02 +00:00
Glenn Maynard 7385c1f4c1 merge SetPosition_Accurate and SetPosition_Fast. Use a property
instead.
2006-12-10 08:59:13 +00:00
Glenn Maynard 8c7173f26c use RageSoundReader_Pan for panning 2006-12-10 00:43:51 +00:00
Glenn Maynard d30d0c0e76 expose SetProperty 2006-12-09 23:54:33 +00:00
Glenn Maynard d0153d06b3 remove unused 2006-12-07 02:51:08 +00:00
Glenn Maynard edcc1c2f40 bind RageSound 2006-12-04 22:31:25 +00:00
Glenn Maynard 90b56c3705 remove m_fRate (if you really want that effect, set both pitch and speed) 2006-11-30 07:34:05 +00:00
Glenn Maynard 458be5efa4 add RageSoundLoadParams, to specify load-time params
allow loading pitch shifter
add pitch and speed params
2006-11-30 07:28:26 +00:00
Glenn Maynard 9ee3bee4fd remove SetPlaybackRate 2006-11-30 06:45:31 +00:00
Glenn Maynard 2ee6acbcbe stream frames are 64-bit (sound driver api change) 2006-11-30 06:00:51 +00:00
Glenn Maynard 7af5741c08 stream frames are 64-bit 2006-11-30 05:55:42 +00:00
Glenn Maynard eee319b535 Refactor sample tracking to support GetNextSourceFrame and
GetStreamToSourceRatio.  This will allow RateChange() to
be implemented with a filter, instead of being built into
RageSound, allow filters that change the music rate while
preserving robust correlation to the original audio.

This tightens up the frame definitions, resulting in three
frame counters:
 - source frames; frames into the original source audio
 - stream frames; frame counter after all filtering
 - hardware frames; the sound driver's frame counter

All frames are in the sample rate of the stream; if audio
is resampled to match the hardware, the resampled audio is
considered the source audio, and frame units are in the
resulting sample rate.

By design, source frames are never exposed to the sound
driver, which only deals with stream and hardware frames.

The principle of the ratio API is that while a filter stream
should ideally output audio at the exact rate it advertises
through GetStreamToSourceRatio, rounding error will inevitably
creep in.  Rather than depending on the ratio being exact
over an arbitrary length of time, each filter's GetNextSourceFrame
calculates the actual next source frame.  Typically, it
will be equal to (its value before the previous read) + (number
of frames read * previous ratio).  This avoids hard-to-debug
synchronization drift.

(This also eliminates the 1k buffer which was used for crappy
rate changing, which can be readded with a buffer filter if
needed.  Rate changing is disabled for a while until a bit
more work is done.)
2006-11-30 03:54:57 +00:00
Glenn Maynard f50944c291 unused 2006-11-30 02:17:53 +00:00
Glenn Maynard f2b893939d SoundReader -> RageSoundReader 2006-11-29 02:20:10 +00:00
Chris Danford 7f821e8cfc CString -> RString 2006-01-22 01:00:06 +00:00
Glenn Maynard ee14402dd8 remove unused 2005-12-23 05:21:32 +00:00
Glenn Maynard 3a77a52dba this only returns bool; fix comment 2005-11-23 18:52:49 +00:00
Glenn Maynard 7a67264ece remove GetVolume 2005-10-23 07:05:33 +00:00
Glenn Maynard 03cb8bda22 remove unused 2005-10-19 11:47:56 +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
Chris Danford 7b345b5c75 make volume changes affect playing sounds 2005-10-02 08:35:46 +00:00
Glenn Maynard 2f3905325d style cleanup 2005-09-23 00:12:32 +00:00
Glenn Maynard 935675cef6 cleanup 2005-06-08 21:22:08 +00:00
Glenn Maynard 55f47ff85c style cleanup 2005-06-08 04:47:03 +00:00
Chris Danford c45c229995 cleanup: don't cast bool to int 2005-03-16 04:10:10 +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