aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi/dimuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/imuse_digi/dimuse.h')
-rw-r--r--scumm/imuse_digi/dimuse.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h
index 34d9e91098..892f1b5f1f 100644
--- a/scumm/imuse_digi/dimuse.h
+++ b/scumm/imuse_digi/dimuse.h
@@ -45,8 +45,6 @@ class Serializer;
class IMuseDigital : public MusicEngine {
private:
- int _callbackFps;
-
struct Track {
int trackId;
@@ -86,7 +84,6 @@ private:
Track *_track[MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS];
- Common::Mutex _mutex;
ScummEngine *_vm;
ImuseDigiSndMgr *_sound;
@@ -101,8 +98,10 @@ private:
int32 _curMusicSeq;
int32 _curMusicCue;
- static void timer_handler(void *refConf);
- void callback();
+ int _callbackFps;
+ int32 _lastTime, _thisTime, _interval, _counter, _diff;
+ bool _firstCall;
+
void switchToNextRegion(Track *track);
int allocSlot(int priority);
void startSound(int soundId, const char *soundName, int soundType, int volGroupId, AudioStream *input, int hookId, int volume, int priority);
@@ -132,6 +131,9 @@ public:
IMuseDigital(ScummEngine *scumm, int fps);
virtual ~IMuseDigital();
+ void callback();
+ void addDiff(int32 diff) { _diff += diff; }
+
void setAudioNames(int32 num, char *names);
void startVoice(int soundId, AudioStream *input);