diff options
Diffstat (limited to 'engines/hdb/sound.h')
-rw-r--r-- | engines/hdb/sound.h | 29 |
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 { |