diff options
Diffstat (limited to 'engines/access/sound.h')
-rw-r--r-- | engines/access/sound.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/engines/access/sound.h b/engines/access/sound.h index 6bfdbcda7d..e11a6b9730 100644 --- a/engines/access/sound.h +++ b/engines/access/sound.h @@ -24,6 +24,7 @@ #define ACCESS_SOUND_H #include "common/scummsys.h" +#include "audio/audiostream.h" #include "audio/mixer.h" #include "access/files.h" #include "audio/midiplayer.h" @@ -47,22 +48,24 @@ class SoundManager { private: AccessEngine *_vm; Audio::Mixer *_mixer; - Audio::SoundHandle _soundHandle; + Audio::SoundHandle _effectsHandle; + Common::Array<Audio::AudioStream *> _queue; void clearSounds(); - void playSound(Resource *res, int priority); + void playSound(Resource *res, int priority, bool loop); public: Common::Array<SoundEntry> _soundTable; bool _playingSound; - bool _isVoice; public: SoundManager(AccessEngine *vm, Audio::Mixer *mixer); ~SoundManager(); - void queueSound(int idx, int fileNum, int subfile); + void loadSoundTable(int idx, int fileNum, int subfile, int priority = 1); - void playSound(int soundIndex); + void playSound(int soundIndex, bool loop = false); + void checkSoundQueue(); + bool isSFXPlaying(); Resource *loadSound(int fileNum, int subfile); void loadSounds(Common::Array<RoomInfo::SoundIdent> &sounds); |