aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lure/sound.cpp')
-rw-r--r--engines/lure/sound.cpp20
1 files changed, 3 insertions, 17 deletions
diff --git a/engines/lure/sound.cpp b/engines/lure/sound.cpp
index 5f954eb337..8ab0f5486c 100644
--- a/engines/lure/sound.cpp
+++ b/engines/lure/sound.cpp
@@ -97,8 +97,8 @@ SoundManager::~SoundManager() {
if (_driver) {
_driver->close();
delete _driver;
+ _driver = NULL;
}
- _driver = NULL;
g_system->deleteMutex(_soundMutex);
}
@@ -597,6 +597,7 @@ void SoundManager::doTimer() {
MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
uint8 channelNum, uint8 soundNum, bool isMus, uint8 numChannels, void *soundData, uint32 size) {
_driver = driver;
+ assert(_driver);
_channels = channels;
_soundNumber = soundNum;
_channelNumber = channelNum;
@@ -620,9 +621,7 @@ MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
_parser->setMidiDriver(this);
_parser->setTimerRate(_driver->getBaseTempo());
- this->open();
-
- _soundData = (uint8 *) soundData;
+ _soundData = (uint8 *)soundData;
_soundSize = size;
// Check whether the music data is compressed - if so, decompress it for the duration
@@ -654,7 +653,6 @@ MidiMusic::MidiMusic(MidiDriver *driver, ChannelEntry channels[NUM_CHANNELS],
MidiMusic::~MidiMusic() {
_parser->unloadMusic();
delete _parser;
- this->close();
delete _decompressedSound;
}
@@ -686,17 +684,6 @@ void MidiMusic::playMusic() {
_isPlaying = true;
}
-int MidiMusic::open() {
- // Don't ever call open without first setting the output driver!
- if (!_driver)
- return 255;
-
- return 0;
-}
-
-void MidiMusic::close() {
-}
-
void MidiMusic::send(uint32 b) {
if (_passThrough) {
_driver->send(b);
@@ -749,7 +736,6 @@ void MidiMusic::stopMusic() {
debugC(ERROR_DETAILED, kLureDebugSounds, "MidiMusic::stopMusic sound %d", _soundNumber);
_isPlaying = false;
_parser->unloadMusic();
- close();
}
} // End of namespace Lure