aboutsummaryrefslogtreecommitdiff
path: root/sound/musicplugin.cpp
diff options
context:
space:
mode:
authorMax Horn2010-06-21 21:36:36 +0000
committerMax Horn2010-06-21 21:36:36 +0000
commitbbad3f333a9227ccb1de633a0fe92d9e01ad7bb3 (patch)
treee5b53717ffc5972cec14be581f586228c245b858 /sound/musicplugin.cpp
parent49448af6cb2613460fe37caf79bdb1ed4c206715 (diff)
downloadscummvm-rg350-bbad3f333a9227ccb1de633a0fe92d9e01ad7bb3.tar.gz
scummvm-rg350-bbad3f333a9227ccb1de633a0fe92d9e01ad7bb3.tar.bz2
scummvm-rg350-bbad3f333a9227ccb1de633a0fe92d9e01ad7bb3.zip
Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
Diffstat (limited to 'sound/musicplugin.cpp')
-rw-r--r--sound/musicplugin.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/sound/musicplugin.cpp b/sound/musicplugin.cpp
index b4754230da..7b5b6608ea 100644
--- a/sound/musicplugin.cpp
+++ b/sound/musicplugin.cpp
@@ -24,10 +24,12 @@
*/
#include "sound/musicplugin.h"
+#include "common/hash-str.h"
+#include "common/translation.h"
MusicDevice::MusicDevice(MusicPluginObject const *musicPlugin, Common::String name, MusicType mt) :
- _musicDriverName(musicPlugin->getName()), _musicDriverId(musicPlugin->getId()),
- _name(name), _type(mt) {
+ _musicDriverName(_(musicPlugin->getName())), _musicDriverId(musicPlugin->getId()),
+ _name(_(name)), _type(mt) {
}
Common::String MusicDevice::getCompleteName() {
@@ -46,3 +48,19 @@ Common::String MusicDevice::getCompleteName() {
return name;
}
+
+Common::String MusicDevice::getCompleteId() {
+ Common::String id = _musicDriverId;
+ if (!_name.empty()) {
+ id += "_";
+ id += _name;
+ }
+
+ return id;
+}
+
+MidiDriver::DeviceHandle MusicDevice::getHandle() {
+ if (_musicDriverId.equals("auto") || _musicDriverId.equals("null"))
+ return 0;
+ return (MidiDriver::DeviceHandle)Common::hashit(getCompleteId().c_str());
+}