aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/music.cpp19
-rw-r--r--engines/sci/sound/music.h2
-rw-r--r--engines/sci/sound/soundcmd.cpp8
-rw-r--r--engines/sci/sound/soundcmd.h1
4 files changed, 2 insertions, 28 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index 32b311cd63..65d3d2cd16 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -91,8 +91,6 @@ void SciMusic::init() {
}
void SciMusic::clearPlayList() {
- _pMixer->stopAll();
-
_mutex.lock();
while (!_playList.empty()) {
soundStop(_playList[0]);
@@ -134,23 +132,10 @@ MusicEntry *SciMusic::getSlot(reg_t obj) {
}
void SciMusic::setReverb(byte reverb) {
- _reverb = reverb;
-
- // TODO: actually set reverb for MT-32
-
- // A good test case for this are the first two rooms in Longbow:
- // reverb is set for the first room (the cave) and is subsequently
- // cleared when Robin exits the cave
-}
-
-void SciMusic::resetDriver() {
Common::StackLock lock(_mutex);
+ _reverb = reverb;
- // TODO/FIXME: is there any better way to reset the driver?
-
- _pMidiDrv->close();
- _pMidiDrv->open();
- _pMidiDrv->setTimerCallback(this, &miditimerCallback);
+ _pMidiDrv->setReverb(reverb);
}
static int f_compare(const void *arg1, const void *arg2) {
diff --git a/engines/sci/sound/music.h b/engines/sci/sound/music.h
index b6c4a21308..26cf3ac0ab 100644
--- a/engines/sci/sound/music.h
+++ b/engines/sci/sound/music.h
@@ -187,8 +187,6 @@ public:
void setReverb(byte reverb);
- void resetDriver();
-
#ifndef USE_OLD_MUSIC_FUNCTIONS
virtual void saveLoadWithSerializer(Common::Serializer &ser);
#endif
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 2268b6b76a..79e8670578 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -1065,8 +1065,6 @@ void SoundCommandParser::reconstructPlayList(int savegame_version) {
#ifndef USE_OLD_MUSIC_FUNCTIONS
Common::StackLock lock(_music->_mutex);
- _music->resetDriver();
-
const MusicList::iterator end = _music->getPlayListEnd();
for (MusicList::iterator i = _music->getPlayListStart(); i != end; ++i) {
if (savegame_version < 14) {
@@ -1096,12 +1094,6 @@ void SoundCommandParser::printPlayList(Console *con) {
#endif
}
-void SoundCommandParser::resetDriver() {
-#ifndef USE_OLD_MUSIC_FUNCTIONS
- _music->resetDriver();
-#endif
-}
-
void SoundCommandParser::setMasterVolume(int vol) {
#ifndef USE_OLD_MUSIC_FUNCTIONS
_music->soundSetMasterVolume(vol);
diff --git a/engines/sci/sound/soundcmd.h b/engines/sci/sound/soundcmd.h
index 590aba6388..d7b0b87609 100644
--- a/engines/sci/sound/soundcmd.h
+++ b/engines/sci/sound/soundcmd.h
@@ -62,7 +62,6 @@ public:
void syncPlayList(Common::Serializer &s);
void reconstructPlayList(int savegame_version);
void printPlayList(Console *con);
- void resetDriver();
void setMasterVolume(int vol);
#ifndef USE_OLD_MUSIC_FUNCTIONS