summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Nusser <andre.nusser@googlemail.com>2016-04-21 21:05:43 +0200
committerAndré Nusser <andre.nusser@googlemail.com>2016-04-21 21:35:30 +0200
commitf8be5a6d8d0be47596e1d9e6050e6e134f1e4167 (patch)
treead0f01c5c3d2232386cd939e72bbee644ccd7142
parent02b46fa70addd49ce1b7c0a04e56c33963f0e1c2 (diff)
A little refactoring for drumgizmo.cc.
Range based loops, static const member variables instead of #define, c++11 convert from and to strings.
-rw-r--r--src/drumgizmo.cc46
-rw-r--r--src/drumgizmo.h9
2 files changed, 18 insertions, 37 deletions
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc
index aa6be23..46250f0 100644
--- a/src/drumgizmo.cc
+++ b/src/drumgizmo.cc
@@ -107,9 +107,9 @@ bool DrumGizmo::loadkit(std::string file)
loader.loadKit(&kit);
#ifdef WITH_RESAMPLER
- for(int i = 0; i < MAX_NUM_CHANNELS; ++i)
+ for(auto& chresampler: resampler)
{
- resampler[i].setup(kit.getSamplerate(), settings.samplerate.load());
+ chresampler.setup(kit.getSamplerate(), settings.samplerate.load());
}
#endif/*WITH_RESAMPLER*/
@@ -602,9 +602,9 @@ void DrumGizmo::setSamplerate(int samplerate)
DEBUG(dgeditor, "%s samplerate: %d\n", __PRETTY_FUNCTION__, samplerate);
settings.samplerate.store(samplerate);
#ifdef WITH_RESAMPLER
- for(int i = 0; i < MAX_NUM_CHANNELS; ++i)
+ for(auto& chresampler: resampler)
{
- resampler[i].setup(kit.getSamplerate(), settings.samplerate.load());
+ chresampler.setup(kit.getSamplerate(), settings.samplerate.load());
}
if(resampler[0].getRatio() != 1)
{
@@ -613,28 +613,6 @@ 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;
@@ -649,15 +627,15 @@ std::string DrumGizmo::configString()
" <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"
+ std::to_string(settings.enable_velocity_modifier.load()) + "</value>\n"
" <value name=\"velocity_modifier_falloff\">" +
- float2str(settings.velocity_modifier_falloff.load()) + "</value>\n"
+ std::to_string(settings.velocity_modifier_falloff.load()) + "</value>\n"
" <value name=\"velocity_modifier_weight\">" +
- float2str(settings.velocity_modifier_weight.load()) + "</value>\n"
+ std::to_string(settings.velocity_modifier_weight.load()) + "</value>\n"
" <value name=\"enable_velocity_randomiser\">" +
- bool2str(settings.enable_velocity_randomiser.load()) + "</value>\n"
+ std::to_string(settings.enable_velocity_randomiser.load()) + "</value>\n"
" <value name=\"velocity_randomiser_weight\">" +
- float2str(settings.velocity_randomiser_weight.load()) + "</value>\n"
+ std::to_string(settings.velocity_randomiser_weight.load()) + "</value>\n"
"</config>";
}
@@ -680,12 +658,12 @@ bool DrumGizmo::setConfigString(std::string cfg)
if(p.value("velocity_modifier_falloff") != "")
{
- settings.velocity_modifier_falloff.store(str2float(p.value("velocity_modifier_falloff")));
+ settings.velocity_modifier_falloff.store(std::stof(p.value("velocity_modifier_falloff")));
}
if(p.value("velocity_modifier_weight") != "")
{
- settings.velocity_modifier_weight.store(str2float(p.value("velocity_modifier_weight")));
+ settings.velocity_modifier_weight.store(std::stof(p.value("velocity_modifier_weight")));
}
if(p.value("enable_velocity_randomiser") != "")
@@ -695,7 +673,7 @@ bool DrumGizmo::setConfigString(std::string cfg)
if(p.value("velocity_randomiser_weight") != "")
{
- settings.velocity_randomiser_weight.store(str2float(p.value("velocity_randomiser_weight")));
+ settings.velocity_randomiser_weight.store(std::stof(p.value("velocity_randomiser_weight")));
}
if(p.value("enable_resampling") != "")
diff --git a/src/drumgizmo.h b/src/drumgizmo.h
index 7af5dbb..13c657d 100644
--- a/src/drumgizmo.h
+++ b/src/drumgizmo.h
@@ -42,9 +42,7 @@
#include "configfile.h"
#include "settings.h"
-#define MAX_NUM_CHANNELS 64
#define REFSFILE "refs.conf"
-#define RESAMPLER_INPUT_BUFFER 64
class DrumGizmo
{
@@ -73,6 +71,11 @@ public:
void setFreeWheel(bool freewheel);
+private:
+ static const int MAX_NUM_CHANNELS = 64;
+ static const int RESAMPLER_OUTPUT_BUFFER = 4096;
+ static const int RESAMPLER_INPUT_BUFFER = 64;
+
protected:
DrumKitLoader loader;
@@ -85,7 +88,7 @@ protected:
std::list< Event* > activeevents[MAX_NUM_CHANNELS];
CHResampler resampler[MAX_NUM_CHANNELS];
- sample_t resampler_output_buffer[MAX_NUM_CHANNELS][4096];
+ sample_t resampler_output_buffer[MAX_NUM_CHANNELS][RESAMPLER_OUTPUT_BUFFER];
sample_t resampler_input_buffer[MAX_NUM_CHANNELS][RESAMPLER_INPUT_BUFFER];
std::map<std::string, AudioFile *> audiofiles;