aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sound.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-03-09 00:54:27 +0000
committerFlorian Kagerer2009-03-09 00:54:27 +0000
commit6d9a047276d55c1e7299bfa503a7637205acf27f (patch)
tree3018eb23d8bf24f5e2d94bd8280a35904fc02bd1 /engines/kyra/sound.cpp
parent6cb3f665aff572fdbdb12c940ace9c4bfe912138 (diff)
downloadscummvm-rg350-6d9a047276d55c1e7299bfa503a7637205acf27f.tar.gz
scummvm-rg350-6d9a047276d55c1e7299bfa503a7637205acf27f.tar.bz2
scummvm-rg350-6d9a047276d55c1e7299bfa503a7637205acf27f.zip
LOL: minor fix for text displayer (text pages now advance automatically when the speech has reached the next part)
svn-id: r39250
Diffstat (limited to 'engines/kyra/sound.cpp')
-rw-r--r--engines/kyra/sound.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/kyra/sound.cpp b/engines/kyra/sound.cpp
index 4b4439c1e3..10c43b5637 100644
--- a/engines/kyra/sound.cpp
+++ b/engines/kyra/sound.cpp
@@ -123,7 +123,8 @@ uint32 Sound::voicePlayFromList(Common::List<const char*> fileList) {
return 0;
Audio::AppendableAudioStream *out = Audio::makeAppendableAudioStream(22050, Audio::Mixer::FLAG_AUTOFREE | Audio::Mixer::FLAG_UNSIGNED);
-
+ uint32 totalPlayTime = 0;
+
for (Common::List<const char*>::iterator i = fileList.begin(); i != fileList.end(); i++) {
Common::SeekableReadStream *file = _vm->resource()->createReadStream(*i);
@@ -146,13 +147,15 @@ uint32 Sound::voicePlayFromList(Common::List<const char*> fileList) {
free(data);
out->queueBuffer(vocBuffer, size);
+ totalPlayTime += size;
}
-
+
+ totalPlayTime = (totalPlayTime * 1000) / 22050;
out->finish();
_soundChannels[h].file = *fileList.begin();
_mixer->playInputStream(Audio::Mixer::kSpeechSoundType, &_soundChannels[h].channelHandle, out);
- return out->getTotalPlayTime();
+ return totalPlayTime;
}
void Sound::voiceStop(const char *file) {