- Added more information (ID and capabilities) to the MIDI drivers

- Added the MidiPlugin interface to the remaining MIDI drivers
- Added an initial MidiManager to handle the MIDI plugins (just static plugins by now)

svn-id: r32117
This commit is contained in:
Jordi Vilalta Prat
2008-05-14 14:56:29 +00:00
parent e2d58f4885
commit eb6c809d2b
21 changed files with 447 additions and 26 deletions
+14
View File
@@ -247,6 +247,14 @@ public:
return "ALSA";
}
virtual 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;
@@ -309,4 +317,10 @@ MidiDriver *MidiDriver_ALSA_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(ALSA)
//REGISTER_PLUGIN_DYNAMIC(ALSA, PLUGIN_TYPE_MIDI, AlsaMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(ALSA, PLUGIN_TYPE_MIDI, AlsaMidiPlugin);
//#endif
#endif
+14
View File
@@ -172,6 +172,14 @@ public:
return "CAMD";
}
virtual 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;
@@ -192,4 +200,10 @@ MidiDriver *MidiDriver_CAMD_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(CAMD)
//REGISTER_PLUGIN_DYNAMIC(CAMD, PLUGIN_TYPE_MIDI, CamdMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(CAMD, PLUGIN_TYPE_MIDI, CamdMidiPlugin);
//#endif
#endif
+14
View File
@@ -202,6 +202,14 @@ public:
return "CoreAudio";
}
virtual const char *getId() const {
return "core";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -220,4 +228,10 @@ MidiDriver *MidiDriver_CORE_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(COREAUDIO)
//REGISTER_PLUGIN_DYNAMIC(COREAUDIO, PLUGIN_TYPE_MIDI, CoreAudioMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(COREAUDIO, PLUGIN_TYPE_MIDI, CoreAudioMidiPlugin);
//#endif
#endif // MACOSX
+14
View File
@@ -185,6 +185,14 @@ public:
return "CoreMIDI";
}
virtual const char *getId() const {
return "coremidi";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -203,4 +211,10 @@ MidiDriver *MidiDriver_CoreMIDI_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(COREMIDI)
//REGISTER_PLUGIN_DYNAMIC(COREMIDI, PLUGIN_TYPE_MIDI, CoreMIDIMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(COREMIDI, PLUGIN_TYPE_MIDI, CoreMIDIMidiPlugin);
//#endif
#endif // MACOSX
+14
View File
@@ -184,6 +184,14 @@ public:
return "DMedia";
}
virtual const char *getId() const {
return "dmedia";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -202,4 +210,10 @@ MidiDriver *MidiDriver_DMEDIA_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(DMEDIA)
//REGISTER_PLUGIN_DYNAMIC(DMEDIA, PLUGIN_TYPE_MIDI, DMediaMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(DMEDIA, PLUGIN_TYPE_MIDI, DMediaMidiPlugin);
//#endif
#endif
+14
View File
@@ -259,6 +259,14 @@ public:
return "QuickTime";
}
virtual const char *getId() const {
return "qt";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -277,4 +285,10 @@ MidiDriver *MidiDriver_QT_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(QT)
//REGISTER_PLUGIN_DYNAMIC(QT, PLUGIN_TYPE_MIDI, QuickTimeMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(QT, PLUGIN_TYPE_MIDI, QuickTimeMidiPlugin);
//#endif
#endif // MACOSX || macintosh
+14
View File
@@ -179,6 +179,14 @@ public:
return "SEQ";
}
virtual const char *getId() const {
return "seq";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -197,4 +205,10 @@ MidiDriver *MidiDriver_SEQ_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(SEQ)
//REGISTER_PLUGIN_DYNAMIC(SEQ, PLUGIN_TYPE_MIDI, SeqMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(SEQ, PLUGIN_TYPE_MIDI, SeqMidiPlugin);
//#endif
#endif
+14
View File
@@ -520,6 +520,14 @@ public:
return "TiMidity";
}
virtual const char *getId() const {
return "timidity";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -538,4 +546,10 @@ MidiDriver *MidiDriver_TIMIDITY_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(TIMIDITY)
//REGISTER_PLUGIN_DYNAMIC(TIMIDITY, PLUGIN_TYPE_MIDI, TimidityMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(TIMIDITY, PLUGIN_TYPE_MIDI, TimidityMidiPlugin);
//#endif
#endif // defined (UNIX)
+14
View File
@@ -153,6 +153,14 @@ public:
return "Windows MIDI";
}
virtual const char *getId() const {
return "windows";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -171,4 +179,10 @@ MidiDriver *MidiDriver_WIN_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(WINDOWS)
//REGISTER_PLUGIN_DYNAMIC(WINDOWS, PLUGIN_TYPE_MIDI, WindowsMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(WINDOWS, PLUGIN_TYPE_MIDI, WindowsMidiPlugin);
//#endif
#endif
+14
View File
@@ -112,6 +112,14 @@ public:
return "Yamaha Pa1";
}
virtual const char *getId() const {
return "ypa1";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -129,3 +137,9 @@ MidiDriver *MidiDriver_YamahaPa1_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(YPA1)
//REGISTER_PLUGIN_DYNAMIC(YPA1, PLUGIN_TYPE_MIDI, YamahaPa1MidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(YPA1, PLUGIN_TYPE_MIDI, YamahaPa1MidiPlugin);
//#endif
+14
View File
@@ -130,6 +130,14 @@ public:
return "Tapwave Zodiac";
}
virtual const char *getId() const {
return "zodiac";
}
virtual int getCapabilities() const {
return MDT_MIDI;
}
virtual PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
};
@@ -148,4 +156,10 @@ MidiDriver *MidiDriver_Zodiac_create(Audio::Mixer *mixer) {
return mididriver;
}
//#if PLUGIN_ENABLED_DYNAMIC(ZODIAC)
//REGISTER_PLUGIN_DYNAMIC(ZODIAC, PLUGIN_TYPE_MIDI, ZodiacMidiPlugin);
//#else
REGISTER_PLUGIN_STATIC(ZODIAC, PLUGIN_TYPE_MIDI, ZodiacMidiPlugin);
//#endif
#endif