From d477d66f49fb37609b6a989425603d470cb09245 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Fri, 17 Sep 2010 20:02:29 +0000 Subject: [PATCH] SOUND: Properly add CMS as plugin. svn-id: r52779 --- base/plugins.cpp | 1 + sound/mididrv.cpp | 2 +- sound/softsynth/cms.cpp | 26 ++++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/base/plugins.cpp b/base/plugins.cpp index f5e51f32288..ab660488d30 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 b93df195587..f4cf75ca730 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 974db0dea87..271268a6d98 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