aboutsummaryrefslogtreecommitdiff
path: root/sound/musicplugin.cpp
diff options
context:
space:
mode:
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());
+}