[Scummvm-cvs-logs] CVS: scummvm/sound mididrv.cpp,1.68,1.69 mididrv.h,1.50,1.51
Max Horn
fingolfin at users.sourceforge.net
Mon Dec 26 03:19:05 CET 2005
Update of /cvsroot/scummvm/scummvm/sound
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7821/sound
Modified Files:
mididrv.cpp mididrv.h
Log Message:
New CoreMIDI midi backend for OS X
Index: mididrv.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/mididrv.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- mididrv.cpp 18 Oct 2005 01:30:23 -0000 1.68
+++ mididrv.cpp 26 Dec 2005 11:18:25 -0000 1.69
@@ -30,46 +30,48 @@
/** Internal list of all available 'midi' drivers. */
static const struct MidiDriverDescription midiDrivers[] = {
- {"auto", "Default", MD_AUTO},
- {"null", "No music", MD_NULL},
+ {"auto", "Default", MD_AUTO, MDT_NONE},
+ {"null", "No music", MD_NULL, MDT_NONE},
#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__SYMBIAN32__)
- {"windows", "Windows MIDI", MD_WINDOWS},
+ {"windows", "Windows MIDI", MD_WINDOWS, MDT_NATIVE},
#endif
#if defined(UNIX) && !defined(__BEOS__) && !defined(MACOSX)
- {"seq", "SEQ", MD_SEQ},
+ {"seq", "SEQ", MD_SEQ, MDT_NONE},
#endif
#if defined(MACOSX)
- {"qt", "QuickTime", MD_QTMUSIC},
- {"core", "CoreAudio", MD_COREAUDIO},
+ {"qt", "QuickTime", MD_QTMUSIC, MDT_NATIVE},
+ {"core", "CoreAudio", MD_COREAUDIO, MDT_NATIVE},
+ {"coreaudio", "CoreAudio", MD_COREAUDIO, MDT_NATIVE},
+ {"coremidi", "CoreMIDI", MD_COREMIDI, MDT_NATIVE},
#endif
#if defined(__MORPHOS__)
- {"etude", "Etude", MD_ETUDE},
+ {"etude", "Etude", MD_ETUDE, MDT_NONE},
#endif
#if defined(UNIX) && defined(USE_ALSA)
- {"alsa", "ALSA", MD_ALSA},
+ {"alsa", "ALSA", MD_ALSA, MDT_NONE},
#endif
- {"adlib", "Adlib", MD_ADLIB},
- {"towns", "FM Towns", MD_TOWNS},
- {"pcspk", "PC Speaker", MD_PCSPK},
- {"pcjr", "IBM PCjr", MD_PCJR},
+ {"adlib", "Adlib", MD_ADLIB, MDT_ADLIB},
+ {"towns", "FM Towns", MD_TOWNS, MDT_TOWNS},
+ {"pcspk", "PC Speaker", MD_PCSPK, MDT_PCSPK},
+ {"pcjr", "IBM PCjr", MD_PCJR, MDT_PCSPK},
#ifdef USE_FLUIDSYNTH
- {"fluidsynth", "FluidSynth", MD_FLUIDSYNTH},
+ {"fluidsynth", "FluidSynth", MD_FLUIDSYNTH, MDT_NONE},
#endif
#ifdef USE_MT32EMU
- {"mt32", "MT-32", MD_MT32},
+ {"mt32", "MT-32", MD_MT32, MDT_NONE},
#endif
#if defined(PALMOS_MODE)
- {"ypa1", "Yamaha Pa1", MD_YPA1},
- {"zodiac", "Tapwave Zodiac", MD_ZODIAC},
+ {"ypa1", "Yamaha Pa1", MD_YPA1, MDT_NATIVE},
+ {"zodiac", "Tapwave Zodiac", MD_ZODIAC, MDT_NATIVE},
#endif
- {0, 0, 0}
+ {0, 0, MD_NULL, MDT_NONE}
};
const byte MidiDriver::_mt32ToGm[128] = {
@@ -210,6 +212,7 @@
#endif
#if defined(MACOSX)
case MD_COREAUDIO: return MidiDriver_CORE_create();
+ case MD_COREMIDI: return MidiDriver_CoreMIDI_create();
#endif
#if defined(UNIX) && defined(USE_ALSA)
case MD_ALSA: return MidiDriver_ALSA_create();
Index: mididrv.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound/mididrv.h,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- mididrv.h 18 Oct 2005 01:30:23 -0000 1.50
+++ mididrv.h 26 Dec 2005 11:18:25 -0000 1.51
@@ -33,28 +33,45 @@
namespace Common { class String; }
/** MIDI Driver Types */
-enum {
- MD_AUTO = 0,
- MD_NULL = 1,
- MD_WINDOWS = 2,
- MD_TIMIDITY = 3,
- MD_SEQ = 4,
- MD_QTMUSIC = 5,
- MD_ETUDE = 6,
- MD_COREAUDIO = 7,
- MD_MIDIEMU = 8,
- MD_ALSA = 9,
- MD_ADLIB = 10,
- MD_PCSPK = 11,
- MD_PCJR = 12,
- MD_TOWNS = 13,
- MD_YPA1 = 14, // PalmOS
- MD_ZODIAC = 15, // PalmOS
- MD_MT32 = 16,
- MD_FLUIDSYNTH = 17
+enum MidiDriverType {
+ MD_AUTO,
+ MD_NULL,
+
+ // Windows
+ MD_WINDOWS,
+
+ // Linux
+ MD_ALSA,
+ MD_SEQ,
+
+ // Mac OS X
+ MD_QTMUSIC,
+ MD_COREAUDIO,
+ MD_COREMIDI,
+
+ // PalmOS
+ MD_YPA1,
+ MD_ZODIAC,
+
+ // MorphOS
+ MD_ETUDE,
+
+ // "Fake" MIDI devices
+ MD_ADLIB,
+ MD_PCSPK,
+ MD_PCJR,
+ MD_TOWNS,
+
+ // MIDI softsynths
+ MD_MT32,
+ MD_FLUIDSYNTH
};
-enum MidiDriverType {
+/**
+ * A set of bitmasks which can be used to specify what kind of midi
+ * driver is prefered.
+ */
+enum MidiDriverFlags {
MDT_NONE = 0,
MDT_PCSPK = 1, // MD_PCSPK and MD_PCJR
MDT_ADLIB = 2, // MD_ADLIB
@@ -71,7 +88,8 @@
struct MidiDriverDescription {
const char *name;
const char *description;
- int id;
+ MidiDriverType id;
+ MidiDriverFlags flags;
};
/** Abstract MIDI Driver Class */
@@ -199,6 +217,7 @@
extern MidiDriver *MidiDriver_SEQ_create();
extern MidiDriver *MidiDriver_QT_create();
extern MidiDriver *MidiDriver_CORE_create();
+extern MidiDriver *MidiDriver_CoreMIDI_create();
extern MidiDriver *MidiDriver_ETUDE_create();
extern MidiDriver *MidiDriver_ALSA_create();
extern MidiDriver *MidiDriver_YM2612_create(Audio::Mixer *mixer);
More information about the Scummvm-git-logs
mailing list