aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/sound.h')
-rw-r--r--engines/kyra/sound.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/engines/kyra/sound.h b/engines/kyra/sound.h
index 28444033f5..e2d5c70a7e 100644
--- a/engines/kyra/sound.h
+++ b/engines/kyra/sound.h
@@ -25,6 +25,7 @@
#include "common/stdafx.h"
#include "common/scummsys.h"
+#include "common/file.h"
#include "sound/mididrv.h"
#include "sound/midiparser.h"
#include "sound/mixer.h"
@@ -211,6 +212,28 @@ private:
Sound *_music, *_sfx;
};
+#define SOUND_STREAMS 4
+
+class SoundDigital {
+public:
+ SoundDigital(KyraEngine *vm, Audio::Mixer *mixer);
+ ~SoundDigital();
+
+ bool init();
+
+ int playSound(Common::File *fileHandle, int channel = -1);
+ bool isPlaying(int channel);
+ void stopSound(int channel);
+private:
+ KyraEngine *_vm;
+ Audio::Mixer *_mixer;
+
+ struct Sound {
+ Common::File *fileHandle;
+ Audio::SoundHandle handle;
+ } _sounds[SOUND_STREAMS];
+};
+
} // end of namespace Kyra
#endif