Deluge Firmware 1.3.0
Build date: 2025.04.16
Loading...
Searching...
No Matches
swing_interval.h
1/*
2 * Copyright (c) 2014-2024 Synthstrom Audible Limited
3 *
4 * This file is part of The Synthstrom Audible Deluge Firmware.
5 *
6 * The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7 * terms of the GNU General Public License as published by the Free Software Foundation,
8 * either version 3 of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along with this program.
15 * If not, see <https://www.gnu.org/licenses/>.
16 */
17#pragma once
18#include "gui/menu_item/swing/interval.h"
19#include "storage/flash_storage.h"
20
21namespace deluge::gui::menu_item::defaults {
22
23using namespace deluge::gui::menu_item::swing;
24
25class SwingInterval final : public Interval {
26public:
27 using Interval::Interval;
28 void readCurrentValue() override { this->setValue(FlashStorage::defaultSwingInterval); }
29 void writeCurrentValue() override {
30 FlashStorage::defaultSwingInterval = this->getValue();
31 // NOTE: different defautls are a bit inconsistent in how they treat current values.
32 // eg. Velocity immediately changes the default velocity of the current song, but tempo
33 // and swing don't. So We don't either.
34 }
35
36protected:
37 void getNoteLengthName(StringBuf& buffer) override {
38 syncValueToString(this->getValue(), buffer, FlashStorage::defaultMagnitude);
39 }
40};
41
42} // namespace deluge::gui::menu_item::defaults
Definition d_string.h:106
void readCurrentValue() override
Like readValueAgain, but does not redraw.
Definition swing_interval.h:28