aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/morphos/morphos_start.cpp5
-rw-r--r--sound/mididrv.cpp5
2 files changed, 9 insertions, 1 deletions
diff --git a/backends/morphos/morphos_start.cpp b/backends/morphos/morphos_start.cpp
index ead98ce614..305cfc0b02 100644
--- a/backends/morphos/morphos_start.cpp
+++ b/backends/morphos/morphos_start.cpp
@@ -36,6 +36,7 @@
#include "stdafx.h"
#include "scumm/scumm.h"
+#include "sound/mididrv.h"
#include "morphos.h"
#include "morphos_scaler.h"
#include "morphos_sound.h"
@@ -51,6 +52,7 @@ static RDArgs *ScummArgs = NULL;
static char*ScummStory = NULL;
static char*ScummPath = NULL;
STRPTR ScummMusicDriver = NULL;
+MidiDriver* EtudeMidiDriver = NULL;
LONG ScummMidiUnit = 0;
static LONG ScummMidiVolume = 0;
static LONG ScummMidiTempo = 0;
@@ -92,6 +94,9 @@ OSystem *OSystem_MorphOS_create(int game_id, int gfx_mode, bool full_screen)
void close_resources()
{
+ if (EtudeMidiDriver)
+ EtudeMidiDriver->close();
+
if (TheSystem)
delete TheSystem;
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp
index da314302a0..bf5395c2e4 100644
--- a/sound/mididrv.cpp
+++ b/sound/mididrv.cpp
@@ -506,9 +506,12 @@ uint32 MidiDriver_ETUDE::property(int prop, uint32 param)
return 0;
}
+extern MidiDriver* EtudeMidiDriver;
+
MidiDriver *MidiDriver_ETUDE_create()
{
- return new MidiDriver_ETUDE();
+ EtudeMidiDriver = new MidiDriver_ETUDE();
+ return EtudeMidiDriver;
}
#endif // __MORPHOS__