27 using ArpNonSoundInteger::ArpNonSoundInteger;
29 this->setValue(computeCurrentValueForUnsignedMenuItem(soundEditor.currentArpSettings->sequenceLength));
31 void writeCurrentValue()
override {
32 int32_t value = computeFinalValueForUnsignedMenuItem(this->getValue());
33 soundEditor.currentArpSettings->sequenceLength = value;
36 [[nodiscard]] NumberStyle getNumberStyle()
const override {
return NUMBER; }
38 void renderInHorizontalMenu(int32_t startX, int32_t width, int32_t startY, int32_t height)
override {
39 if (getValue() == 0) {
40 const auto offString = l10n::get(l10n::String::STRING_FOR_OFF);
41 return OLED::main.drawStringCentered(offString, startX, startY + 3, kTextSpacingX, kTextSpacingY, width);
43 ArpNonSoundInteger::renderInHorizontalMenu(startX, width, startY, height);
47 if (
const auto value = getValue(); value == 0) {
48 valueBuf.append(l10n::get(l10n::String::STRING_FOR_OFF));
51 valueBuf.appendInt(value);