aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-15 22:15:58 +0000
committerFilippos Karapetis2010-01-15 22:15:58 +0000
commitfa079a6d6f118a09a9bdeb678f57584fb8e1d8d4 (patch)
tree02078508c439d0082ffd47315ffdc08b8e5a6d36
parent7c8ae63101b90df24a894a64d3266dd2cf2a7a40 (diff)
downloadscummvm-rg350-fa079a6d6f118a09a9bdeb678f57584fb8e1d8d4.tar.gz
scummvm-rg350-fa079a6d6f118a09a9bdeb678f57584fb8e1d8d4.tar.bz2
scummvm-rg350-fa079a6d6f118a09a9bdeb678f57584fb8e1d8d4.zip
Send a velocity off signal to all channels when a song is loaded
svn-id: r47315
-rw-r--r--engines/sci/sound/midiparser_sci.cpp5
-rw-r--r--engines/sci/sound/softseq/adlib.cpp2
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: