aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJamieson Christian2002-12-18 07:48:02 +0000
committerJamieson Christian2002-12-18 07:48:02 +0000
commit71e7d1512fe62f52948e95fb06214c933c887c80 (patch)
tree1ea4b1817a5c77759a68ff3db952ee0a5061a258 /sound
parent70783268093f00a61d3673f729a3aa113b5ad43a (diff)
downloadscummvm-rg350-71e7d1512fe62f52948e95fb06214c933c887c80.tar.gz
scummvm-rg350-71e7d1512fe62f52948e95fb06214c933c887c80.tar.bz2
scummvm-rg350-71e7d1512fe62f52948e95fb06214c933c887c80.zip
message.log
svn-id: r6012
Diffstat (limited to 'sound')
-rw-r--r--sound/mididrv.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp
index e5947acffb..5ff7b47207 100644
--- a/sound/mididrv.cpp
+++ b/sound/mididrv.cpp
@@ -236,7 +236,7 @@ void MidiDriver_SEQ::send(uint32 b)
void MidiDriver_SEQ::sysEx (byte *msg, uint16 length)
{
- if (length > 256) {
+ if (length > 254) {
warning ("Cannot send SysEx block - data too large");
return;
}
@@ -247,12 +247,20 @@ void MidiDriver_SEQ::sysEx (byte *msg, uint16 length)
// Should be we using EV_SYSEX instead of SEQ_MIDIPUTC?
// I'm not sure how to send EV_SYSEX.
+ buf[position++] = SEQ_MIDIPUTC;
+ buf[position++] = 0xFF;
+ buf[position++] = _device_num;
+ buf[position++] = 0;
for (; length; --length) {
buf[position++] = SEQ_MIDIPUTC;
buf[position++] = (unsigned char) *chr;
buf[position++] = _device_num;
buf[position++] = 0;
}
+ buf[position++] = SEQ_MIDIPUTC;
+ buf[position++] = 0xF7;
+ buf[position++] = _device_num;
+ buf[position++] = 0;
write (device, buf, position);
}