Deluge Firmware
1.3.0
Build date: 2026.08.23
Toggle main menu visibility
Loading...
Searching...
No Matches
sequence_length.h
1
/*
2
* Copyright (c) 2014-2023 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/sync_level.h"
19
20
namespace
deluge::gui::menu_item::arpeggiator {
21
class
SequenceLength
final :
public
ArpUnpatchedParam {
22
public
:
23
using
ArpUnpatchedParam::ArpUnpatchedParam;
24
25
[[nodiscard]] RenderingStyle getRenderingStyle()
const override
{
return
NUMBER; }
26
27
void
renderInHorizontalMenu(
const
SlotPosition
& slot)
override
{
28
if
(getValue() == 0) {
29
const
auto
off_string = l10n::get(l10n::String::STRING_FOR_OFF);
30
return
OLED::main.drawStringCentered(off_string, slot.start_x, slot.start_y + kHorizontalMenuSlotYOffset,
31
kTextSpacingX, kTextSpacingY, slot.width);
32
}
33
ArpUnpatchedParam::renderInHorizontalMenu(slot);
34
}
35
36
void
getNotificationValue
(
StringBuf
& valueBuf)
override
{
37
if
(
const
auto
value = getValue(); value == 0) {
38
valueBuf.append(l10n::get(l10n::String::STRING_FOR_OFF));
39
}
40
else
{
41
valueBuf.appendInt(value);
42
}
43
}
44
};
45
46
}
// namespace deluge::gui::menu_item::arpeggiator
StringBuf
Definition
d_stringbuf.h:16
deluge::gui::menu_item::arpeggiator::SequenceLength
Definition
sequence_length.h:21
deluge::gui::menu_item::arpeggiator::SequenceLength::getNotificationValue
void getNotificationValue(StringBuf &valueBuf) override
Get the parameter value string to show in the popup.
Definition
sequence_length.h:36
SlotPosition
Definition
menu_item.h:33