diff options
author | Vicent Marti | 2008-06-14 14:44:29 +0000 |
---|---|---|
committer | Vicent Marti | 2008-06-14 14:44:29 +0000 |
commit | d0b27cf9c66b9281899acf826cb205e19dcb7260 (patch) | |
tree | 74e813b1d1f081f35f41ca7a95da5d048951b9e7 /sound/null.cpp | |
parent | d51a0cab3fe494698f001d81d5d86cea7cd0395b (diff) | |
parent | 91d3ea31359950b59ee46af8355cc0f5790257e5 (diff) | |
download | scummvm-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.cpp | 48 |
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 |