diff options
Diffstat (limited to 'backends')
| -rw-r--r-- | backends/midi/alsa.cpp | 37 | ||||
| -rw-r--r-- | backends/midi/camd.cpp | 33 | ||||
| -rw-r--r-- | backends/midi/coreaudio.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/coremidi.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/dmedia.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/quicktime.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/seq.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/timidity.cpp | 29 | ||||
| -rw-r--r-- | backends/midi/windows.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/ypa1.cpp | 31 | ||||
| -rw-r--r-- | backends/midi/zodiac.cpp | 31 | ||||
| -rw-r--r-- | backends/platform/null/null.cpp | 4 |
12 files changed, 199 insertions, 152 deletions
diff --git a/backends/midi/alsa.cpp b/backends/midi/alsa.cpp index 6b0e424d68..2a252b9323 100644 --- a/backends/midi/alsa.cpp +++ b/backends/midi/alsa.cpp @@ -28,7 +28,7 @@ #include "common/config-manager.h" #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <alsa/asoundlib.h> @@ -79,7 +79,7 @@ MidiDriver_ALSA::MidiDriver_ALSA() } int MidiDriver_ALSA::open() { - char *var; + const char *var; if (_isOpen) return MERR_ALREADY_OPEN; @@ -87,7 +87,8 @@ int MidiDriver_ALSA::open() { if (!(var = getenv("SCUMMVM_PORT"))) { // use config option if no var specified - if (parse_addr(ConfMan.get("alsa_port").c_str(), &seq_client, &seq_port) < 0) { + var = ConfMan.get("alsa_port").c_str(); + if (parse_addr(var, &seq_client, &seq_port) < 0) { error("Invalid port %s", var); return -1; } @@ -241,23 +242,18 @@ void MidiDriver_ALSA::send_event(int do_flush) { // Plugin interface -class AlsaMidiPlugin : public MidiPluginObject { +class AlsaMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "ALSA"; } - virtual const char *getId() const { + const char *getId() const { return "alsa"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual Common::StringList getDevices() const; - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; #define perm_ok(pinfo,bits) ((snd_seq_port_info_get_capability(pinfo) & (bits)) == (bits)) @@ -271,8 +267,8 @@ static int check_permission(snd_seq_port_info_t *pinfo) return 0; } -Common::StringList AlsaMidiPlugin::getDevices() const { - Common::StringList devices; +MusicDevices AlsaMusicPlugin::getDevices() const { + MusicDevices devices; snd_seq_t *seq; if (snd_seq_open(&seq, "default", SND_SEQ_OPEN_DUPLEX, 0) < 0) @@ -292,7 +288,8 @@ Common::StringList AlsaMidiPlugin::getDevices() const { while (!found_valid_port && snd_seq_query_next_port(seq, pinfo) >= 0) { if (check_permission(pinfo)) { found_valid_port = true; - devices.push_back(snd_seq_client_info_get_name(cinfo)); + // TODO: Return a different music type depending on the configuration + devices.push_back(MusicDevice(this, snd_seq_client_info_get_name(cinfo), MT_GM)); //snd_seq_client_info_get_client(cinfo) : snd_seq_port_info_get_port(pinfo) } } @@ -302,7 +299,7 @@ Common::StringList AlsaMidiPlugin::getDevices() const { return devices; } -PluginError AlsaMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +PluginError AlsaMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_ALSA(); return kNoError; @@ -311,16 +308,16 @@ PluginError AlsaMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mid MidiDriver *MidiDriver_ALSA_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - AlsaMidiPlugin p; + AlsaMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(ALSA) - //REGISTER_PLUGIN_DYNAMIC(ALSA, PLUGIN_TYPE_MIDI, AlsaMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(ALSA, PLUGIN_TYPE_MUSIC, AlsaMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(ALSA, PLUGIN_TYPE_MIDI, AlsaMidiPlugin); + REGISTER_PLUGIN_STATIC(ALSA, PLUGIN_TYPE_MUSIC, AlsaMusicPlugin); //#endif #endif diff --git a/backends/midi/camd.cpp b/backends/midi/camd.cpp index 6aa79eb260..d6d5819a6e 100644 --- a/backends/midi/camd.cpp +++ b/backends/midi/camd.cpp @@ -28,7 +28,7 @@ #include "common/endian.h" #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <proto/camd.h> @@ -166,26 +166,29 @@ void MidiDriver_CAMD::closeAll() { // Plugin interface -class CamdMidiPlugin : public MidiPluginObject { +class CamdMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "CAMD"; } - virtual const char *getId() const { + const char *getId() const { return "camd"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - //virtual Common::StringList getDevices() const; - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError CamdMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices CamdMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError CamdMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_CAMD(); return kNoError; @@ -194,16 +197,16 @@ PluginError CamdMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mid MidiDriver *MidiDriver_CAMD_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - CamdMidiPlugin p; + CamdMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(CAMD) - //REGISTER_PLUGIN_DYNAMIC(CAMD, PLUGIN_TYPE_MIDI, CamdMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(CAMD, PLUGIN_TYPE_MUSIC, CamdMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(CAMD, PLUGIN_TYPE_MIDI, CamdMidiPlugin); + REGISTER_PLUGIN_STATIC(CAMD, PLUGIN_TYPE_MUSIC, CamdMusicPlugin); //#endif #endif diff --git a/backends/midi/coreaudio.cpp b/backends/midi/coreaudio.cpp index d7ab93a90a..bf35fb90ba 100644 --- a/backends/midi/coreaudio.cpp +++ b/backends/midi/coreaudio.cpp @@ -37,7 +37,7 @@ #include "common/config-manager.h" #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <AudioToolbox/AUGraph.h> @@ -207,24 +207,29 @@ void MidiDriver_CORE::sysEx(const byte *msg, uint16 length) { // Plugin interface -class CoreAudioMidiPlugin : public MidiPluginObject { +class CoreAudioMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "CoreAudio"; } - virtual const char *getId() const { + const char *getId() const { return "core"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError CoreAudioMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices CoreAudioMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError CoreAudioMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_CORE(); return kNoError; @@ -233,16 +238,16 @@ PluginError CoreAudioMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver MidiDriver *MidiDriver_CORE_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - CoreAudioMidiPlugin p; + CoreAudioMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(COREAUDIO) - //REGISTER_PLUGIN_DYNAMIC(COREAUDIO, PLUGIN_TYPE_MIDI, CoreAudioMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(COREAUDIO, PLUGIN_TYPE_MUSIC, CoreAudioMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(COREAUDIO, PLUGIN_TYPE_MIDI, CoreAudioMidiPlugin); + REGISTER_PLUGIN_STATIC(COREAUDIO, PLUGIN_TYPE_MUSIC, CoreAudioMusicPlugin); //#endif #endif // MACOSX diff --git a/backends/midi/coremidi.cpp b/backends/midi/coremidi.cpp index efbdaad4e4..da82249792 100644 --- a/backends/midi/coremidi.cpp +++ b/backends/midi/coremidi.cpp @@ -26,7 +26,7 @@ #include "common/config-manager.h" #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <CoreMIDI/CoreMIDI.h> @@ -179,24 +179,29 @@ void MidiDriver_CoreMIDI::sysEx(const byte *msg, uint16 length) { // Plugin interface -class CoreMIDIMidiPlugin : public MidiPluginObject { +class CoreMIDIMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "CoreMIDI"; } - virtual const char *getId() const { + const char *getId() const { return "coremidi"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError CoreMIDIMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices CoreMIDIMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError CoreMIDIMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_CoreMIDI(); return kNoError; @@ -205,16 +210,16 @@ PluginError CoreMIDIMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver * MidiDriver *MidiDriver_CoreMIDI_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - CoreMIDIMidiPlugin p; + CoreMIDIMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(COREMIDI) - //REGISTER_PLUGIN_DYNAMIC(COREMIDI, PLUGIN_TYPE_MIDI, CoreMIDIMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(COREMIDI, PLUGIN_TYPE_MUSIC, CoreMIDIMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(COREMIDI, PLUGIN_TYPE_MIDI, CoreMIDIMidiPlugin); + REGISTER_PLUGIN_STATIC(COREMIDI, PLUGIN_TYPE_MUSIC, CoreMIDIMusicPlugin); //#endif #endif // MACOSX diff --git a/backends/midi/dmedia.cpp b/backends/midi/dmedia.cpp index 885081e3e0..b4bd426ca4 100644 --- a/backends/midi/dmedia.cpp +++ b/backends/midi/dmedia.cpp @@ -31,7 +31,7 @@ #include "common/scummsys.h" #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <dmedia/midi.h> @@ -178,24 +178,29 @@ void MidiDriver_DMEDIA::sysEx (const byte *msg, uint16 length) { // Plugin interface -class DMediaMidiPlugin : public MidiPluginObject { +class DMediaMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "DMedia"; } - virtual const char *getId() const { + const char *getId() const { return "dmedia"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError DMediaMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices DMediaMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError DMediaMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_DMEDIA(); return kNoError; @@ -204,16 +209,16 @@ PluginError DMediaMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **m MidiDriver *MidiDriver_DMEDIA_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - DMediaMidiPlugin p; + DMediaMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(DMEDIA) - //REGISTER_PLUGIN_DYNAMIC(DMEDIA, PLUGIN_TYPE_MIDI, DMediaMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(DMEDIA, PLUGIN_TYPE_MUSIC, DMediaMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(DMEDIA, PLUGIN_TYPE_MIDI, DMediaMidiPlugin); + REGISTER_PLUGIN_STATIC(DMEDIA, PLUGIN_TYPE_MUSIC, DMediaMusicPlugin); //#endif #endif diff --git a/backends/midi/quicktime.cpp b/backends/midi/quicktime.cpp index 63905212e6..568adf022b 100644 --- a/backends/midi/quicktime.cpp +++ b/backends/midi/quicktime.cpp @@ -38,7 +38,7 @@ #include "common/endian.h" #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #if defined(MACOSX) @@ -265,24 +265,29 @@ void MidiDriver_QT::dispose() // Plugin interface -class QuickTimeMidiPlugin : public MidiPluginObject { +class QuickTimeMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "QuickTime"; } - virtual const char *getId() const { + const char *getId() const { return "qt"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError QuickTimeMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices QuickTimeMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError QuickTimeMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_QT(); return kNoError; @@ -291,16 +296,16 @@ PluginError QuickTimeMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver MidiDriver *MidiDriver_QT_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - QuickTimeMidiPlugin p; + QuickTimeMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(QUICKTIME) - //REGISTER_PLUGIN_DYNAMIC(QUICKTIME, PLUGIN_TYPE_MIDI, QuickTimeMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(QUICKTIME, PLUGIN_TYPE_MUSIC, QuickTimeMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(QUICKTIME, PLUGIN_TYPE_MIDI, QuickTimeMidiPlugin); + REGISTER_PLUGIN_STATIC(QUICKTIME, PLUGIN_TYPE_MUSIC, QuickTimeMusicPlugin); //#endif #endif // MACOSX || macintosh diff --git a/backends/midi/seq.cpp b/backends/midi/seq.cpp index 07dfc25142..57a5a1ea32 100644 --- a/backends/midi/seq.cpp +++ b/backends/midi/seq.cpp @@ -31,7 +31,7 @@ #if defined(UNIX) && !defined(__BEOS__) && !defined(__MAEMO__) #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <fcntl.h> @@ -173,24 +173,29 @@ void MidiDriver_SEQ::sysEx (const byte *msg, uint16 length) { // Plugin interface -class SeqMidiPlugin : public MidiPluginObject { +class SeqMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "SEQ"; } - virtual const char *getId() const { + const char *getId() const { return "seq"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError SeqMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices SeqMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError SeqMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_SEQ(); return kNoError; @@ -199,16 +204,16 @@ PluginError SeqMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **midi MidiDriver *MidiDriver_SEQ_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - SeqMidiPlugin p; + SeqMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(SEQ) - //REGISTER_PLUGIN_DYNAMIC(SEQ, PLUGIN_TYPE_MIDI, SeqMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(SEQ, PLUGIN_TYPE_MUSIC, SeqMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(SEQ, PLUGIN_TYPE_MIDI, SeqMidiPlugin); + REGISTER_PLUGIN_STATIC(SEQ, PLUGIN_TYPE_MUSIC, SeqMusicPlugin); //#endif #endif diff --git a/backends/midi/timidity.cpp b/backends/midi/timidity.cpp index 842fb358bf..b262fed88c 100644 --- a/backends/midi/timidity.cpp +++ b/backends/midi/timidity.cpp @@ -37,7 +37,7 @@ #if defined (UNIX) #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <fcntl.h> @@ -514,24 +514,27 @@ void MidiDriver_TIMIDITY::sysEx(const byte *msg, uint16 length) { // Plugin interface -class TimidityMidiPlugin : public MidiPluginObject { +class TimidityMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "TiMidity"; } - virtual const char *getId() const { + const char *getId() const { return "timidity"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError TimidityMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices TimidityMusicPlugin::getDevices() const { + MusicDevices devices; + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError TimidityMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_TIMIDITY(); return kNoError; @@ -540,16 +543,16 @@ PluginError TimidityMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver * MidiDriver *MidiDriver_TIMIDITY_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - TimidityMidiPlugin p; + TimidityMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(TIMIDITY) - //REGISTER_PLUGIN_DYNAMIC(TIMIDITY, PLUGIN_TYPE_MIDI, TimidityMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(TIMIDITY, PLUGIN_TYPE_MUSIC, TimidityMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(TIMIDITY, PLUGIN_TYPE_MIDI, TimidityMidiPlugin); + REGISTER_PLUGIN_STATIC(TIMIDITY, PLUGIN_TYPE_MUSIC, TimidityMusicPlugin); //#endif #endif // defined (UNIX) diff --git a/backends/midi/windows.cpp b/backends/midi/windows.cpp index 083f0eaf96..c564c124fe 100644 --- a/backends/midi/windows.cpp +++ b/backends/midi/windows.cpp @@ -28,7 +28,7 @@ // winnt.h defines ARRAYSIZE, but we want our own one... #undef ARRAYSIZE -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include <mmsystem.h> @@ -147,24 +147,29 @@ void MidiDriver_WIN::check_error(MMRESULT result) { // Plugin interface -class WindowsMidiPlugin : public MidiPluginObject { +class WindowsMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "Windows MIDI"; } - virtual const char *getId() const { + const char *getId() const { return "windows"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError WindowsMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices WindowsMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError WindowsMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_WIN(); return kNoError; @@ -173,16 +178,16 @@ PluginError WindowsMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver ** MidiDriver *MidiDriver_WIN_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - WindowsMidiPlugin p; + WindowsMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(WINDOWS) - //REGISTER_PLUGIN_DYNAMIC(WINDOWS, PLUGIN_TYPE_MIDI, WindowsMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(WINDOWS, PLUGIN_TYPE_MUSIC, WindowsMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(WINDOWS, PLUGIN_TYPE_MIDI, WindowsMidiPlugin); + REGISTER_PLUGIN_STATIC(WINDOWS, PLUGIN_TYPE_MUSIC, WindowsMusicPlugin); //#endif #endif diff --git a/backends/midi/ypa1.cpp b/backends/midi/ypa1.cpp index 37d90d45b0..88f9c3de8f 100644 --- a/backends/midi/ypa1.cpp +++ b/backends/midi/ypa1.cpp @@ -23,7 +23,7 @@ */ #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #include "Pa1Lib.h" @@ -106,24 +106,29 @@ void MidiDriver_YamahaPa1::send(uint32 b) { // Plugin interface -class YamahaPa1MidiPlugin : public MidiPluginObject { +class YamahaPa1MusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "Yamaha Pa1"; } - virtual const char *getId() const { + const char *getId() const { return "ypa1"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError YamahaPa1MidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices YamahaPa1MusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError YamahaPa1MusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_YamahaPa1(); return kNoError; @@ -132,14 +137,14 @@ PluginError YamahaPa1MidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver MidiDriver *MidiDriver_YamahaPa1_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - YamahaPa1MidiPlugin p; + YamahaPa1MusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(YPA1) - //REGISTER_PLUGIN_DYNAMIC(YPA1, PLUGIN_TYPE_MIDI, YamahaPa1MidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(YPA1, PLUGIN_TYPE_MUSIC, YamahaPa1MusicPlugin); //#else - REGISTER_PLUGIN_STATIC(YPA1, PLUGIN_TYPE_MIDI, YamahaPa1MidiPlugin); + REGISTER_PLUGIN_STATIC(YPA1, PLUGIN_TYPE_MUSIC, YamahaPa1MusicPlugin); //#endif diff --git a/backends/midi/zodiac.cpp b/backends/midi/zodiac.cpp index f27c042de8..456e4df43a 100644 --- a/backends/midi/zodiac.cpp +++ b/backends/midi/zodiac.cpp @@ -23,7 +23,7 @@ */ #include "common/util.h" -#include "sound/midiplugin.h" +#include "sound/musicplugin.h" #include "sound/mpu401.h" #ifndef DISABLE_TAPWAVE @@ -124,24 +124,29 @@ void MidiDriver_Zodiac::sysEx(const byte *msg, uint16 length) { // Plugin interface -class ZodiacMidiPlugin : public MidiPluginObject { +class ZodiacMusicPlugin : public MusicPluginObject { public: - virtual const char *getName() const { + const char *getName() const { return "Tapwave Zodiac"; } - virtual const char *getId() const { + const char *getId() const { return "zodiac"; } - virtual int getCapabilities() const { - return MDT_MIDI; - } - - virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; + MusicDevices getDevices() const; + PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const; }; -PluginError ZodiacMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { +MusicDevices ZodiacMusicPlugin::getDevices() const { + MusicDevices devices; + // TODO: Return a different music type depending on the configuration + // TODO: List the available devices + devices.push_back(MusicDevice(this, "", MT_GM)); + return devices; +} + +PluginError ZodiacMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const { *mididriver = new MidiDriver_Zodiac(); return kNoError; @@ -150,16 +155,16 @@ PluginError ZodiacMidiPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **m MidiDriver *MidiDriver_Zodiac_create(Audio::Mixer *mixer) { MidiDriver *mididriver; - ZodiacMidiPlugin p; + ZodiacMusicPlugin p; p.createInstance(mixer, &mididriver); return mididriver; } //#if PLUGIN_ENABLED_DYNAMIC(ZODIAC) - //REGISTER_PLUGIN_DYNAMIC(ZODIAC, PLUGIN_TYPE_MIDI, ZodiacMidiPlugin); + //REGISTER_PLUGIN_DYNAMIC(ZODIAC, PLUGIN_TYPE_MUSIC, ZodiacMusicPlugin); //#else - REGISTER_PLUGIN_STATIC(ZODIAC, PLUGIN_TYPE_MIDI, ZodiacMidiPlugin); + REGISTER_PLUGIN_STATIC(ZODIAC, PLUGIN_TYPE_MUSIC, ZodiacMusicPlugin); //#endif #endif diff --git a/backends/platform/null/null.cpp b/backends/platform/null/null.cpp index 194a7b6889..64d429a83e 100644 --- a/backends/platform/null/null.cpp +++ b/backends/platform/null/null.cpp @@ -102,6 +102,7 @@ public: virtual Common::SaveFileManager *getSavefileManager(); virtual Audio::Mixer *getMixer(); + virtual void getTimeAndDate(struct tm &t) const; virtual Common::TimerManager *getTimerManager(); }; @@ -295,6 +296,9 @@ Common::TimerManager *OSystem_NULL::getTimerManager() { return _timer; } +void OSystem_NULL::getTimeAndDate(struct tm &t) const { +} + OSystem *OSystem_NULL_create() { return new OSystem_NULL(); } |
