summaryrefslogtreecommitdiffstats
path: root/src/Configuration.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-05-11 13:45:26 -0400
committerDavid Robillard <d@drobilla.net>2021-05-11 13:45:26 -0400
commitdf0fdf362347495531bc3a5d19233220721d846b (patch)
treee3631d08630d4d6651eb24aa53c9fc49157778ab /src/Configuration.cpp
parentc6ae340c6222240dc45e9bba714c722cebece186 (diff)
downloadpatchage-df0fdf362347495531bc3a5d19233220721d846b.tar.gz
patchage-df0fdf362347495531bc3a5d19233220721d846b.tar.bz2
patchage-df0fdf362347495531bc3a5d19233220721d846b.zip
Refactor most functionality around actions and settings
This moves more code into general places, and completely eliminates dependencies on the Patchage "god object".
Diffstat (limited to 'src/Configuration.cpp')
-rw-r--r--src/Configuration.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Configuration.cpp b/src/Configuration.cpp
index 665e66f..8b5a47b 100644
--- a/src/Configuration.cpp
+++ b/src/Configuration.cpp
@@ -27,6 +27,7 @@
#include <ios>
#include <iostream>
#include <limits>
+#include <utility>
#include <vector>
namespace patchage {
@@ -37,7 +38,8 @@ static const char* const port_type_names[N_PORT_TYPES] = {"JACK_AUDIO",
"JACK_OSC",
"JACK_CV"};
-Configuration::Configuration()
+Configuration::Configuration(std::function<void(const Setting&)> on_change)
+ : _on_change(std::move(on_change))
{
std::get<setting::WindowLocation>(_settings).value = Coord{0.0, 0.0};
std::get<setting::WindowSize>(_settings).value = Coord{960.0, 540.0};