aboutsummaryrefslogtreecommitdiff
path: root/engines/m4
diff options
context:
space:
mode:
Diffstat (limited to 'engines/m4')
-rw-r--r--engines/m4/midi.cpp8
-rw-r--r--engines/m4/midi.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/m4/midi.cpp b/engines/m4/midi.cpp
index f130ddc3b5..3a6475da89 100644
--- a/engines/m4/midi.cpp
+++ b/engines/m4/midi.cpp
@@ -83,10 +83,16 @@ int MidiPlayer::open() {
return 0;
}
+bool MidiPlayer::isOpen() const {
+ return _driver && _driver->isOpen();
+}
+
void MidiPlayer::close() {
stopMusic();
- if (_driver)
+ if (_driver) {
_driver->close();
+ delete _driver;
+ }
_driver = 0;
}
diff --git a/engines/m4/midi.h b/engines/m4/midi.h
index 8344f8d485..a631cec2cb 100644
--- a/engines/m4/midi.h
+++ b/engines/m4/midi.h
@@ -54,6 +54,7 @@ public:
//MidiDriver interface implementation
int open();
+ bool isOpen() const;
void close();
void send(uint32 b);