aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/sound.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2016-09-04 16:52:35 -0400
committerPaul Gilbert2016-09-04 21:29:45 -0400
commit12d57ad5fe48568a8d67665ed285c9d591590d1a (patch)
tree0ce88e7b82fb37519673988278077a2c310e69fa /engines/xeen/sound.cpp
parent0c948b6bd0fc87cb57ee8939228435921a504803 (diff)
downloadscummvm-rg350-12d57ad5fe48568a8d67665ed285c9d591590d1a.tar.gz
scummvm-rg350-12d57ad5fe48568a8d67665ed285c9d591590d1a.tar.bz2
scummvm-rg350-12d57ad5fe48568a8d67665ed285c9d591590d1a.zip
XEEN: Beginnings of Darkside endgame and music
Diffstat (limited to 'engines/xeen/sound.cpp')
-rw-r--r--engines/xeen/sound.cpp41
1 files changed, 33 insertions, 8 deletions
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp
index 2aed7da45b..f5cc40249d 100644
--- a/engines/xeen/sound.cpp
+++ b/engines/xeen/sound.cpp
@@ -26,22 +26,43 @@
namespace Xeen {
-SoundManager *VOC::_sound;
+SoundManager *Voc::_sound;
-VOC::VOC(const Common::String &name) {
+Voc::Voc(const Common::String &name) {
if (!open(name))
error("Could not open - %s", name.c_str());
}
-void VOC::init(XeenEngine *vm) {
+void Voc::init(XeenEngine *vm) {
_sound = vm->_sound;
}
-void VOC::play() {
+void Voc::play() {
_sound->playSound(this, _soundHandle);
}
-void VOC::stop() {
+void Voc::stop() {
+ _sound->stopSound(_soundHandle);
+}
+
+/*------------------------------------------------------------------------*/
+
+SoundManager *Music::_sound;
+
+Music::Music(const Common::String &name) {
+ if (!open(name))
+ error("Could not open - %s", name.c_str());
+}
+
+void Music::init(XeenEngine *vm) {
+ _sound = vm->_sound;
+}
+
+void Music::play() {
+ _sound->playMusic(this, _soundHandle);
+}
+
+void Music::stop() {
_sound->stopSound(_soundHandle);
}
@@ -62,10 +83,14 @@ void SoundManager::stopMusic(int id) {
// TODO
}
-void SoundManager::playSound(Common::SeekableReadStream *s, Audio::SoundHandle &soundHandle) {
+void SoundManager::playSound(Common::SeekableReadStream *s, Audio::SoundHandle &soundHandle,
+ Audio::Mixer::SoundType soundType) {
Audio::SeekableAudioStream *stream = Audio::makeVOCStream(s, 0);
- _mixer->playStream(Audio::Mixer::kPlainSoundType, &soundHandle, stream);
-
+ _mixer->playStream(soundType, &soundHandle, stream);
+}
+
+void SoundManager::playMusic(Common::SeekableReadStream *s, Audio::SoundHandle &soundHandle) {
+ // TODO
}
void SoundManager::stopSound(Audio::SoundHandle &soundHandle) {