aboutsummaryrefslogtreecommitdiff
path: root/simon
diff options
context:
space:
mode:
authorJamieson Christian2003-08-08 11:54:24 +0000
committerJamieson Christian2003-08-08 11:54:24 +0000
commit154e872d5aa02845baf1615a86dee50636c1b92a (patch)
tree555a6d9eedfce2bad2a2dda8ab53c69ecfe72fbc /simon
parentf1a3253fa2785901171407a0b192b7c18cf5c5b5 (diff)
downloadscummvm-rg350-154e872d5aa02845baf1615a86dee50636c1b92a.tar.gz
scummvm-rg350-154e872d5aa02845baf1615a86dee50636c1b92a.tar.bz2
scummvm-rg350-154e872d5aa02845baf1615a86dee50636c1b92a.zip
Added generic send() option to MidiChannel.
This circumvents problems doing generic send() calls to MidiDrivers that support more than 16 MIDI channels (i.e. Adlib). Because of the way it interacts with MidiDriver, Simon could have run into a problem if it tried to allocate more than 15 Adlib music channels (though this would only happen in very, VERY rare circumstances). Also fixed a problem with the channel numbering scheme used by MidiDriver_Adlib, in particular the percussion channel number. svn-id: r9604
Diffstat (limited to 'simon')
-rw-r--r--simon/midi.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/simon/midi.cpp b/simon/midi.cpp
index d4ee8ddf49..f910a8b146 100644
--- a/simon/midi.cpp
+++ b/simon/midi.cpp
@@ -124,7 +124,7 @@ void MidiPlayer::send (uint32 b) {
if (!_current->channel [channel])
_current->channel[channel] = (channel == 9) ? _driver->getPercussionChannel() : _driver->allocateChannel();
if (_current->channel [channel])
- _driver->send ((b & 0xFFFFFFF0) | _current->channel[channel]->getNumber());
+ _current->channel[channel]->send (b);
}
void MidiPlayer::metaEvent (byte type, byte *data, uint16 length) {