aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/mt32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/midi/mt32.cpp')
-rw-r--r--backends/midi/mt32.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/backends/midi/mt32.cpp b/backends/midi/mt32.cpp
index 2931e94c71..d954952d89 100644
--- a/backends/midi/mt32.cpp
+++ b/backends/midi/mt32.cpp
@@ -118,7 +118,30 @@ MT32Emu::File *MT32_OpenFile(void *userData, const char *filename, MT32Emu::File
//
////////////////////////////////////////
-void report(int type, ...) {}
+static void report(void *userData, MT32Emu::ReportType type, void *reportData) {
+ switch(type) {
+ case MT32Emu::ReportType_lcdMessage:
+ g_system->displayMessageOnOSD((char *)reportData);
+ break;
+ case MT32Emu::ReportType_errorPreset1:
+ error("Couldn't open Preset1.syx file");
+ break;
+ case MT32Emu::ReportType_errorPreset2:
+ error("Couldn't open Preset2.syx file");
+ break;
+ case MT32Emu::ReportType_errorDrumpat:
+ error("Couldn't open drumpat.rom file");
+ break;
+ case MT32Emu::ReportType_errorPatchlog:
+ error("Couldn't open patchlog.cfg file");
+ break;
+ case MT32Emu::ReportType_errorMT32ROM:
+ error("Couldn't open MT32_PCM.ROM file");
+ break;
+ default:
+ break;
+ }
+}
MidiDriver_MT32::MidiDriver_MT32(SoundMixer *mixer) : MidiDriver_Emulated(mixer) {
_channel_mask = 0xFFFF; // Permit all 16 channels by default
@@ -159,6 +182,7 @@ int MidiDriver_MT32::open() {
prop.RevLevel = 3;
prop.userData = (void *)1;
prop.printDebug = &vdebug;
+ prop.report = &report;
prop.openFile = MT32_OpenFile;
_synth = new MT32Emu::Synth();
if (!_synth->open(prop))