diff options
-rw-r--r-- | engines/sci/sound/midiparser_sci.cpp | 5 | ||||
-rw-r--r-- | engines/sci/sound/softseq/adlib.cpp | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp index d733384b65..62faadab67 100644 --- a/engines/sci/sound/midiparser_sci.cpp +++ b/engines/sci/sound/midiparser_sci.cpp @@ -82,6 +82,11 @@ bool MidiParser_SCI::loadMusic(SoundResource::Track *track, MusicEntry *psnd, in _loopTick = 0; _channelsUsed = 0; + // Send a velocity off signal to all channels + for (int i = 0; i < 16; ++i) { + _driver->send(0xB0 | i, 0x4E, 0); // Reset velocity + } + return true; } diff --git a/engines/sci/sound/softseq/adlib.cpp b/engines/sci/sound/softseq/adlib.cpp index 62912fc0e1..4674cb5e33 100644 --- a/engines/sci/sound/softseq/adlib.cpp +++ b/engines/sci/sound/softseq/adlib.cpp @@ -293,8 +293,6 @@ void MidiDriver_AdLib::send(uint32 b) { #endif break; case 0x4e: - // FIXME: this flag should be set to 0 when a new song is started - debug(3, "ADLIB: Setting velocity control flag for channel %i to %i", channel, op2); _channels[channel].enableVelocity = op2; break; case SCI_MIDI_CHANNEL_NOTES_OFF: |