[Scummvm-cvs-logs] SF.net SVN: scummvm:[36093] scummvm/trunk
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Tue Jan 27 04:21:05 CET 2009
Revision: 36093
http://scummvm.svn.sourceforge.net/scummvm/?rev=36093&view=rev
Author: Kirben
Date: 2009-01-27 03:21:05 +0000 (Tue, 27 Jan 2009)
Log Message:
-----------
Add looping support to makeVOCStream().
Modified Paths:
--------------
scummvm/trunk/engines/agos/sound.cpp
scummvm/trunk/sound/voc.cpp
scummvm/trunk/sound/voc.h
Modified: scummvm/trunk/engines/agos/sound.cpp
===================================================================
--- scummvm/trunk/engines/agos/sound.cpp 2009-01-27 03:13:13 UTC (rev 36092)
+++ scummvm/trunk/engines/agos/sound.cpp 2009-01-27 03:21:05 UTC (rev 36093)
@@ -261,11 +261,8 @@
_file->seek(_offsets[sound], SEEK_SET);
- int size, rate;
- byte *buffer = Audio::loadVOCFromStream(*_file, size, rate);
- // TODO: Use makeVOCStream
- assert(buffer);
- _mixer->playRaw(type, handle, buffer, size, rate, flags | Audio::Mixer::FLAG_AUTOFREE);
+ Audio::AudioStream *stream = Audio::makeVOCStream(*_file, flags);
+ _mixer->playInputStream(type, handle, stream);
}
void RawSound::playSound(uint sound, uint loopSound, Audio::Mixer::SoundType type, Audio::SoundHandle *handle, byte flags, int vol) {
Modified: scummvm/trunk/sound/voc.cpp
===================================================================
--- scummvm/trunk/sound/voc.cpp 2009-01-27 03:13:13 UTC (rev 36092)
+++ scummvm/trunk/sound/voc.cpp 2009-01-27 03:21:05 UTC (rev 36093)
@@ -156,14 +156,14 @@
return loadVOCFromStream(stream, size, rate, loops, begin_loop, end_loop);
}
-AudioStream *makeVOCStream(Common::ReadStream &stream) {
+AudioStream *makeVOCStream(Common::ReadStream &stream, byte flags, uint loopStart, uint loopEnd) {
int size, rate;
+
byte *data = loadVOCFromStream(stream, size, rate);
-
if (!data)
return 0;
- return makeLinearInputStream(data, size, rate, Audio::Mixer::FLAG_AUTOFREE | Audio::Mixer::FLAG_UNSIGNED, 0, 0);
+ return makeLinearInputStream(data, size, rate, flags | Audio::Mixer::FLAG_AUTOFREE | Audio::Mixer::FLAG_UNSIGNED, loopStart, loopEnd);
}
Modified: scummvm/trunk/sound/voc.h
===================================================================
--- scummvm/trunk/sound/voc.h 2009-01-27 03:13:13 UTC (rev 36092)
+++ scummvm/trunk/sound/voc.h 2009-01-27 03:21:05 UTC (rev 36093)
@@ -76,11 +76,11 @@
/**
* Try to load a VOC from the given seekable stream and create an AudioStream
* from that data. Currently this function only supports uncompressed raw PCM
- * data. Looping is not supported.
+ * data. Optionally supports (infinite) looping of a portion of the data.
*
* This function uses loadVOCFromStream() internally.
*/
-AudioStream *makeVOCStream(Common::ReadStream &stream);
+AudioStream *makeVOCStream(Common::ReadStream &stream, byte flags = 0, uint loopStart = 0, uint loopEnd = 0);
} // End of namespace Audio
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list