diff options
author | Max Horn | 2004-12-25 18:34:44 +0000 |
---|---|---|
committer | Max Horn | 2004-12-25 18:34:44 +0000 |
commit | fec3df209601b812034fafed53ef74b7ee732512 (patch) | |
tree | 14572de096e66b3720faf67dbd9d3cf3f3926422 /sound/mididrv.cpp | |
parent | 0d2fa6ecf02d5745db90d78c78e546b3fe62d373 (diff) | |
download | scummvm-rg350-fec3df209601b812034fafed53ef74b7ee732512.tar.gz scummvm-rg350-fec3df209601b812034fafed53ef74b7ee732512.tar.bz2 scummvm-rg350-fec3df209601b812034fafed53ef74b7ee732512.zip |
Moved the softsynth midi drivers into a sound/softsynth; amongst other things, this fixes bug #1083058
svn-id: r16316
Diffstat (limited to 'sound/mididrv.cpp')
-rw-r--r-- | sound/mididrv.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp index 9872cf65d0..11fa0d3b15 100644 --- a/sound/mididrv.cpp +++ b/sound/mididrv.cpp @@ -137,3 +137,54 @@ int MidiDriver::detectMusicDriver(int midiFlags) { return musicDriver; } + +MidiDriver *MidiDriver::createMidi(int midiDriver) { + switch(midiDriver) { + case MD_NULL: return MidiDriver_NULL_create(); + + // In the case of Adlib, we won't specify anything. + // IMuse is designed to set up its own Adlib driver + // if need be, and we only have to specify a native + // driver. + case MD_ADLIB: return NULL; + +#ifdef USE_MT32EMU + case MD_MT32: return MidiDriver_MT32_create(g_engine->_mixer); +#endif + + case MD_TOWNS: return MidiDriver_YM2612_create(g_engine->_mixer); + + // Right now PC Speaker and PCjr are handled + // outside the MidiDriver architecture, so + // don't create anything for now. + case MD_PCSPK: + case MD_PCJR: return NULL; +#if defined(__PALM_OS__) + case MD_YPA1: return MidiDriver_YamahaPa1_create(); +#ifndef DISABLE_TAPWAVE + case MD_ZODIAC: return MidiDriver_Zodiac_create(); +#endif +#endif +#if defined(WIN32) && !defined(_WIN32_WCE) + case MD_WINDOWS: return MidiDriver_WIN_create(); +#endif +#if defined(__MORPHOS__) + case MD_ETUDE: return MidiDriver_ETUDE_create(); +#endif +#if defined(UNIX) && !defined(__BEOS__) && !defined(MACOSX) + case MD_SEQ: return MidiDriver_SEQ_create(); +#endif +#if (defined(MACOSX) || defined(macintosh)) && !defined(__PALM_OS__) + case MD_QTMUSIC: return MidiDriver_QT_create(); +#endif +#if defined(MACOSX) + case MD_COREAUDIO: return MidiDriver_CORE_create(); +#endif +#if defined(UNIX) && defined(USE_ALSA) + case MD_ALSA: return MidiDriver_ALSA_create(); +#endif + } + + error("Invalid midi driver selected"); + return NULL; +} |