aboutsummaryrefslogtreecommitdiff
path: root/engines/cine/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cine/sound.h')
-rw-r--r--engines/cine/sound.h23
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;
};