diff options
-rw-r--r-- | engines/scumm/imuse/imuse.cpp | 6 | ||||
-rw-r--r-- | engines/scumm/imuse/imuse_player.cpp | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp index de592972aa..50a13308d8 100644 --- a/engines/scumm/imuse/imuse.cpp +++ b/engines/scumm/imuse/imuse.cpp @@ -241,11 +241,11 @@ bool IMuseInternal::supportsPercussion(int sound) { case MKTAG('S', 'P', 'K', ' '): return false; - case MKTAG('A', 'M', 'I', ' '): // Amiga + case MKTAG('A', 'M', 'I', ' '): // MI2 Amiga return false; - case MKTAG('R', 'O', 'L', ' '): - return true; + case MKTAG('R', 'O', 'L', ' '): // Roland LAPC/MT-32/CM32L track, but also used by INDY4 Amiga + return !_isAmiga; case MKTAG('M', 'A', 'C', ' '): // Occurs in the Mac version of FOA and MI2 // This is MIDI, i.e. uses MIDI style program changes, but without a diff --git a/engines/scumm/imuse/imuse_player.cpp b/engines/scumm/imuse/imuse_player.cpp index 7ec557a768..b251e153cb 100644 --- a/engines/scumm/imuse/imuse_player.cpp +++ b/engines/scumm/imuse/imuse_player.cpp @@ -375,7 +375,8 @@ void Player::sysEx(const byte *p, uint16 len) { if (a != IMUSE_SYSEX_ID) { if (a == ROLAND_SYSEX_ID) { // Roland custom instrument definition. - if (_isMIDI || _isMT32) { + // There is at least one (pointless) attempt in INDY4 Amiga to send this, too. + if ((_isMIDI && !_se->_isAmiga) || _isMT32) { part = getPart(p[0] & 0x0F); if (part) { part->_instrument.roland(p - 1); |