aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
Diffstat (limited to 'backends')
-rw-r--r--backends/midi/alsa.cpp37
-rw-r--r--backends/midi/camd.cpp33
-rw-r--r--backends/midi/coreaudio.cpp31
-rw-r--r--backends/midi/coremidi.cpp31
-rw-r--r--backends/midi/dmedia.cpp31
-rw-r--r--backends/midi/quicktime.cpp31
-rw-r--r--backends/midi/seq.cpp31
-rw-r--r--backends/midi/timidity.cpp29
-rw-r--r--backends/midi/windows.cpp31
-rw-r--r--backends/midi/ypa1.cpp31
-rw-r--r--backends/midi/zodiac.cpp31
-rw-r--r--backends/platform/null/null.cpp4
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();
}