diff options
Diffstat (limited to 'engines/cine/sound.h')
-rw-r--r-- | engines/cine/sound.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/engines/cine/sound.h b/engines/cine/sound.h index 7caa41b655..61ebd45d54 100644 --- a/engines/cine/sound.h +++ b/engines/cine/sound.h @@ -24,6 +24,7 @@ #define CINE_SOUND_H_ #include "common/util.h" +#include "common/mutex.h" #include "audio/mixer.h" namespace Audio { @@ -99,10 +100,26 @@ public: }; protected: + Common::Mutex _mutex; + + struct SfxChannel { + Audio::SoundHandle handle; + int volume; + int volumeStep; + int curStep; + int stepCount; + + void initialize(int vol, int volStep, int stepCnt) { + volume = vol; + volumeStep = volStep; + curStep = stepCount = stepCnt; + } + }; + SfxChannel _channelsTable[NUM_CHANNELS]; + int _sfxTimer; + static void sfxTimerProc(void *param); + void sfxTimerCallback(); - void playSoundChannel(int channel, int frequency, uint8 *data, int size, int volume); - - Audio::SoundHandle _channelsTable[NUM_CHANNELS]; Audio::SoundHandle _moduleHandle; Audio::AudioStream *_moduleStream; }; |