aboutsummaryrefslogtreecommitdiff
path: root/scumm/music.h
diff options
context:
space:
mode:
authorMax Horn2003-10-03 01:15:31 +0000
committerMax Horn2003-10-03 01:15:31 +0000
commit6c5b9fceee312ce8b9e629ef0467b124f9b69a03 (patch)
tree44f744c54056b0dedcb1ad7b1648ab9597c4dba3 /scumm/music.h
parente6819e42cf059dafe750dfd8715460fe64859bff (diff)
downloadscummvm-rg350-6c5b9fceee312ce8b9e629ef0467b124f9b69a03.tar.gz
scummvm-rg350-6c5b9fceee312ce8b9e629ef0467b124f9b69a03.tar.bz2
scummvm-rg350-6c5b9fceee312ce8b9e629ef0467b124f9b69a03.zip
some doxygen
svn-id: r10557
Diffstat (limited to 'scumm/music.h')
-rw-r--r--scumm/music.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/scumm/music.h b/scumm/music.h
index a60f19897c..3d08104889 100644
--- a/scumm/music.h
+++ b/scumm/music.h
@@ -26,19 +26,62 @@
#include "common/scummsys.h"
#include "common/system.h"
+/**
+ * Pure virtual base class for the various music/sound engines used in Scumm
+ * games. In particular, the iMuse code provides a subclass of this. There are
+ * several other subclasses providing music and sound capabilities for
+ * several Scumm games.
+ * Having this base class for all music engines allows uniform access to the
+ * core music/sound functionality, thus simplifying the client code.
+ *
+ * Instantiated by class Scumm.
+ */
class MusicEngine {
public:
virtual ~MusicEngine() {}
+ /**
+ * Set the output volume.
+ * @param the new output volume
+ */
virtual void setMasterVolume(int vol) = 0;
+ /**
+ * Start playing the sound with the given id.
+ * @param sound the sound to start
+ */
virtual void startSound(int sound) = 0;
+
+ /**
+ * Stop playing the sound with the given id.
+ * @param sound the sound to stop
+ */
virtual void stopSound(int sound) = 0;
+
+ /**
+ * Start playing all currently playing sounds.
+ */
virtual void stopAllSounds() = 0;
+
+ /**
+ * Query the status of the sound with the given id. Usually this is just
+ * a boolean telling us whether the sound is playing or not.
+ * @param sound the sound to for which we want the status
+ * @return the status of the specified sound
+ */
virtual int getSoundStatus(int sound) const = 0;
+ /**
+ * Get the value of the music timer. Used for synchronising scripts with
+ * the music/sound.
+ * @return the music timer
+ */
virtual int getMusicTimer() const { return 0; }
+ /**
+ * Terminate the music engine. Called just before the music engine
+ * is deleted.
+ */
virtual void terminate() {}
};