Commit Graph
37 Commits
Author SHA1 Message Date
Glenn Maynard 00f371fa7c remove IsStreamingFromDisk 2006-12-23 07:15:32 +00:00
Glenn Maynard ce3ba75e23 errors in source filters, so each filter in the chain doesn't have a separate
error
2006-12-23 06:59:50 +00:00
Glenn Maynard 1ea56ad18d make GetError virtual 2006-12-23 06:50:18 +00:00
Glenn Maynard b762395d0c phase out IsStreamingFromDisk 2006-12-23 06:39:53 +00:00
Glenn Maynard 02aed7bb65 Read() returns 2006-12-22 12:09:04 +00:00
Glenn Maynard a844c8b1c9 add RageSoundReader::RetriedRead 2006-12-22 06:08:40 +00:00
Glenn Maynard 873a979b06 make GetSource virtual 2006-12-13 08:47:05 +00:00
Glenn Maynard a62b963fb8 make GetNumChannels pure virtual
not 1 or 2 anymore; RageSound only supports 1 or 2 but intermediate
filters may have more
2006-12-10 09:04:58 +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 0b529a4960 RageSoundReader::Read() returns sound data which may be at a
different rate than the source it's reading from; one second
of returned data may correspond to two seconds in the source
material.

GetStreamToSourceRatio returns the ratio of returned data in
the next Read() call to source data.  This is propagated
upwards in the filter tree, so rate changes by a speed changer
in the middle of the tree will be reflected in the final
GetStreamToSourceRatio().

This means that whenever the ratio changes, Read() stops
returning data; it returns whatever it has, so the caller
has an opportunity to call GetStreamToSourceRatio again
and notice the change.

These semantics can be annoying to implement in some
cases, where only the processing of Read() may notice
a ratio change.  Read() may want to return 0, to say
"something changed, call GetStreamToSourceRatio again",
but 0 means EOF.

Add RageSoundReader::END_OF_FILE.  0 is now no
longer a special case; it means "there's more data, I
just didn't return any this time".  This is functionally
equivalent to errno EINTR.
2006-12-10 07:08:17 +00:00
Glenn Maynard 25e67dd4dc RageSoundReader::Read(buf, unsigned bytes) -> (buf, int frames);
return value in frames, not bytes
2006-12-10 03:56:36 +00:00
Glenn Maynard ca67a9cb7c change SetPosition_Accurate and SetPosition_Fast to take and return frames 2006-12-09 06:35:09 +00:00
Glenn Maynard f41362f7a9 SoundReader -> RageSoundReader 2006-11-30 04:19:51 +00:00
Glenn Maynard 9bbed7d6fc pure virtual 2006-11-30 04:02:53 +00:00
Glenn Maynard 4d03863226 add SetProperty, for setting properties somewhere in a filter chain 2006-11-30 02:50:31 +00:00
Glenn Maynard c68c60c67a GetNextStreamFrame -> GetNextSourceFrame 2006-11-29 09:15:23 +00:00
Glenn Maynard 8db49e53eb RString 2006-11-29 08:16:29 +00:00
Glenn Maynard a03cd1d32a please to be saving the file, VC 2006-11-29 07:39:10 +00:00
Glenn Maynard 46a1da7fbf for now 2006-11-29 07:38:40 +00:00
Glenn Maynard 830577f81e add GetNextStreamFrame, GetStreamToSourceRatio 2006-11-29 07:38:21 +00:00
Glenn Maynard b91f803518 rename SoundReader -> RageSoundReader 2006-11-28 22:42:13 +00:00
Chris Danford 7f821e8cfc CString -> RString 2006-01-22 01:00:06 +00:00
Glenn Maynard eff6f70502 cleanup 2005-12-23 05:25:35 +00:00
Glenn Maynard f07ac5cf74 comment, cleanup 2005-02-13 03:13:33 +00:00
Glenn Maynard ed2939b205 IsStreamingFromDisk 2004-08-21 07:01:54 +00:00
Glenn Maynard 27243e074c working on variable channel count support (to allow preloading mono samples
in half memory, and to avoid redundant resampling in mono files)
2004-07-24 01:22:10 +00:00
Glenn Maynard f9f10e2372 more license updates 2004-05-06 02:40:33 +00:00
Glenn Maynard 6acfd7a22e remove GetOffsetFix 2004-02-20 04:16:12 +00:00
Glenn Maynard 036fd2beb9 Fix: don't chop off the first 26ms of each MP3 (but don't change sync,
either).
2003-10-02 04:56:09 +00:00
Glenn Maynard e1c443d4fc remove OpenFile 2003-09-13 06:08:37 +00:00
Glenn Maynard 5701a25f16 Add RageSoundReader_Vorbisfile.
Remove RageSoundReader_SDL_Sound.
Fix error reporting.
2003-09-13 05:09:35 +00:00
Glenn Maynard b9efc67d02 add SoundReader::OpenFile 2003-09-10 21:34:01 +00:00
Glenn Maynard 111eeef550 use RageSoundReader_Resample
(almost not tied to 44100 ...)
2003-04-23 19:11:59 +00:00
Glenn Maynard e52887948f (c) footers 2003-03-15 23:27:34 +00:00
Glenn Maynard b6c45c4f1c add virtual copy ctor for RageSoundReaders 2003-03-15 23:19:20 +00:00
Glenn Maynard b6d14b1388 sound readers can Open in completely varying ways; don't
provide a single virtual for it
2003-03-15 21:17:05 +00:00
Glenn Maynard 0c55e8d4bc add sound reader code 2002-12-27 22:11:12 +00:00