diff options
Diffstat (limited to 'engines/sci/sound')
-rw-r--r-- | engines/sci/sound/music.cpp | 19 | ||||
-rw-r--r-- | engines/sci/sound/music.h | 2 | ||||
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 8 | ||||
-rw-r--r-- | engines/sci/sound/soundcmd.h | 1 |
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 |