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