[Scummvm-cvs-logs] CVS: scummvm/sound mididrv.cpp,1.26,1.27

James Brown ender at users.sourceforge.net
Sun May 12 02:22:02 CEST 2002


Update of /cvsroot/scummvm/scummvm/sound
In directory usw-pr-cvs1:/tmp/cvs-serv15912/sound

Modified Files:
	mididrv.cpp 
Log Message:
Add new MIDIPORT parameter to solve Linux sequencer issues.



Index: mididrv.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/mididrv.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- mididrv.cpp	8 May 2002 10:51:48 -0000	1.26
+++ mididrv.cpp	12 May 2002 09:21:27 -0000	1.27
@@ -340,7 +340,6 @@
 #if defined(UNIX) && !defined(__BEOS__)
 #define SEQ_MIDIPUTC    5
 #define SPECIAL_CHANNEL 9
-#define DEVICE_NUM 1
 
 class MidiDriver_SEQ : public MidiDriver {
 public:
@@ -355,12 +354,13 @@
 	StreamCallback *_stream_proc;
 	void  *_stream_param;
 	int 	 _mode;
-	int device;
+	int device, _device_num;
 };
 
 MidiDriver_SEQ::MidiDriver_SEQ(){
   _mode=0;
   device=0;
+  _device_num=0;
 }
 
 int MidiDriver_SEQ::open(int mode) {
@@ -386,6 +386,7 @@
 			error("Cannot open /dev/null to dump midi output");
 	}
 
+	_device_num = atoi(getenv("SCUMMVM_MIDIPORT"));
 	return 0;
 }
 
@@ -408,26 +409,26 @@
 	case 0xE0:
 		buf[position++] = SEQ_MIDIPUTC;
 		buf[position++] = (unsigned char)b;
-		buf[position++] = DEVICE_NUM;
+		buf[position++] = _device_num;
 		buf[position++] = 0;
 		buf[position++] = SEQ_MIDIPUTC;
 		buf[position++] = (unsigned char)((b >> 8) & 0x7F);
-		buf[position++] = DEVICE_NUM;
+		buf[position++] = _device_num;
 		buf[position++] = 0;
 		buf[position++] = SEQ_MIDIPUTC;
 		buf[position++] = (unsigned char)((b >> 16) & 0x7F);
-		buf[position++] = DEVICE_NUM;
+		buf[position++] = _device_num;
 		buf[position++] = 0;
 		break;
 	case 0xC0:
 	case 0xD0:
 		buf[position++] = SEQ_MIDIPUTC;
 		buf[position++] = (unsigned char)b;
-		buf[position++] = DEVICE_NUM;
+		buf[position++] = _device_num;
 		buf[position++] = 0;
 		buf[position++] = SEQ_MIDIPUTC;
 		buf[position++] = (unsigned char)((b >> 8) & 0x7F);
-		buf[position++] = DEVICE_NUM;
+		buf[position++] = _device_num;
 		buf[position++] = 0;
 		break;
 	default:





More information about the Scummvm-git-logs mailing list