aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/glk/sound.cpp')
-rw-r--r--engines/glk/sound.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/glk/sound.cpp b/engines/glk/sound.cpp
index 85f7e01702..02fb7f9253 100644
--- a/engines/glk/sound.cpp
+++ b/engines/glk/sound.cpp
@@ -25,6 +25,7 @@
#include "glk/events.h"
#include "common/file.h"
#include "audio/audiostream.h"
+#include "audio/decoders/aiff.h"
#include "audio/decoders/raw.h"
#include "audio/decoders/mp3.h"
#include "audio/decoders/wave.h"
@@ -92,6 +93,7 @@ glui32 SoundChannel::play(glui32 soundNum, glui32 repeats, glui32 notify) {
Common::String nameSnd = Common::String::format("sound%u.snd", soundNum);
Common::String nameMp3 = Common::String::format("sound%u.mp3", soundNum);
Common::String nameWav = Common::String::format("sound%u.wav", soundNum);
+ Common::String nameAiff = Common::String::format("sound%u.aiff", soundNum);
if (f.exists(nameSnd) && f.open(nameSnd)) {
if (f.readUint16BE() != (f.size() - 2))
@@ -113,6 +115,10 @@ glui32 SoundChannel::play(glui32 soundNum, glui32 repeats, glui32 notify) {
Common::SeekableReadStream *s = f.readStream(f.size());
stream = Audio::makeWAVStream(s, DisposeAfterUse::YES);
+ } else if (f.exists(nameAiff) && f.open(nameAiff)) {
+ Common::SeekableReadStream *s = f.readStream(f.size());
+ stream = Audio::makeAIFFStream(s, DisposeAfterUse::YES);
+
} else {
warning("Could not find sound %u", soundNum);
return 1;