diff options
author | Max Horn | 2003-12-24 00:25:18 +0000 |
---|---|---|
committer | Max Horn | 2003-12-24 00:25:18 +0000 |
commit | e9269257f3da947eca3fb167b279fbe91650157a (patch) | |
tree | 62784e4ce6a708398f018855b6d672de6b0345db /sound/mixer.h | |
parent | 3f77642948a824e6e198c93a455fbf3fbab7e507 (diff) | |
download | scummvm-rg350-e9269257f3da947eca3fb167b279fbe91650157a.tar.gz scummvm-rg350-e9269257f3da947eca3fb167b279fbe91650157a.tar.bz2 scummvm-rg350-e9269257f3da947eca3fb167b279fbe91650157a.zip |
turned PlayingSoundHandle into an 'opaque' (well not really :-) data type, mainly because people kept (accidentally and sometimes on purpose :-) misusing them
svn-id: r11881
Diffstat (limited to 'sound/mixer.h')
-rw-r--r-- | sound/mixer.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sound/mixer.h b/sound/mixer.h index 3ed2cd798f..d1bd379408 100644 --- a/sound/mixer.h +++ b/sound/mixer.h @@ -35,12 +35,22 @@ #endif -typedef uint32 PlayingSoundHandle; - class AudioInputStream; class Channel; class File; +class PlayingSoundHandle { + friend class Channel; + friend class SoundMixer; + int val; + int getIndex() const { return val - 1; } + void setIndex(int i) { val = i + 1; } + void resetIndex() { val = 0; } +public: + PlayingSoundHandle() { resetIndex(); } + bool isActive() const { return val > 0; } +}; + class SoundMixer { public: typedef void PremixProc (void *param, int16 *data, uint len); |