aboutsummaryrefslogtreecommitdiff
path: root/sound/null.cpp
diff options
context:
space:
mode:
authorVicent Marti2008-06-14 14:44:29 +0000
committerVicent Marti2008-06-14 14:44:29 +0000
commitd0b27cf9c66b9281899acf826cb205e19dcb7260 (patch)
tree74e813b1d1f081f35f41ca7a95da5d048951b9e7 /sound/null.cpp
parentd51a0cab3fe494698f001d81d5d86cea7cd0395b (diff)
parent91d3ea31359950b59ee46af8355cc0f5790257e5 (diff)
downloadscummvm-rg350-d0b27cf9c66b9281899acf826cb205e19dcb7260.tar.gz
scummvm-rg350-d0b27cf9c66b9281899acf826cb205e19dcb7260.tar.bz2
scummvm-rg350-d0b27cf9c66b9281899acf826cb205e19dcb7260.zip
Merged trunk into the GUI branch.
Fixed MSVS9 project files. svn-id: r32702
Diffstat (limited to 'sound/null.cpp')
-rw-r--r--sound/null.cpp48
1 files changed, 45 insertions, 3 deletions
diff --git a/sound/null.cpp b/sound/null.cpp
index 49c57052f9..7559a6d816 100644
--- a/sound/null.cpp
+++ b/sound/null.cpp
@@ -22,6 +22,7 @@
* $Id$
*/
+#include "sound/musicplugin.h"
#include "sound/mpu401.h"
/* NULL driver */
@@ -31,12 +32,53 @@ public:
void send(uint32 b) { }
};
-MidiDriver *MidiDriver_NULL_create() {
- return new MidiDriver_NULL();
+
+// Plugin interface
+
+class NullMusicPlugin : public MusicPluginObject {
+public:
+ const char *getName() const {
+ return "No music";
+ }
+
+ const char *getId() const {
+ return "null";
+ }
+
+ MusicDevices getDevices() const;
+ PluginError createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const;
+};
+
+PluginError NullMusicPlugin::createInstance(Audio::Mixer *mixer, MidiDriver **mididriver) const {
+ *mididriver = new MidiDriver_NULL();
+
+ return kNoError;
+}
+
+MusicDevices NullMusicPlugin::getDevices() const {
+ MusicDevices devices;
+ // TODO: return a different music type?
+ devices.push_back(MusicDevice(this, "", MT_GM));
+ return devices;
+}
+
+MidiDriver *MidiDriver_NULL_create(Audio::Mixer *mixer) {
+ MidiDriver *mididriver;
+
+ NullMusicPlugin p;
+ p.createInstance(mixer, &mididriver);
+
+ return mididriver;
}
#ifdef DISABLE_ADLIB
MidiDriver *MidiDriver_ADLIB_create(Audio::Mixer *mixer) {
- return new MidiDriver_NULL();
+ return MidiDriver_NULL_create(mixer);
}
#endif
+
+//#if PLUGIN_ENABLED_DYNAMIC(NULL)
+ //REGISTER_PLUGIN_DYNAMIC(NULL, PLUGIN_TYPE_MUSIC, NullMusicPlugin);
+//#else
+ REGISTER_PLUGIN_STATIC(NULL, PLUGIN_TYPE_MUSIC, NullMusicPlugin);
+//#endif