diff options
Diffstat (limited to 'backends/midi/coremidi.cpp')
| -rw-r--r-- | backends/midi/coremidi.cpp | 31 | 
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 | 
