summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/drumgizmo_plugin.cc7
-rw-r--r--plugingui/maintab.cc9
-rw-r--r--plugingui/maintab.h1
-rw-r--r--src/settings.h5
4 files changed, 21 insertions, 1 deletions
diff --git a/plugin/drumgizmo_plugin.cc b/plugin/drumgizmo_plugin.cc
index 641faac..debe630 100644
--- a/plugin/drumgizmo_plugin.cc
+++ b/plugin/drumgizmo_plugin.cc
@@ -565,6 +565,8 @@ std::string DrumGizmoPlugin::ConfigStringIO::get()
int2str(settings.disk_cache_chunk_size.load()) + "</value>\n"
" <value name=\"disk_cache_enable\">" +
bool2str(settings.disk_cache_enable.load()) + "</value>\n"
+ " <value name=\"enable_bleed_control\">" +
+ bool2str(settings.enable_bleed_control.load()) + "</value>\n"
" <value name=\"master_bleed\">" +
float2str(settings.master_bleed.load()) + "</value>\n"
"</config>";
@@ -626,6 +628,11 @@ bool DrumGizmoPlugin::ConfigStringIO::set(std::string config_string)
settings.disk_cache_enable.store(p.value("disk_cache_enable") == "true");
}
+ if(p.value("enable_bleed_control") != "")
+ {
+ settings.enable_bleed_control.store(p.value("enable_bleed_control") == "true");
+ }
+
if(p.value("master_bleed") != "")
{
settings.master_bleed.store(str2float(p.value("master_bleed")));
diff --git a/plugingui/maintab.cc b/plugingui/maintab.cc
index 8bc4962..8b6e478 100644
--- a/plugingui/maintab.cc
+++ b/plugingui/maintab.cc
@@ -54,6 +54,7 @@ MainTab::MainTab(Widget* parent,
add("Resampling", resampling_frame, resamplingframe_content, 14, 1);
humanizer_frame.setOnSwitch(settings.enable_velocity_modifier);
+ bleedcontrol_frame.setOnSwitch(settings.enable_bleed_control);
resampling_frame.setOnSwitch(settings.enable_resampling);
CONNECT(this, settings_notifier.enable_velocity_modifier,
@@ -62,7 +63,8 @@ MainTab::MainTab(Widget* parent,
&resampling_frame, &FrameWidget::setOnSwitch);
CONNECT(&humanizer_frame, onSwitchChangeNotifier,
this, &MainTab::humanizerOnChange);
- // TODO: Connect bleed control switch to settings
+ CONNECT(&bleedcontrol_frame, onSwitchChangeNotifier,
+ this, &MainTab::bleedcontrolOnChange);
CONNECT(&resampling_frame, onSwitchChangeNotifier,
this, &MainTab::resamplingOnChange);
}
@@ -82,6 +84,11 @@ void MainTab::humanizerOnChange(bool on)
settings.enable_velocity_modifier.store(on);
}
+void MainTab::bleedcontrolOnChange(bool on)
+{
+ settings.enable_bleed_control.store(on);
+}
+
void MainTab::resamplingOnChange(bool on)
{
settings.enable_resampling.store(on);
diff --git a/plugingui/maintab.h b/plugingui/maintab.h
index de78474..ce1e5b4 100644
--- a/plugingui/maintab.h
+++ b/plugingui/maintab.h
@@ -57,6 +57,7 @@ public:
private:
void humanizerOnChange(bool on);
+ void bleedcontrolOnChange(bool on);
void resamplingOnChange(bool on);
Image logo{":resources/logo.png"};
diff --git a/src/settings.h b/src/settings.h
index b23f919..89f898c 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -87,6 +87,7 @@ struct Settings
Atomic<std::size_t> number_of_files_loaded{0};
Atomic<std::string> current_file{""};
+ Atomic<bool> enable_bleed_control{false};
Atomic<float> master_bleed{1.0f};
};
@@ -126,6 +127,7 @@ struct SettingsGetter
SettingRef<std::size_t> number_of_files_loaded;
SettingRef<std::string> current_file;
+ SettingRef<bool> enable_bleed_control;
SettingRef<float> master_bleed;
SettingsGetter(Settings& settings)
@@ -154,6 +156,7 @@ struct SettingsGetter
, number_of_files{settings.number_of_files}
, number_of_files_loaded{settings.number_of_files_loaded}
, current_file{settings.current_file}
+ , enable_bleed_control{settings.enable_bleed_control}
, master_bleed{settings.master_bleed}
{
}
@@ -196,6 +199,7 @@ public:
Notifier<std::size_t> number_of_files_loaded;
Notifier<std::string> current_file;
+ Notifier<bool> enable_bleed_control;
Notifier<float> master_bleed;
void evaluate()
@@ -235,6 +239,7 @@ public:
EVAL(number_of_files_loaded);
EVAL(current_file);
+ EVAL(enable_bleed_control);
EVAL(master_bleed);
}