Commit Graph
24273 Commits
Author SHA1 Message Date
Glenn Maynard 2e33c0c9af comment 2006-12-27 09:32:57 +00:00
Glenn Maynard ee5219c1c3 style cleanup 2006-12-27 09:31:26 +00:00
Glenn Maynard a0f7127b10 Signal -> Broadcast 2006-12-27 09:29:42 +00:00
Glenn Maynard e1cd655ab9 fix EventImpl_Win32::Signal race condition (looks like Broadcast now) 2006-12-27 09:28:13 +00:00
Glenn Maynard 01bc9b4040 cleanup/scope 2006-12-27 09:19:50 +00:00
Glenn Maynard b7faf9c22b cleanup 2006-12-27 09:19:24 +00:00
Glenn Maynard 3551367fe4 These attempt to flush buffers and go back to reading directly if ratios
are set back to 1.  They don't work; the speed shift buffer won't line up
perfectly for all channels, and the resampler would need to be lined up
with the window and lerped.  Make these only read directly if the buffers
are empty, so these filters are cheap if their ratios are never used.  Fixes
clicks when moving the ratio around 1.0.
2006-12-27 09:19:02 +00:00
Glenn Maynard ad5b3543a6 don't scale SetPosition; it's in source frames 2006-12-27 09:13:48 +00:00
Glenn Maynard 73ca8f0a1e remove unused 2006-12-27 09:13:47 +00:00
Glenn Maynard 6e3673affb simplify 2006-12-27 09:11:57 +00:00
Glenn Maynard 461658edff simplify 2006-12-27 07:52:25 +00:00
Glenn Maynard 9f577de2e5 exact ratio (no fixed-point granularity) 2006-12-27 07:51:57 +00:00
Glenn Maynard 8f9885c229 Both the pitch changer and the resampler quantize the supplied ratio, making
aligning their speeds very difficult.  The resampler is more limited, and it's easier
to remove this restriction from the speed changer, so reverse this logic, basing
the ratio on the resampler instead of the speed changer.  (also simpler)
2006-12-27 07:46:10 +00:00
Glenn Maynard 76832cad3b add GetRate 2006-12-27 07:38:11 +00:00
Glenn Maynard ee2ab2b0bb remove stale cruft 2006-12-27 05:41:29 +00:00
Glenn Maynard 65e6922aca better rounding error fix. The ratio goes through a relatively low-resolution
fixed-point representation within SpeedChange (m_iDeltaFrames).
2006-12-27 05:40:00 +00:00
Glenn Maynard 1044552a6f expose GetRatio 2006-12-27 05:38:33 +00:00
Glenn Maynard 24ecf88620 pass errors
fix iMaxFrameRequested with negative frames
2006-12-27 02:00:15 +00:00
Glenn Maynard 102ccf3ed1 snap ratio 2006-12-27 01:58:52 +00:00
Glenn Maynard 7cf7403e29 simplify 2006-12-27 01:58:20 +00:00
Glenn Maynard 4ad3f023cd fix looping if iFrames == 0 2006-12-26 23:45:43 +00:00
Glenn Maynard 49b3473f65 fix ASSERT( iGotFrames <= iFrames ) 2006-12-26 23:29:11 +00:00
Glenn Maynard 41f8e2975e update ButtonPressed 2006-12-26 23:12:36 +00:00
Glenn Maynard 4b937130c9 remove Down 2006-12-26 23:11:10 +00:00
Glenn Maynard a6a1801b58 Store the real DeviceInput inside ButtonState. Store just the identifier
of the button in the map.  Do add unpressed buttons to the button state lists
(since they may have analog state); purge when level == 0.  This way, we
always have access to the current state, even when a button is debounced off.
2006-12-26 23:10:19 +00:00
Glenn Maynard a00bbed82c pButtonState will contain buttons that are not pressed. Check bDown, too. 2006-12-26 23:04:27 +00:00
Glenn Maynard c58510d128 clear aInputOut 2006-12-26 23:03:10 +00:00
Glenn Maynard 1151411af9 fix InputFilter::ResetDevice
Don't update g_CurrentState in InputFilter::ButtonPressed, but in the caller
instead.
2006-12-26 23:02:13 +00:00
Glenn Maynard a5d870f707 swap assignment 2006-12-26 22:57:18 +00:00
Glenn Maynard 9bfd0833b4 set level, not down param 2006-12-26 22:54:18 +00:00
Glenn Maynard 9f5101783d set level, not down param 2006-12-26 22:45:00 +00:00
Glenn Maynard e5ad264bbf phase out down param 2006-12-26 22:42:54 +00:00
Glenn Maynard 01d9e04916 no down param 2006-12-26 22:42:04 +00:00
Glenn Maynard 2d40b4b3d0 Use di.bDown. This is normally filled in via di.level. 2006-12-26 22:40:20 +00:00
Glenn Maynard 4dd2f3a301 less logic inside conditional 2006-12-26 22:35:49 +00:00
Glenn Maynard fec8269843 add bDown 2006-12-26 22:34:29 +00:00
Glenn Maynard 70b6a1ccd9 asserts 2006-12-24 09:53:59 +00:00
Glenn Maynard eaf12eb84f remove SetPositionSeconds. Use m_Param.m_StartSecond. 2006-12-23 22:30:35 +00:00
Glenn Maynard ff8237c56b set start position in RageSound::StartPlaying 2006-12-23 22:28:17 +00:00
Glenn Maynard 8a8976c460 merge RageSound::GetPositionSeconds and GetPositionSecondsInternal; fix lock order 2006-12-23 11:31:10 +00:00
Glenn Maynard ecb93a7fd2 call SOUNDMAN->GetPosition unlocked (driver call), and GetSourceFrameFromHardwareFrame locked; also simpler (GetPositionSecondsInternal uses m_iStoppedSourceFrame) 2006-12-23 11:01:09 +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 ec08155a86 simplify 2006-12-23 10:33:53 +00:00
Glenn Maynard 98a3d5f856 more consistent code path: call SoundIsFinishedPlaying when the driver stops mixing, even if it's due to RageSoundDriver::StopMixing 2006-12-23 10:32:37 +00:00
Glenn Maynard 2021bf22b8 missed CommitPlayingPosition commit 2006-12-23 10:30:33 +00:00
Glenn Maynard 71f3bc0a75 fix comment 2006-12-23 10:28:29 +00:00
Glenn Maynard 80059b308b fix possible lock order problem 2006-12-23 10:27:21 +00:00
Glenn Maynard 5dac62ea7d reset m_iMaxDriverFrame in RageSound::SoundIsFinishedPlaying, like StopPlaying 2006-12-23 10:15:23 +00:00
Glenn Maynard fa9db049c1 remove unused 2006-12-23 10:10:28 +00:00