aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Brown2002-04-21 04:14:42 +0000
committerJames Brown2002-04-21 04:14:42 +0000
commit752d05034bf697cde65fe0226ae42dcf171d4fb3 (patch)
treebbdff5f2d7748eae199b3f6f7ee23b29d2057798
parentf509c3166d38a3ab696081e0c74458bd1d0e007d (diff)
downloadscummvm-rg350-752d05034bf697cde65fe0226ae42dcf171d4fb3.tar.gz
scummvm-rg350-752d05034bf697cde65fe0226ae42dcf171d4fb3.tar.bz2
scummvm-rg350-752d05034bf697cde65fe0226ae42dcf171d4fb3.zip
Fix midi compilation - in more ways than one :P
svn-id: r4030
-rw-r--r--gameDetector.cpp8
-rw-r--r--sound/mididrv.cpp18
2 files changed, 15 insertions, 11 deletions
diff --git a/gameDetector.cpp b/gameDetector.cpp
index ef04db4df2..f8306c26e1 100644
--- a/gameDetector.cpp
+++ b/gameDetector.cpp
@@ -442,14 +442,16 @@ MidiDriver *GameDetector::createMidi() {
switch(drv) {
case MD_AUTO:
- case MD_NULL: return MidiDriver_NULL_create();
+ case MD_NULL: return MidiDriver_NULL_create();
#if defined(WIN32) && !defined(_WIN32_WCE)
case MD_WINDOWS: return MidiDriver_WIN_create();
#endif
-#ifdef __MORPHOS__
+#if defined(__MORPHOS__)
case MD_AMIDI: return MidiDriver_AMIDI_create();
#endif
- case MD_SEQ: return MidiDriver_SEQ_create();
+#if defined(UNIX)
+ case MD_SEQ: return MidiDriver_SEQ_create();
+#endif
}
error("Invalid midi driver selected");
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp
index 14a356dc10..841eceedcd 100644
--- a/sound/mididrv.cpp
+++ b/sound/mididrv.cpp
@@ -347,6 +347,7 @@ MidiDriver *MidiDriver_AMIDI_create() {
#endif // __MORPHOS__
+#if defined(UNIX)
#define SEQ_MIDIPUTC 5
#define SPECIAL_CHANNEL 9
#define DEVICE_NUM 1
@@ -381,7 +382,7 @@ int MidiDriver_SEQ::open(int mode) {
device = 0;
_mode=mode;
if (mode!=MO_SIMPLE) return MERR_STREAMING_NOT_AVAILABLE;
-#if !defined(__APPLE__CW) // No getenv support on Apple Carbon
+
char *device_name = getenv("SCUMMVM_MIDI");
if (device_name != NULL) {
device = (::open((device_name), O_RDWR, 0));
@@ -397,7 +398,7 @@ int MidiDriver_SEQ::open(int mode) {
if (device < 0)
error("Cannot open /dev/null to dump midi output");
}
-#endif
+
return 0;
}
@@ -409,7 +410,7 @@ void MidiDriver_SEQ::close() {
void MidiDriver_SEQ::send(uint32 b)
{
- unsigned long buf[256];
+ unsigned char buf[256];
int position = 0;
switch (b & 0xF0) {
@@ -419,26 +420,26 @@ void MidiDriver_SEQ::send(uint32 b)
case 0xB0:
case 0xE0:
buf[position++] = SEQ_MIDIPUTC;
- buf[position++] = b;
+ buf[position++] = (unsigned char)b;
buf[position++] = DEVICE_NUM;
buf[position++] = 0;
buf[position++] = SEQ_MIDIPUTC;
- buf[position++] = (b >> 8) & 0x7F;
+ buf[position++] = (unsigned char)((b >> 8) & 0x7F);
buf[position++] = DEVICE_NUM;
buf[position++] = 0;
buf[position++] = SEQ_MIDIPUTC;
- buf[position++] = (b >> 16) & 0x7F;
+ buf[position++] = (unsigned char)((b >> 16) & 0x7F);
buf[position++] = DEVICE_NUM;
buf[position++] = 0;
break;
case 0xC0:
case 0xD0:
buf[position++] = SEQ_MIDIPUTC;
- buf[position++] = b;
+ buf[position++] = (unsigned char)b;
buf[position++] = DEVICE_NUM;
buf[position++] = 0;
buf[position++] = SEQ_MIDIPUTC;
- buf[position++] = (b >> 8) & 0x7F;
+ buf[position++] = (unsigned char)((b >> 8) & 0x7F);
buf[position++] = DEVICE_NUM;
buf[position++] = 0;
break;
@@ -478,6 +479,7 @@ uint32 MidiDriver_SEQ::property(int prop, uint32 param) {
return 0;
}
+#endif
/* NULL driver */
class MidiDriver_NULL : public MidiDriver {