summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndré Nusser <andre.nusser@googlemail.com>2016-07-16 15:46:40 +0200
committerAndré Nusser <andre.nusser@googlemail.com>2016-07-16 15:46:40 +0200
commitf653c5348904d8debc84f6c0e72d17430579204e (patch)
tree4f159a08b0b32a12e285630c28af19e80907f1d3 /src
parent2247c698d8f7dc5725f4d491e798c5147273ca1e (diff)
Move config io from DrumGizmo to DrumGizmoPlugin (into own class).
Drumkit file and midimap file are now fetched from settings instead of DrumGizmo members.
Diffstat (limited to 'src')
-rw-r--r--src/drumgizmo.cc110
-rw-r--r--src/drumgizmo.h5
2 files changed, 1 insertions, 114 deletions
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc
index b6d464f..fa601e6 100644
--- a/src/drumgizmo.cc
+++ b/src/drumgizmo.cc
@@ -37,16 +37,13 @@
#include <hugin.hpp>
-#include <config.h>
#include <memory>
+#include <config.h>
#include <iostream>
#include "drumkitparser.h"
#include "audioinputenginemidi.h"
-#include "configparser.h"
-
-#include "nolocale.h"
DrumGizmo::DrumGizmo(Settings& settings,
AudioOutputEngine& o, AudioInputEngine& i)
@@ -411,108 +408,3 @@ void DrumGizmo::setSamplerate(int samplerate)
}
#endif/*WITH_RESAMPLER*/
}
-
-std::string float2str(float a)
-{
- char buf[256];
- snprintf_nol(buf, sizeof(buf) - 1, "%f", a);
- return buf;
-}
-
-std::string bool2str(bool a)
-{
- return a?"true":"false";
-}
-
-float str2float(std::string a)
-{
- if(a == "")
- {
- return 0.0;
- }
-
- return atof_nol(a.c_str());
-}
-
-std::string DrumGizmo::configString()
-{
- std::string mmapfile;
- auto midiEngine = dynamic_cast<AudioInputEngineMidi*>(&ie);
- if(midiEngine)
- {
- mmapfile = midiEngine->getMidimapFile();
- }
-
- return
- "<config>\n"
- " <value name=\"drumkitfile\">" + kit.getFile() + "</value>\n"
- " <value name=\"midimapfile\">" + mmapfile + "</value>\n"
- " <value name=\"enable_velocity_modifier\">" +
- bool2str(settings.enable_velocity_modifier.load()) + "</value>\n"
- " <value name=\"velocity_modifier_falloff\">" +
- float2str(settings.velocity_modifier_falloff.load()) + "</value>\n"
- " <value name=\"velocity_modifier_weight\">" +
- float2str(settings.velocity_modifier_weight.load()) + "</value>\n"
- " <value name=\"enable_velocity_randomiser\">" +
- bool2str(settings.enable_velocity_randomiser.load()) + "</value>\n"
- " <value name=\"velocity_randomiser_weight\">" +
- float2str(settings.velocity_randomiser_weight.load()) + "</value>\n"
- "</config>";
-}
-
-bool DrumGizmo::setConfigString(std::string cfg)
-{
- DEBUG(config, "Load config: %s\n", cfg.c_str());
-
- std::string dkf;
- ConfigParser p;
- if(p.parseString(cfg))
- {
- ERR(drumgizmo, "Config parse error.\n");
- return false;
- }
-
- if(p.value("enable_velocity_modifier") != "")
- {
- settings.enable_velocity_modifier.store(p.value("enable_velocity_modifier") == "true");
- }
-
- if(p.value("velocity_modifier_falloff") != "")
- {
- settings.velocity_modifier_falloff.store(str2float(p.value("velocity_modifier_falloff")));
- }
-
- if(p.value("velocity_modifier_weight") != "")
- {
- settings.velocity_modifier_weight.store(str2float(p.value("velocity_modifier_weight")));
- }
-
- if(p.value("enable_velocity_randomiser") != "")
- {
- settings.enable_velocity_randomiser.store(p.value("enable_velocity_randomiser") == "true");
- }
-
- if(p.value("velocity_randomiser_weight") != "")
- {
- settings.velocity_randomiser_weight.store(str2float(p.value("velocity_randomiser_weight")));
- }
-
- if(p.value("enable_resampling") != "")
- {
- settings.enable_resampling.store(p.value("enable_resampling") == "true");
- }
-
- std::string newkit = p.value("drumkitfile");
- if(newkit != "")
- {
- settings.drumkit_file.store(newkit);
- }
-
- std::string newmidimap = p.value("midimapfile");
- if(newmidimap != "")
- {
- settings.midimap_file.store(newmidimap);
- }
-
- return true;
-}
diff --git a/src/drumgizmo.h b/src/drumgizmo.h
index 8ad77d3..b104772 100644
--- a/src/drumgizmo.h
+++ b/src/drumgizmo.h
@@ -39,7 +39,6 @@
#include "audiocache.h"
#include "mutex.h"
#include "chresampler.h"
-#include "configfile.h"
#include "settings.h"
#include "inputprocessor.h"
@@ -60,9 +59,6 @@ public:
void getSamples(int ch, int pos, sample_t *s, size_t sz);
- std::string configString();
- bool setConfigString(std::string cfg);
-
//! Get the current engine latency in samples.
std::size_t getLatency() const;
@@ -105,6 +101,5 @@ protected:
std::vector<event_t> events;
Settings& settings;
- SettingsGetter getter{settings};
Random rand;
};