diff options
Diffstat (limited to 'config.cpp')
-rw-r--r-- | config.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
@@ -30,6 +30,7 @@ void Config::recover() m_midi_channel = CLICK_CHANNEL; m_midi_note = CLICK_NOTE; m_bpm = default_bpm; + m_mode = default_mode; std::string config = Reichwein::File::getFile(config_filename); @@ -38,12 +39,19 @@ void Config::recover() for (const auto& i: lines) { if (i.starts_with("midi_channel=")) { m_midi_channel = stoul(i.substr(13)); + signal_channel(m_midi_channel); } if (i.starts_with("midi_note=")) { m_midi_note = stoul(i.substr(10)); + signal_note(m_midi_note); } if (i.starts_with("bpm=")) { m_bpm = stoul(i.substr(4)); + signal_bpm(m_bpm); + } + if (i.starts_with("mode=")) { + m_mode = stoul(i.substr(5)); + signal_mode(m_mode); } } } catch (const std::exception& ex) { @@ -55,7 +63,8 @@ void Config::persist() { std::string config = fmt::format("midi_channel={}\n", m_midi_channel) + fmt::format("midi_note={}\n", m_midi_note) + - fmt::format("bpm={}\n", m_bpm); + fmt::format("bpm={}\n", m_bpm) + + fmt::format("mode={}\n", m_mode); Reichwein::File::setFile(config_filename, config); } @@ -68,6 +77,7 @@ int Config::get_midi_channel() void Config::set_midi_channel(int channel) { m_midi_channel = channel; + signal_channel(channel); } int Config::get_midi_note() @@ -78,6 +88,7 @@ int Config::get_midi_note() void Config::set_midi_note(int note) { m_midi_note = note; + signal_note(note); } int Config::get_bpm() @@ -88,5 +99,17 @@ int Config::get_bpm() void Config::set_bpm(int bpm) { m_bpm = bpm; + signal_bpm(bpm); +} + +int Config::get_mode() +{ + return m_mode; +} + +void Config::set_mode(int mode) +{ + m_mode = mode; + signal_mode(mode); } |