29 using Selection::Selection;
30 void readCurrentValue()
override { this->setValue<::FilterRoute>(soundEditor.currentModControllable->filterRoute); }
33 void writeCurrentValue()
override {
34 auto current_value = this->getValue<::FilterRoute>();
37 if (currentUIMode == UI_MODE_HOLDING_AFFECT_ENTIRE_IN_SOUND_EDITOR && soundEditor.editingKitRow()) {
39 Kit* kit = getCurrentKit();
41 for (
Drum* thisDrum = kit->firstDrum; thisDrum !=
nullptr; thisDrum = thisDrum->next) {
42 if (thisDrum->type == DrumType::SOUND) {
43 auto* soundDrum =
static_cast<SoundDrum*
>(thisDrum);
45 if (soundDrum->lpfMode != FilterMode::OFF && soundDrum->hpfMode != FilterMode::OFF) {
46 soundDrum->filterRoute = current_value;
53 soundEditor.currentModControllable->filterRoute = current_value;
57 deluge::vector<std::string_view> getOptions(OptType optType)
override {
58 return {l10n::getView(l10n::String::STRING_FOR_HPF_TO_LPF), l10n::getView(l10n::String::STRING_FOR_LPF_TO_HPF),
59 l10n::getView(l10n::String::STRING_FOR_PARALLEL)};
66 void renderInHorizontalMenu(
const SlotPosition& slot)
override {
67 OLED::main.drawHorizontalLine(kScreenTitleSeparatorY, 0, OLED_MAIN_WIDTH_PIXELS - 1);