Glenn Maynard
3deabcbe2f
handle WOULD_BLOCK
2006-12-22 21:30:14 +00:00
Glenn Maynard
1683b9951a
RSGS::GetDataForSound also like Read
2006-12-22 21:28:16 +00:00
Glenn Maynard
24624a5c92
GetDataToPlay API more like RSR::Read
2006-12-22 21:24:19 +00:00
Glenn Maynard
1b18090e90
remove ReachedEOF
2006-12-22 21:18:29 +00:00
Glenn Maynard
bfed0b6f83
always go into PLAYING
2006-12-22 21:17:34 +00:00
Glenn Maynard
129250bfd0
handle STREAM_LOOPED
2006-12-22 12:09:36 +00:00
Glenn Maynard
02aed7bb65
Read() returns
2006-12-22 12:09:04 +00:00
Glenn Maynard
65f61daf82
add RageSoundReader_ThreadedBuffer. This will be used to
...
replace the big 32k streaming buffer in RSoundDriver_Generic. This
can be placed earlier in the filter chain, so we can buffer audio
far ahead without introducing latency.
2006-12-22 12:07:43 +00:00
Glenn Maynard
09ef507084
add RageThread copy ctor, RageEvent::WaitTimeoutSupported
2006-12-22 11:34:37 +00:00
Glenn Maynard
b97d527d02
add EventImpl::WaitTimeoutSupported
2006-12-22 10:39:55 +00:00
Glenn Maynard
53b4dc4b7c
fix GetNextSourceFrame < 0
2006-12-22 08:16:17 +00:00
Glenn Maynard
27b4606e9d
add RageSoundReader_Extend. This implements several RageSound
...
features (eg. fading, looping), but in a way that can be applied anywhere
in a sound filter chain.
2006-12-22 08:15:46 +00:00
Glenn Maynard
32bf31638f
fix RageSoundReader_Chain::SetPosition(0)
2006-12-22 08:12:57 +00:00
Glenn Maynard
be8c435569
fix RageSoundReader_Split::SetPosition(0)
2006-12-22 08:11:58 +00:00
Glenn Maynard
3a1d1e129f
use RetriedRead
2006-12-22 06:14:20 +00:00
Glenn Maynard
a844c8b1c9
add RageSoundReader::RetriedRead
2006-12-22 06:08:40 +00:00
Glenn Maynard
a7d3a539ee
fixup (still unused) code
2006-12-22 06:06:57 +00:00
Glenn Maynard
4516298901
simplify EOF handling
2006-12-22 06:01:49 +00:00
Glenn Maynard
3554fdeac0
copy error: break, not continue
2006-12-22 05:59:23 +00:00
Glenn Maynard
cd74aab240
stay synched through partial blocks
2006-12-22 05:58:19 +00:00
Glenn Maynard
3d6811191b
simplify
2006-12-22 05:54:23 +00:00
Glenn Maynard
4d6829e7bc
simplify
2006-12-22 05:51:36 +00:00
Glenn Maynard
3127f812dd
cleanup; handle different numbers of channels
2006-12-22 05:36:50 +00:00
Glenn Maynard
5bb87d4eff
add GetNumSounds
2006-12-22 05:27:25 +00:00
Glenn Maynard
fa33890a78
fix RageSoundReader_Silence END_OF_FILE
2006-12-21 23:41:02 +00:00
Glenn Maynard
d2db2ffd5c
don't SetParams constantly
2006-12-21 07:16:56 +00:00
Glenn Maynard
d2b8ac925a
comment
2006-12-21 05:37:09 +00:00
Glenn Maynard
1b60b0a86d
fix up seeking
2006-12-21 05:26:24 +00:00
Glenn Maynard
8f67314017
merge tests; check SetPosition(0) return value
2006-12-21 05:15:33 +00:00
Glenn Maynard
6176e8dab3
api update
2006-12-21 05:08:12 +00:00
Glenn Maynard
aa4be6dffb
Return 1 from SetPosition(n) on success, 0 on seek past EOF, not
...
"the position seeked to". This fixes a special case: SetPosition(n)
returning 0 was EOF except when SetPosition(0). The returned value
on success was always n, anyway; we never seek to a different position
and return success.
2006-12-21 05:07:49 +00:00
Glenn Maynard
ea7e48e08e
move secure random code
2006-12-20 23:17:57 +00:00
Glenn Maynard
b8cb44c0be
remove unused
2006-12-20 23:08:45 +00:00
Glenn Maynard
db819c196e
build update
2006-12-20 21:55:32 +00:00
Glenn Maynard
b61de509a4
don't use crypt directly
2006-12-20 12:00:17 +00:00
Glenn Maynard
9ce5ed8f88
fixup path lookup
2006-12-20 03:44:58 +00:00
Glenn Maynard
c3cf5ef59e
remove ProcessMessages
2006-12-20 01:11:49 +00:00
Glenn Maynard
eb65a1bec2
increase LUA_IDSIZE
2006-12-20 00:18:36 +00:00
Glenn Maynard
9fa41a8aef
fix conversion
2006-12-19 23:55:42 +00:00
Glenn Maynard
651bc15c55
cleanup
2006-12-19 09:43:05 +00:00
Glenn Maynard
73ebb69687
get_write_pointer helper
2006-12-19 09:42:45 +00:00
Glenn Maynard
0340f75745
don't count credits added on the system menu in bookkeeping
2006-12-19 09:09:16 +00:00
Glenn Maynard
b29f884b95
remove old param
2006-12-19 09:05:27 +00:00
Glenn Maynard
fd42989229
slightly odd, but practical: handle coin counter in LightsMan
2006-12-19 09:02:40 +00:00
Glenn Maynard
435ec1818a
remove EnterTimeCriticalSection/ExitTimeCriticalSection
2006-12-19 08:03:42 +00:00
Glenn Maynard
1786d99735
GetPositionSeconds(&tm) returns the clock time timestamp associated with the
...
returned sound time. This is tricky: we may be interrupted, causing timing error.
We tried working around this by trying to hint the scheduler that we're in a
period where we don't want to be interrupted, even though we're in a thread
that's not normally high priority, by boosting the priority temporarily. This
worked in Windows, but not in general; it's too far out of the expectations of
schedulers and generally just made things worse.
Let's look at this like an interruption-based lockless algorithm: try it, see
if it succeeded, and if it failed, try again.
Retrying even once should be a rare exception, but failsafe anyway, so a bug
in a sound driver won't hang.
2006-12-19 08:00:45 +00:00
Glenn Maynard
da93ccefeb
fixup
2006-12-19 02:53:42 +00:00
Glenn Maynard
70569f1b82
I don't like the song-dependent courses in the trunk. It causes "song
...
not found" warnings for most people. The core shouldn't "depend"
on particular songs. Distribute courses with songs, or separately, but
let's not depend on them here.
2006-12-19 02:52:00 +00:00
Glenn Maynard
550e91daff
use WrapInActorFrame
2006-12-19 02:03:09 +00:00
Glenn Maynard
f375632588
WrapInActorFrame helper
2006-12-19 02:01:52 +00:00