aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/coreaudio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/midi/coreaudio.cpp')
-rw-r--r--backends/midi/coreaudio.cpp31
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