[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