GROOVIE: Send GS SysEx messages

The 7th Guest sends several SysEx messages for Roland GS devices during
startup. ScummVM did not send these messages.

The Groovie MusicPlayerMidi class encapsulates the MidiDriver which is
actually used for sending MIDI events. However, it did not implement the
sysEx method, so the empty implementation of MidiDriver_BASE was used.
I've added a sysEx method which forwards the messages to the actual
MidiDriver.
This commit is contained in:
NMIError 2020-02-24 15:46:47 +01:00 committed by Filippos Karapetis
parent d205578d4d
commit a7082b15fa
2 changed files with 6 additions and 0 deletions

View File

@ -291,6 +291,11 @@ void MusicPlayerMidi::send(uint32 b) {
_driver->send(b);
}
void MusicPlayerMidi::sysEx(const byte *msg, uint16 length) {
if (_driver)
_driver->sysEx(msg, length);
}
void MusicPlayerMidi::metaEvent(byte type, byte *data, uint16 length) {
switch (type) {
case 0x2F:

View File

@ -98,6 +98,7 @@ public:
// MidiDriver_BASE interface
void send(uint32 b) override;
void sysEx(const byte* msg, uint16 length) override;
void metaEvent(byte type, byte *data, uint16 length) override;
private: