aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.h
diff options
context:
space:
mode:
authorPaweł Kołodziejski2002-09-29 07:08:31 +0000
committerPaweł Kołodziejski2002-09-29 07:08:31 +0000
commit037b08130eec9650276e1d90828157e577e54c6e (patch)
tree51c456c72e42db39ececb1c1f43b4e5fe08e18f0 /scumm/imuse.h
parent94b55db8215e709a40cc562df3d8e1540e6b5174 (diff)
downloadscummvm-rg350-037b08130eec9650276e1d90828157e577e54c6e.tar.gz
scummvm-rg350-037b08130eec9650276e1d90828157e577e54c6e.tar.bz2
scummvm-rg350-037b08130eec9650276e1d90828157e577e54c6e.zip
framework of Imuse sound for The Dig
svn-id: r5031
Diffstat (limited to 'scumm/imuse.h')
-rw-r--r--scumm/imuse.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/scumm/imuse.h b/scumm/imuse.h
index f265f52492..6d6650f02c 100644
--- a/scumm/imuse.h
+++ b/scumm/imuse.h
@@ -59,3 +59,37 @@ public:
private:
IMuseInternal *_imuse; // Pointer to the real imuse object
};
+
+#define MAX_DIGITAL_CHANNELS 10
+
+class IMuseDigital {
+private:
+
+ struct channel {
+ int8 _volumeLeft;
+ int8 _volumeRight;
+ bool _isLoop;
+ uint32 _offsetEnd;
+ uint32 _offsetJump;
+ uint32 _offsetRegion;
+ uint32 _offset;
+ byte *_data;
+ uint32 _freq;
+ byte _channels;
+ bool _stereo;
+ byte _bits;
+ uint32 _size;
+ uint32 _idSound;
+ bool _used;
+ uint32 _mixerTrack;
+ } _channel[MAX_DIGITAL_CHANNELS];
+
+public:
+ IMuseDigital(SoundMixer *mixer, Timer * timer);
+ ~IMuseDigital();
+ void startSound(int sound);
+ void stopSound(int sound);
+ int32 doCommand(int a, int b, int c, int d, int e, int f, int g, int h);
+ int getSoundStatus(int sound);
+};
+