From 039db9a9b674803516846b66c7b3f18a6f354756 Mon Sep 17 00:00:00 2001 From: Andrew Belt Date: Thu, 3 Jun 2021 19:50:19 -0400 Subject: [PATCH] Use menu item helpers for Shelves and Braids. --- src/Braids.cpp | 22 +++++++++++++++------- src/Shelves.cpp | 11 +---------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/Braids.cpp b/src/Braids.cpp index fe300ba..7415ed9 100644 --- a/src/Braids.cpp +++ b/src/Braids.cpp @@ -335,15 +335,23 @@ struct BraidsWidget : ModuleWidget { } void appendContextMenu(Menu* menu) override { - Braids* braids = dynamic_cast(module); - assert(braids); + Braids* module = dynamic_cast(this->module); menu->addChild(new MenuSeparator); - menu->addChild(construct(&MenuLabel::text, "Options")); - menu->addChild(construct(&MenuItem::text, "META", &BraidsSettingItem::setting, &braids->settings.meta_modulation)); - menu->addChild(construct(&MenuItem::text, "DRFT", &BraidsSettingItem::setting, &braids->settings.vco_drift, &BraidsSettingItem::onValue, 4)); - menu->addChild(construct(&MenuItem::text, "SIGN", &BraidsSettingItem::setting, &braids->settings.signature, &BraidsSettingItem::onValue, 4)); - menu->addChild(construct(&MenuItem::text, "Low CPU", &BraidsLowCpuItem::braids, braids)); + + menu->addChild(createBoolPtrMenuItem("FM CV selects model (META)", &module->settings.meta_modulation)); + + menu->addChild(createBoolMenuItem("Pitch drift (DRFT)", + [=]() {return module->settings.vco_drift;}, + [=](bool val) {module->settings.vco_drift = val ? 4 : 0;} + )); + + menu->addChild(createBoolMenuItem("Waveform imperfections (SIGN)", + [=]() {return module->settings.signature;}, + [=](bool val) {module->settings.signature = val ? 4 : 0;} + )); + + menu->addChild(createBoolPtrMenuItem("Low CPU (disable resampling)", &module->lowCpu)); } }; diff --git a/src/Shelves.cpp b/src/Shelves.cpp index 130c1fe..918bb91 100644 --- a/src/Shelves.cpp +++ b/src/Shelves.cpp @@ -235,16 +235,7 @@ struct ShelvesWidget : ModuleWidget { menu->addChild(new MenuSeparator); - struct PreGainItem : MenuItem { - Shelves* module; - void onAction(const event::Action& e) override { - module->preGain ^= true; - } - }; - - PreGainItem* preGainItem = createMenuItem("Pad input by -6dB", CHECKMARK(module->preGain)); - preGainItem->module = module; - menu->addChild(preGainItem); + menu->addChild(createBoolPtrMenuItem("Pad input by -6dB", &module->preGain)); } };