aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/mididrv.h2
-rw-r--r--sound/mpu401.cpp14
2 files changed, 15 insertions, 1 deletions
diff --git a/sound/mididrv.h b/sound/mididrv.h
index 58eac956a6..fe921df0a4 100644
--- a/sound/mididrv.h
+++ b/sound/mididrv.h
@@ -56,7 +56,7 @@ public:
virtual void send(uint32 b) = 0;
// Get or set a property
- virtual uint32 property(int prop, uint32 param);
+ virtual uint32 property(int prop, uint32 param) { return 0; }
// Retrieve a string representation of an error code
static const char *getErrorName(int error_code);
diff --git a/sound/mpu401.cpp b/sound/mpu401.cpp
index 3aab56e05d..995895d82d 100644
--- a/sound/mpu401.cpp
+++ b/sound/mpu401.cpp
@@ -62,6 +62,20 @@ void MidiChannel_MPU401::sysEx_customInstrument(uint32 type, byte *instr) {
_owner->sysEx_customInstrument (_channel, type, instr);
}
+const char *MidiDriver::getErrorName(int error_code) {
+ static const char *const midi_errors[] = {
+ "No error",
+ "Cannot connect",
+ "Streaming not available",
+ "Device not available",
+ "Driver already open"
+ };
+
+ if ((uint) error_code >= ARRAYSIZE(midi_errors))
+ return "Unknown Error";
+ return midi_errors[error_code];
+}
+
MidiDriver_MPU401::MidiDriver_MPU401() : MidiDriver() {
uint i;