aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/coremidi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/midi/coremidi.cpp')
-rw-r--r--backends/midi/coremidi.cpp31
1 files changed, 18 insertions, 13 deletions
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