diff options
author | Paul Gilbert | 2007-08-12 11:08:44 +0000 |
---|---|---|
committer | Paul Gilbert | 2007-08-12 11:08:44 +0000 |
commit | c247257721f4e42b18d5dbc87f088fbfed278f00 (patch) | |
tree | b0954f6cd39d25827febc6571a8dcccbe7da0718 /engines/lure/sound.h | |
parent | 52292983b03641fdef2d45dabb1d137b25cd6481 (diff) | |
download | scummvm-rg350-c247257721f4e42b18d5dbc87f088fbfed278f00.tar.gz scummvm-rg350-c247257721f4e42b18d5dbc87f088fbfed278f00.tar.bz2 scummvm-rg350-c247257721f4e42b18d5dbc87f088fbfed278f00.zip |
Added part of the framework for playing sounds
svn-id: r28545
Diffstat (limited to 'engines/lure/sound.h')
-rw-r--r-- | engines/lure/sound.h | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/engines/lure/sound.h b/engines/lure/sound.h index 4a7422d77f..95cb5f6f88 100644 --- a/engines/lure/sound.h +++ b/engines/lure/sound.h @@ -24,14 +24,45 @@ #define LURE_SOUND_H #include "lure/luredefs.h" +#include "lure/disk.h" +#include "lure/memory.h" #include "common/singleton.h" namespace Lure { +#define NUM_CHANNELS 8 + class SoundManager: public Common::Singleton<SoundManager> { +private: + MemoryBlock *_descs; + int _numDescs; + SoundDescResource *soundDescs() { return (SoundDescResource *) _descs->data(); } + ManagedList<SoundDescResource *> _activeSounds; + byte _channels[NUM_CHANNELS]; + + void bellsBodge(); public: - static void killSounds(); - static void playSound(uint16 soundId); + SoundManager(); + + void killSounds(); + void addSound(uint8 soundIndex, bool tidyFlag = true); + void addSound2(uint8 soundIndex); + void stopSound(uint8 soundIndex); + void killSound(uint8 soundNumber); + void setVolume(uint8 soundNumber, uint8 volume); + void tidySounds(); + SoundDescResource *findSound(uint8 soundNumber); + void removeSounds(); + void restoreSounds(); + + // The following methods implement the external sound player module + void musicInterface_Play(uint8 soundNumber, bool isEffect, uint8 channelNumber); + void musicInterface_Stop(uint8 soundNumber); + bool musicInterface_CheckPlaying(uint8 soundNumber); + void musicInterface_SetVolume(uint8 channelNum, uint8 volume); + void musicInterface_KillAll(); + void musicInterface_ContinuePlaying(); + void musicInterface_TrashReverb(); }; } // End of namespace Lure |