aboutsummaryrefslogtreecommitdiff
path: root/sound/softsynth
diff options
context:
space:
mode:
authorFlorian Kagerer2010-08-11 18:54:56 +0000
committerFlorian Kagerer2010-08-11 18:54:56 +0000
commit4a159bcb1e086d03c7bd1216694552ed5a83103e (patch)
treedf4c767bf3911bbb7ffa6dabbdea7a3a2220235e /sound/softsynth
parent0c7932cc7cd54ea8fdee9d12663657d67eaa7639 (diff)
downloadscummvm-rg350-4a159bcb1e086d03c7bd1216694552ed5a83103e.tar.gz
scummvm-rg350-4a159bcb1e086d03c7bd1216694552ed5a83103e.tar.bz2
scummvm-rg350-4a159bcb1e086d03c7bd1216694552ed5a83103e.zip
GUI: add music devices for c64, amiga and apple II gs
These devices are not able to create appropriate drivers. The only purpose for now is having proper gui options and flags and music types for the device detector. The corresponding GUIO flags for the new devices have been added, too. svn-id: r51995
Diffstat (limited to 'sound/softsynth')
-rw-r--r--sound/softsynth/appleiigs.cpp57
-rw-r--r--sound/softsynth/sid.cpp31
2 files changed, 88 insertions, 0 deletions
diff --git a/sound/softsynth/appleiigs.cpp b/sound/softsynth/appleiigs.cpp
new file mode 100644
index 0000000000..9004d1f0ab
--- /dev/null
+++ b/sound/softsynth/appleiigs.cpp
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+*
+* ScummVM is the legal property of its developers, whose names
+* are too numerous to list here. Please refer to the COPYRIGHT
+* file distributed with this source distribution.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+* $URL$
+* $Id$
+*
+*/
+
+#include "sound/null.h"
+
+// Plugin interface
+// (This can only create a null driver since apple II gs support seeems not to be implemented
+// and also is not part of the midi driver architecture. But we need the plugin for the options
+// menu in the launcher and for MidiDriver::detectDevice() which is more or less used by all engines.)
+
+class AppleIIGSMusicPlugin : public NullMusicPlugin {
+public:
+ const char *getName() const {
+ return _s("Apple II GS Emulator (NOT IMPLEMENTED)");
+ }
+
+ const char *getId() const {
+ return "appleIIgs";
+ }
+
+ MusicDevices getDevices() const;
+};
+
+MusicDevices AppleIIGSMusicPlugin::getDevices() const {
+ MusicDevices devices;
+ devices.push_back(MusicDevice(this, "", MT_APPLEIIGS));
+ return devices;
+}
+
+//#if PLUGIN_ENABLED_DYNAMIC(APPLEIIGS)
+ //REGISTER_PLUGIN_DYNAMIC(APPLEIIGS, PLUGIN_TYPE_MUSIC, AppleIIGSMusicPlugin);
+//#else
+ REGISTER_PLUGIN_STATIC(APPLEIIGS, PLUGIN_TYPE_MUSIC, AppleIIGSMusicPlugin);
+//#endif
+
diff --git a/sound/softsynth/sid.cpp b/sound/softsynth/sid.cpp
index e925f4a447..c05ae2e8f5 100644
--- a/sound/softsynth/sid.cpp
+++ b/sound/softsynth/sid.cpp
@@ -31,6 +31,7 @@
#ifndef DISABLE_SID
#include "sid.h"
+#include "sound/null.h"
#include <math.h>
namespace Resid {
@@ -1422,4 +1423,34 @@ int SID::clock(cycle_count& delta_t, short* buf, int n, int interleave) {
}
+// Plugin interface
+// (This can only create a null driver since C64 audio support is not part of the
+// midi driver architecture. But we need the plugin for the options menu in the launcher
+// and for MidiDriver::detectDevice() which is more or less used by all engines.)
+
+class C64MusicPlugin : public NullMusicPlugin {
+public:
+ const char *getName() const {
+ return _s("C64 Audio Emulator");
+ }
+
+ const char *getId() const {
+ return "C64";
+ }
+
+ MusicDevices getDevices() const;
+};
+
+MusicDevices C64MusicPlugin::getDevices() const {
+ MusicDevices devices;
+ devices.push_back(MusicDevice(this, "", MT_C64));
+ return devices;
+}
+
+//#if PLUGIN_ENABLED_DYNAMIC(C64)
+ //REGISTER_PLUGIN_DYNAMIC(C64, PLUGIN_TYPE_MUSIC, C64MusicPlugin);
+//#else
+ REGISTER_PLUGIN_STATIC(C64, PLUGIN_TYPE_MUSIC, C64MusicPlugin);
+//#endif
+
#endif