From 9c736d83797def87f82ac90da753158e1378e7da Mon Sep 17 00:00:00 2001 From: eggix <9631813+eggix@users.noreply.github.com> Date: Wed, 21 Oct 2020 12:35:10 +0200 Subject: [PATCH] added Easter egg to Elements' context menu --- src/Elements.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Elements.cpp b/src/Elements.cpp index b1a5a57..45eedea 100644 --- a/src/Elements.cpp +++ b/src/Elements.cpp @@ -77,6 +77,7 @@ struct Elements : Module { uint16_t reverb_buffer[32768] = {}; elements::Part* part; + bool easterEgg = false; Elements() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); @@ -232,6 +233,10 @@ struct Elements : Module { void setModel(int model) { part->set_resonator_model((elements::ResonatorModel)model); } + + void setEasterEgg() { + part->set_easter_egg(easterEgg); + } }; @@ -247,6 +252,18 @@ struct ElementsModalItem : MenuItem { } }; +struct ElementsEasterEggItem : MenuItem { + Elements* elements; + void onAction(const event::Action& e) override { + elements->easterEgg = !elements->easterEgg; + elements->setEasterEgg(); + } + void step() override { + rightText = (elements->easterEgg) ? "✔" : ""; + MenuItem::step(); + } +}; + struct ElementsWidget : ModuleWidget { ElementsWidget(Elements* module) { @@ -335,6 +352,8 @@ struct ElementsWidget : ModuleWidget { menu->addChild(construct(&MenuItem::text, "Original", &ElementsModalItem::elements, elements, &ElementsModalItem::model, 0)); menu->addChild(construct(&MenuItem::text, "Non-linear string", &ElementsModalItem::elements, elements, &ElementsModalItem::model, 1)); menu->addChild(construct(&MenuItem::text, "Chords", &ElementsModalItem::elements, elements, &ElementsModalItem::model, 2)); + menu->addChild(new MenuSeparator); + menu->addChild(construct(&MenuItem::text, "Easter egg", &ElementsEasterEggItem::elements, elements)); } };