32 using Selection::Selection;
34 void readCurrentValue()
override { this->setValue(soundEditor.currentModControllable->modFXType_); }
36 void writeCurrentValue()
override {
37 auto current_value = this->getValue<ModFXType>();
39 if (currentUIMode == UI_MODE_HOLDING_AFFECT_ENTIRE_IN_SOUND_EDITOR && soundEditor.editingKitRow()) {
41 Kit* kit = getCurrentKit();
43 bool some_error =
false;
44 for (
Drum* thisDrum = kit->firstDrum; thisDrum !=
nullptr; thisDrum = thisDrum->next) {
45 if (thisDrum->type == DrumType::SOUND) {
46 auto* soundDrum =
static_cast<SoundDrum*
>(thisDrum);
47 if (!soundDrum->setModFXType(current_value)) {
53 display->displayError(Error::INSUFFICIENT_RAM);
58 if (!soundEditor.currentModControllable->setModFXType(current_value)) {
59 display->displayError(Error::INSUFFICIENT_RAM);
64 deluge::vector<std::string_view> getOptions(OptType optType)
override {
66 return modfx::getModNames();