diff options
Diffstat (limited to 'backends/midi/coreaudio.cpp')
-rw-r--r-- | backends/midi/coreaudio.cpp | 31 |
1 files changed, 18 insertions, 13 deletions
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 |