aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/supernova/sound.cpp')
-rw-r--r--engines/supernova/sound.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/supernova/sound.cpp b/engines/supernova/sound.cpp
index e7f3ce83bd..dc1c7c3630 100644
--- a/engines/supernova/sound.cpp
+++ b/engines/supernova/sound.cpp
@@ -53,6 +53,14 @@ void Sound::play(MusicId index) {
-1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO);
}
+void Sound::playSiren() {
+ Audio::AudioStream *stream = _resMan->getSirenStream();
+
+ stop();
+ _mixer->playStream(Audio::Mixer::kPlainSoundType, &_soundHandle, stream,
+ -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO);
+}
+
bool Sound::isPlaying() {
return _mixer->isSoundHandleActive(_soundHandle);
}
@@ -62,4 +70,12 @@ void Sound::stop() {
_mixer->stopHandle(_soundHandle);
}
+int Sound::getVolume() {
+ return _mixer->getChannelVolume(_soundHandle);
+}
+
+void Sound::setVolume(int volume) {
+ _mixer->setChannelVolume(_soundHandle, volume);
+}
+
}