[Scummvm-cvs-logs] CVS: scummvm/backends/midi seq.cpp,1.2,1.3
Jamieson Christian
jamieson630 at users.sourceforge.net
Sat May 31 16:15:07 CEST 2003
Update of /cvsroot/scummvm/scummvm/backends/midi
In directory sc8-pr-cvs1:/tmp/cvs-serv14038/scummvm/backends/midi
Modified Files:
seq.cpp
Log Message:
EV_SYSEX based SysEx for -eseq
Index: seq.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/midi/seq.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- seq.cpp 31 May 2003 22:16:25 -0000 1.2
+++ seq.cpp 31 May 2003 23:14:36 -0000 1.3
@@ -141,8 +141,8 @@
unsigned char buf [1024];
int position = 0;
byte *chr = msg;
-
- // Should be we using EV_SYSEX instead of SEQ_MIDIPUTC?
+/*
+ // Should we be using EV_SYSEX instead of SEQ_MIDIPUTC?
// I'm not sure how to send EV_SYSEX.
buf[position++] = SEQ_MIDIPUTC;
buf[position++] = 0xFF;
@@ -158,6 +158,25 @@
buf[position++] = 0xF7;
buf[position++] = _device_num;
buf[position++] = 0;
+*/
+ buf[position++] = EV_SYSEX;
+ buf[position++] = _device_num;
+ buf[position++] = 0xF0;
+ for (; length; --length, ++chr) {
+ if (position % 8 == 0) {
+ buf[position++] = EV_SYSEX;
+ buf[position++] = _device_num;
+ }
+ buf[position++] = *chr & 0x7F;
+ }
+ if (position % 8 == 0) {
+ buf[position++] = EV_SYSEX;
+ buf[position++] = _device_num;
+ }
+ buf[position++] = 0xF7;
+ while (position % 8 != 0)
+ buf[position++] = 0;
+
write (device, buf, position);
}
More information about the Scummvm-git-logs
mailing list