28 using Selection::Selection;
29 void readCurrentValue()
override { this->setValue(soundEditor.currentArpSettings->mpeVelocity); }
32 void writeCurrentValue()
override {
33 auto current_value = this->getValue<ArpMpeModSource>();
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.mpeVelocity = current_value;
49 soundEditor.currentArpSettings->mpeVelocity = current_value;
54 return !soundEditor.editingGateDrumRow();
57 deluge::vector<std::string_view> getOptions(OptType optType)
override {
59 using enum l10n::String;
61 l10n::getView(STRING_FOR_DISABLED),
62 l10n::getView(STRING_FOR_PATCH_SOURCE_AFTERTOUCH),
63 l10n::getView(STRING_FOR_PATCH_SOURCE_Y),