diff options
author | Johannes Schickel | 2010-09-17 20:02:29 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-09-17 20:02:29 +0000 |
commit | d477d66f49fb37609b6a989425603d470cb09245 (patch) | |
tree | 7ca90b4e6139eb8ac08e771e8d085f046fdb8c3f | |
parent | cc764cb8ec130060aa97b7bec738c2da8a5089cf (diff) | |
download | scummvm-rg350-d477d66f49fb37609b6a989425603d470cb09245.tar.gz scummvm-rg350-d477d66f49fb37609b6a989425603d470cb09245.tar.bz2 scummvm-rg350-d477d66f49fb37609b6a989425603d470cb09245.zip |
SOUND: Properly add CMS as plugin.
svn-id: r52779
-rw-r--r-- | base/plugins.cpp | 1 | ||||
-rw-r--r-- | sound/mididrv.cpp | 2 | ||||
-rw-r--r-- | sound/softsynth/cms.cpp | 26 |
3 files changed, 28 insertions, 1 deletions
diff --git a/base/plugins.cpp b/base/plugins.cpp index f5e51f3228..ab660488d3 100644 --- a/base/plugins.cpp +++ b/base/plugins.cpp @@ -206,6 +206,7 @@ public: LINK_PLUGIN(ADLIB) LINK_PLUGIN(PCSPK) LINK_PLUGIN(PCJR) + LINK_PLUGIN(CMS) #ifndef DISABLE_SID LINK_PLUGIN(C64) #endif diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp index b93df19558..f4cf75ca73 100644 --- a/sound/mididrv.cpp +++ b/sound/mididrv.cpp @@ -58,7 +58,7 @@ const byte MidiDriver::_gmToMt32[128] = { static const uint32 GUIOMapping[] = { MT_PCSPK, Common::GUIO_MIDIPCSPK, - /*MDT_CMS, Common::GUIO_MIDICMS,*/ + MT_CMS, Common::GUIO_MIDICMS, MT_PCJR, Common::GUIO_MIDIPCJR, MT_ADLIB, Common::GUIO_MIDIADLIB, MT_C64, Common::GUIO_MIDIC64, diff --git a/sound/softsynth/cms.cpp b/sound/softsynth/cms.cpp index 974db0dea8..271268a6d9 100644 --- a/sound/softsynth/cms.cpp +++ b/sound/softsynth/cms.cpp @@ -23,8 +23,10 @@ */ #include "sound/softsynth/cms.h" +#include "sound/null.h" #include "common/textconsole.h" +#include "common/translation.h" // CMS/Gameblaster Emulation taken from DosBox @@ -341,3 +343,27 @@ void CMSEmulator::portWriteIntern(int chip, int offset, int data) { } } +class CMSMusicPlugin : public NullMusicPlugin { +public: + const char *getName() const { + return _s("Creative Music System Emulator"); + } + + const char *getId() const { + return "cms"; + } + + MusicDevices getDevices() const; +}; + +MusicDevices CMSMusicPlugin::getDevices() const { + MusicDevices devices; + devices.push_back(MusicDevice(this, "", MT_CMS)); + return devices; +} + +//#if PLUGIN_ENABLED_DYNAMIC(CMS) + //REGISTER_PLUGIN_DYNAMIC(CMS, PLUGIN_TYPE_MUSIC, CMSMusicPlugin); +//#else + REGISTER_PLUGIN_STATIC(CMS, PLUGIN_TYPE_MUSIC, CMSMusicPlugin); +//#endif |