aboutsummaryrefslogtreecommitdiff
path: root/engines/hdb/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hdb/sound.h')
-rw-r--r--engines/hdb/sound.h29
1 files changed, 23 insertions, 6 deletions
diff --git a/engines/hdb/sound.h b/engines/hdb/sound.h
index 8cf687d3d6..accdbff8fd 100644
--- a/engines/hdb/sound.h
+++ b/engines/hdb/sound.h
@@ -1457,10 +1457,31 @@ struct SoundCache {
};
struct Song {
- bool playing;
- SoundType song;
+
+ Song() : _playing(false), _song(SONG_NONE),
+ fadingOut(false), fadeOutVol(0), fadeOutRamp(0),
+ fadingIn(false), fadeInVol(0), fadeInRamp(0) {}
+
+ void playSong(SoundType song, bool fadeIn, int ramp);
+ void fadeOut(int ramp);
+ void stop();
+
+ bool isPlaying() const;
+ SoundType getSong() const;
+
+ void setVolume(int volume);
+
+ void update();
+
+private:
+ static Common::String Song::getFileName(SoundType song);
+ Audio::AudioStream* Song::createStream(Common::String fileName);
+
Audio::SoundHandle handle;
+ bool _playing;
+ SoundType _song;
+
bool fadingOut;
int fadeOutVol;
int fadeOutRamp;
@@ -1468,10 +1489,6 @@ struct Song {
bool fadingIn;
int fadeInVol;
int fadeInRamp;
-
- Song() : playing(false), song(SONG_NONE),
- fadingOut(false), fadeOutVol(0), fadeOutRamp(0),
- fadingIn(false), fadeInVol(0), fadeInRamp(0) {}
};
class Sound {