[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