aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tinsel')
-rw-r--r--engines/tinsel/music.cpp8
-rw-r--r--engines/tinsel/music.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/tinsel/music.cpp b/engines/tinsel/music.cpp
index 7461cfca72..fb0f6b94fb 100644
--- a/engines/tinsel/music.cpp
+++ b/engines/tinsel/music.cpp
@@ -432,10 +432,16 @@ int MidiMusicPlayer::open() {
return 0;
}
+bool MidiMusicPlayer::isOpen() const {
+ return _driver && _driver->isOpen();
+}
+
void MidiMusicPlayer::close() {
stop();
- if (_driver)
+ if (_driver) {
_driver->close();
+ delete _driver;
+ }
_driver = 0;
}
diff --git a/engines/tinsel/music.h b/engines/tinsel/music.h
index e2a3b4c2c1..5545200c59 100644
--- a/engines/tinsel/music.h
+++ b/engines/tinsel/music.h
@@ -80,6 +80,7 @@ public:
//MidiDriver interface implementation
int open();
+ bool isOpen() const;
void close();
void send(uint32 b);