diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2017-04-01 13:58:10 +0200 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2017-04-01 21:00:39 +0200 | 
| commit | 32ad5ff14a03cdf049903523603c6b7a83dd7a5a (patch) | |
| tree | 7e023729dd2a3adccd947f5beb6ef7f547f79388 /plugin | |
| parent | ee324cd887455f3ea456572ef6d8b627f6dd0bb3 (diff) | |
Store new setting in the plugin.
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/drumgizmo_plugin.cc | 31 | 
1 files changed, 29 insertions, 2 deletions
| diff --git a/plugin/drumgizmo_plugin.cc b/plugin/drumgizmo_plugin.cc index d6dd371..9b1c46d 100644 --- a/plugin/drumgizmo_plugin.cc +++ b/plugin/drumgizmo_plugin.cc @@ -28,6 +28,7 @@  #include <cstring>  #include <algorithm> +#include <string>  #include <midievent.h> @@ -463,6 +464,13 @@ std::string bool2str(bool a)  	return a?"true":"false";  } +std::string int2str(int a) +{ +	char buf[256]; +	snprintf(buf, sizeof(buf) - 1, "%d", a); +	return buf; +} +  float str2float(std::string a)  {  	if(a == "") @@ -473,6 +481,18 @@ float str2float(std::string a)  	return atof_nol(a.c_str());  } +int str2int(std::string a) +{ +	try +	{ +		return std::stoi(a); +	} +	catch(...) +	{ +		return 0; +	} +} +  } // end anonymous namespace  DrumGizmoPlugin::ConfigStringIO::ConfigStringIO(Settings& settings) @@ -498,7 +518,9 @@ std::string DrumGizmoPlugin::ConfigStringIO::get()  		"  <value name=\"velocity_randomiser_weight\">" +  		float2str(settings.velocity_randomiser_weight.load()) + "</value>\n"  		"  <value name=\"disk_cache_upper_limit\">" + -		float2str(settings.disk_cache_upper_limit.load()) + "</value>\n" +		int2str(settings.disk_cache_upper_limit.load()) + "</value>\n" +		"  <value name=\"disk_cache_chunk_size\">" + +		int2str(settings.disk_cache_chunk_size.load()) + "</value>\n"  		"  <value name=\"disk_cache_enable\">" +  		bool2str(settings.disk_cache_enable.load()) + "</value>\n"  		"</config>"; @@ -547,7 +569,12 @@ bool DrumGizmoPlugin::ConfigStringIO::set(std::string config_string)  	if(p.value("disk_cache_upper_limit") != "")  	{ -		settings.disk_cache_upper_limit.store(str2float(p.value("disk_cache_upper_limit"))); +		settings.disk_cache_upper_limit.store(str2int(p.value("disk_cache_upper_limit"))); +	} + +	if(p.value("disk_cache_chunk_size") != "") +	{ +		settings.disk_cache_chunk_size.store(str2int(p.value("disk_cache_chunk_size")));  	}  	if(p.value("disk_cache_enable") != "") | 
