28 using Integer::Integer;
29 void readCurrentValue()
override { this->setValue(soundEditor.currentArpSettings->numOctaves); }
32 void writeCurrentValue()
override {
33 int32_t current_value = this->getValue();
36 if (currentUIMode == UI_MODE_HOLDING_AFFECT_ENTIRE_IN_SOUND_EDITOR && soundEditor.editingKitRow()) {
38 Kit* kit = getCurrentKit();
40 for (
Drum* thisDrum = kit->firstDrum; thisDrum !=
nullptr; thisDrum = thisDrum->next) {
42 if (thisDrum->type != DrumType::GATE) {
43 thisDrum->arpSettings.numOctaves = current_value;
49 soundEditor.currentArpSettings->numOctaves = current_value;
53 [[nodiscard]] int32_t getMinValue()
const override {
return 1; }
54 [[nodiscard]] int32_t getMaxValue()
const override {
return 8; }
56 return !soundEditor.editingGateDrumRow() && !soundEditor.editingKitAffectEntire();
59 label.append(deluge::l10n::get(deluge::l10n::built_in::seven_segment, this->name));