aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-03 14:39:38 +0000
committerFilippos Karapetis2010-01-03 14:39:38 +0000
commit454fb24c852b05dbd7b4fbcd3f74f902e1877aa8 (patch)
tree2b97cb150b23a9146494af3b5612f3dfdfe6a729
parent72a020320f1e9e5b9b4d6c99b95fc93cc126e440 (diff)
downloadscummvm-rg350-454fb24c852b05dbd7b4fbcd3f74f902e1877aa8.tar.gz
scummvm-rg350-454fb24c852b05dbd7b4fbcd3f74f902e1877aa8.tar.bz2
scummvm-rg350-454fb24c852b05dbd7b4fbcd3f74f902e1877aa8.zip
SCI/new music code: don't throw warnings for MIDI commands which are handled by the music driver
svn-id: r46924
-rw-r--r--engines/sci/sfx/midiparser.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/engines/sci/sfx/midiparser.cpp b/engines/sci/sfx/midiparser.cpp
index 5ddccf5a01..c041499771 100644
--- a/engines/sci/sfx/midiparser.cpp
+++ b/engines/sci/sfx/midiparser.cpp
@@ -31,7 +31,7 @@ namespace Sci {
static const int nMidiParams[] = { 2, 2, 2, 2, 1, 1, 2, 0 };
-enum SciSysExCommands {
+enum SciMidiCommands {
kSetSignalLoop = 0x7F,
kEndOfTrack = 0xFC,
kSetReverb = 0x50,
@@ -166,10 +166,20 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
break;
}
break;
- case 0x1: // unknown (example case: LB2CD)
- case 0xA: // unknown (example case: LB2CD)
+ case 0x01: // mod wheel
+ case 0x07: // channel volume
+ case 0x0A: // pan
+ case 0x40: // hold pedal
+ case 0x4E: // velocity control
+ case 0x7B: // notes off
+ // These are all handled by the music driver, so ignore them
+ break;
+ case 0x4B: // voice mapping
+ // TODO: is any support for this needed at the MIDI parser level?
+ warning("Unhanded SCI MIDI command 0x%x - voice mapping (parameter %d)", info.basic.param1, info.basic.param2);
+ break;
default:
- warning("Unhandled SCI SysEx 0x%x (parameter %d)", info.basic.param1, info.basic.param2);
+ warning("Unhandled SCI MIDI command 0x%x (parameter %d)", info.basic.param1, info.basic.param2);
break;
}
}