diff --git a/res/Fonts/Crysta.ttf b/res/Fonts/Crysta.ttf deleted file mode 100644 index 7faea17..0000000 Binary files a/res/Fonts/Crysta.ttf and /dev/null differ diff --git a/res/Fonts/Segment7Standard-OFL.txt b/res/Fonts/Segment7Standard-OFL.txt new file mode 100644 index 0000000..8e46b9b --- /dev/null +++ b/res/Fonts/Segment7Standard-OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2014, Cedric Knight , +with Reserved Font Name "Segment7". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/res/Fonts/Segment7Standard.ttf b/res/Fonts/Segment7Standard.ttf new file mode 100644 index 0000000..bdd6e2a Binary files /dev/null and b/res/Fonts/Segment7Standard.ttf differ diff --git a/res/Fonts/OFL.txt b/res/Fonts/Sudo-OFL.txt similarity index 100% rename from res/Fonts/OFL.txt rename to res/Fonts/Sudo-OFL.txt diff --git a/src/ADSR.cpp b/src/ADSR.cpp index dcf55db..369f167 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -57,7 +57,7 @@ struct ADSR : Module { float releaseshape = 0.0f; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; ADSR() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); @@ -205,6 +205,7 @@ struct ADSRWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { ADSR *adsr = dynamic_cast(module); assert(adsr); @@ -218,6 +219,7 @@ struct ADSRWidget : ModuleWidget { //menu->addChild(construct(&LogarithmicMenu::text, "Logarithmic Mode", &LogarithmicMenu::adsr, adsr)); //menu->addChild(construct(&LinearMenu::text, "Linear Mode", &LinearMenu::adsr, adsr)); } +#endif ADSRWidget(ADSR *module); void step() override; @@ -231,13 +233,13 @@ ADSRWidget::ADSRWidget(ADSR *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/ADSR.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); // Night Mode Theme panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/ADSR-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -278,12 +280,17 @@ ADSRWidget::ADSRWidget(ADSR *module) { } void ADSRWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { ADSR *adsr = dynamic_cast(module); assert(adsr); panelClassic->visible = (adsr->Theme == 0); panelNightMode->visible = (adsr->Theme == 1); } +#endif ModuleWidget::step(); } diff --git a/src/Bitcrusher.cpp b/src/Bitcrusher.cpp index 77728ea..fa7e4fe 100644 --- a/src/Bitcrusher.cpp +++ b/src/Bitcrusher.cpp @@ -65,7 +65,7 @@ struct Bitcrusher : Module { }; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; float out = 0.0f ? 0.0f : 0.0f; @@ -141,6 +141,7 @@ struct BitcrusherWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { Bitcrusher *bitcrusher = dynamic_cast(module); assert(bitcrusher); @@ -150,6 +151,7 @@ struct BitcrusherWidget : ModuleWidget { menu->addChild(construct(&BitCClassicMenu::text, "Classic (default)", &BitCClassicMenu::bitcrusher, bitcrusher)); menu->addChild(construct(&BitCNightModeMenu::text, "Night Mode", &BitCNightModeMenu::bitcrusher, bitcrusher)); } +#endif BitcrusherWidget(Bitcrusher *module); void step() override; @@ -161,13 +163,13 @@ BitcrusherWidget::BitcrusherWidget(Bitcrusher *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Bitcrusher.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Bitcrusher-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(0, 0))); @@ -187,12 +189,17 @@ BitcrusherWidget::BitcrusherWidget(Bitcrusher *module) { }; void BitcrusherWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { Bitcrusher *bitcrusher = dynamic_cast(module); assert(bitcrusher); panelClassic->visible = (bitcrusher->Theme == 0); panelNightMode->visible = (bitcrusher->Theme == 1); } +#endif ModuleWidget::step(); } diff --git a/src/BlankPanel.cpp b/src/BlankPanel.cpp index 4973566..22ca72f 100644 --- a/src/BlankPanel.cpp +++ b/src/BlankPanel.cpp @@ -20,7 +20,7 @@ struct BlankPanel : Module { }; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; BlankPanel() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); @@ -68,6 +68,7 @@ struct BlankPanelWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { BlankPanel *blankpanel = dynamic_cast(module); assert(blankpanel); @@ -77,6 +78,7 @@ struct BlankPanelWidget : ModuleWidget { menu->addChild(construct(&BlankClassicMenu::text, "Classic (default)", &BlankClassicMenu::blankpanel, blankpanel)); menu->addChild(construct(&BlankNightModeMenu::text, "Night Mode", &BlankNightModeMenu::blankpanel, blankpanel)); } +#endif BlankPanelWidget(BlankPanel *module); void step() override; @@ -88,13 +90,13 @@ BlankPanelWidget::BlankPanelWidget(BlankPanel *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/BlankPanelLight.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/BlankPanelDark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -105,12 +107,17 @@ BlankPanelWidget::BlankPanelWidget(BlankPanel *module) { }; void BlankPanelWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { BlankPanel *blankpanel = dynamic_cast(module); assert(blankpanel); panelClassic->visible = (blankpanel->Theme == 0); panelNightMode->visible = (blankpanel->Theme == 1); } +#endif ModuleWidget::step(); } diff --git a/src/Delay.cpp b/src/Delay.cpp index f1f332f..ede90ea 100644 --- a/src/Delay.cpp +++ b/src/Delay.cpp @@ -129,7 +129,7 @@ struct Delay : Module { dsp::RCFilter lowpassFilterB; dsp::RCFilter highpassFilterB; - int Theme = 0; + int Theme = THEME_DEFAULT; int DISPLAYA = 0; int DISPLAYB = 0; ///////////////////////////////////// @@ -552,7 +552,7 @@ struct DisplayWidget : TransparentWidget { nvgStrokeColor(args.vg, borderColor); nvgStroke(args.vg); // text - std::shared_ptr font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Fonts/Crysta.ttf")); + std::shared_ptr font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Fonts/Segment7Standard.ttf")); if (font) { nvgFontSize(args.vg, 16); nvgFontFaceId(args.vg, font->handle); @@ -605,7 +605,7 @@ struct TRatioADisplay : TransparentWidget { nvgStroke(vg); // Text - std::shared_ptr font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Fonts/Crysta.ttf"));; + std::shared_ptr font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Fonts/Segment7Standard.ttf"));; if (font) { nvgFontSize(vg, 16); nvgFontFaceId(vg, font->handle); @@ -651,7 +651,7 @@ struct TRatioBDisplay : TransparentWidget { nvgStrokeColor(vg, borderColor); nvgStroke(vg); - std::shared_ptr font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Fonts/Crysta.ttf")); + std::shared_ptr font = APP->window->loadFont(asset::plugin(pluginInstance, "res/Fonts/Segment7Standard.ttf")); if (font) { nvgFontSize(vg, 16); nvgFontFaceId(vg, font->handle); @@ -707,6 +707,7 @@ struct DelayWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { Delay *delay = dynamic_cast(module); assert(delay); @@ -715,6 +716,7 @@ struct DelayWidget : ModuleWidget { menu->addChild(construct(&BPClassicMenu::text, "Classic (default)", &BPClassicMenu::delay, delay)); menu->addChild(construct(&BPNightModeMenu::text, "Night Mode", &BPNightModeMenu::delay, delay)); } +#endif DelayWidget(Delay *module); void step() override; @@ -726,13 +728,13 @@ DelayWidget::DelayWidget(Delay *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Delay.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Delay-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); { @@ -824,19 +826,24 @@ DelayWidget::DelayWidget(Delay *module) { }; void DelayWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; + if (Delay *delay = dynamic_cast(module)) { +#else if (module) { Delay *delay = dynamic_cast(module); assert(delay); // Panel Theme panelClassic->visible = (delay->Theme == 0); panelNightMode->visible = (delay->Theme == 1); +#endif // Display displayA->visible = (delay->DISPLAYA == 0); TRdisplayA->visible = (delay->DISPLAYA == 1); displayB->visible = (delay->DISPLAYB == 0); TRdisplayB->visible = (delay->DISPLAYB == 1); } - ModuleWidget::step(); } diff --git a/src/ExperimentalVCO.cpp b/src/ExperimentalVCO.cpp index 677f91b..e37d267 100644 --- a/src/ExperimentalVCO.cpp +++ b/src/ExperimentalVCO.cpp @@ -43,7 +43,7 @@ struct ExperimentalVCO : Module { int Oct = 0; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; ExperimentalVCO() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); @@ -202,6 +202,7 @@ struct ExperimentalVCOWidget : ModuleWidget { MSMPanel *pOmriBack; SvgPanel *pOmriFront; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { ExperimentalVCO *experimentalvco = dynamic_cast(module); assert(experimentalvco); @@ -212,6 +213,7 @@ struct ExperimentalVCOWidget : ModuleWidget { menu->addChild(construct(&ExperimentalVCOEspenMenu::text, "Espen's Treasure | Jedi", &ExperimentalVCOEspenMenu::experimentalvco, experimentalvco)); menu->addChild(construct(&ExperimentalVCOOmriMenu::text, "Omri's Treasure | Mushroom", &ExperimentalVCOOmriMenu::experimentalvco, experimentalvco)); } +#endif ExperimentalVCOWidget(ExperimentalVCO *module); void step() override; @@ -224,13 +226,13 @@ ExperimentalVCOWidget::ExperimentalVCOWidget(ExperimentalVCO *module) { pClassic = new SvgPanel(); pClassic->box.size = box.size; pClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/MSVCO.svg"))); - pClassic->visible = true; + pClassic->visible = !THEME_DEFAULT; addChild(pClassic); pNightMode = new SvgPanel(); pNightMode->box.size = box.size; pNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/MSVCO-Dark.svg"))); - pNightMode->visible = false; + pNightMode->visible = !!THEME_DEFAULT; addChild(pNightMode); pEspenBack = new MSMLightPanel(); @@ -297,19 +299,22 @@ ExperimentalVCOWidget::ExperimentalVCOWidget(ExperimentalVCO *module) { }; void ExperimentalVCOWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + pClassic->visible = !settings::preferDarkPanels; + pNightMode->visible = settings::preferDarkPanels; +#else if (module) { ExperimentalVCO *experimentalvco = dynamic_cast(module); assert(experimentalvco); pClassic->visible = (experimentalvco->Theme == 0); pNightMode->visible = (experimentalvco->Theme == 1); - pEspenBack->visible = (experimentalvco->Theme == 2); pEspenFront->visible = (experimentalvco->Theme == 2); pOmriBack->visible = (experimentalvco->Theme == 3); pOmriFront->visible = (experimentalvco->Theme == 3); } - +#endif ModuleWidget::step(); } diff --git a/src/Fade.cpp b/src/Fade.cpp index 98fbdba..b7707e8 100644 --- a/src/Fade.cpp +++ b/src/Fade.cpp @@ -33,7 +33,7 @@ struct Fade : Module { NUM_LIGHTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; Fade() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); @@ -125,6 +125,7 @@ struct FadeWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { Fade *fade = dynamic_cast(module); assert(fade); @@ -134,6 +135,7 @@ struct FadeWidget : ModuleWidget { menu->addChild(construct(&FadeClassicMenu::text, "Classic (default)", &FadeClassicMenu::fade, fade)); menu->addChild(construct(&FadekNightModeMenu::text, "Night Mode", &FadekNightModeMenu::fade, fade)); } +#endif FadeWidget(Fade *module); void step() override; @@ -145,13 +147,13 @@ FadeWidget::FadeWidget(Fade *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Fade.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Fade-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -181,12 +183,17 @@ FadeWidget::FadeWidget(Fade *module) { }; void FadeWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { Fade *fade = dynamic_cast(module); assert(fade); panelClassic->visible = (fade->Theme == 0); panelNightMode->visible = (fade->Theme == 1); } +#endif ModuleWidget::step(); } diff --git a/src/MLFO.cpp b/src/MLFO.cpp index c044bef..d1885c0 100644 --- a/src/MLFO.cpp +++ b/src/MLFO.cpp @@ -57,7 +57,7 @@ struct LFO : Module { float sample1 = 0.0; float sample2 = 0.0; - int Theme = 0; + int Theme = THEME_DEFAULT; LFO() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); @@ -235,6 +235,7 @@ struct LFOWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { LFO *lfo = dynamic_cast(module); assert(lfo); @@ -243,6 +244,7 @@ struct LFOWidget : ModuleWidget { menu->addChild(construct(&LClassicMenu::text, "Classic (default)", &LClassicMenu::lfo, lfo)); menu->addChild(construct(&LNightModeMenu::text, "Night Mode", &LNightModeMenu::lfo, lfo)); } +#endif LFOWidget(LFO *module); void step() override; @@ -254,13 +256,13 @@ LFOWidget::LFOWidget(LFO *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/MLFO.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/MLFO-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -309,13 +311,17 @@ LFOWidget::LFOWidget(LFO *module) { }; void LFOWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { LFO *lfo = dynamic_cast(module); assert(lfo); panelClassic->visible = (lfo->Theme == 0); panelNightMode->visible = (lfo->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/MSM.hpp b/src/MSM.hpp index e30fa71..1f1b6de 100644 --- a/src/MSM.hpp +++ b/src/MSM.hpp @@ -45,3 +45,9 @@ extern Model *modelFade; extern Model *modelSimpleSlider; extern Model *modelxseq; extern Model *modelBlankPanel; + +#ifdef USING_CARDINAL_NOT_RACK +#define THEME_DEFAULT (settings::preferDarkPanels ? 1 : 0) +#else +#define THEME_DEFAULT 0 +#endif diff --git a/src/Morpher.cpp b/src/Morpher.cpp index 87f6ae8..50692d9 100644 --- a/src/Morpher.cpp +++ b/src/Morpher.cpp @@ -40,7 +40,7 @@ struct Morpher : Module NUM_LIGHTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; double Crossfader = 0.0f; double In1 = 0.0f; @@ -279,6 +279,7 @@ struct MorpherWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { Morpher *morpher = dynamic_cast(module); assert(morpher); @@ -310,6 +311,7 @@ struct MorpherWidget : ModuleWidget { menu->addChild(construct(&morphClassicMenu::text, "Classic (default)", &morphClassicMenu::morpher, morpher)); menu->addChild(construct(&morphNightModeMenu::text, "Night Mode", &morphNightModeMenu::morpher, morpher)); } +#endif MorpherWidget(Morpher *module); void step() override; @@ -321,13 +323,13 @@ MorpherWidget::MorpherWidget(Morpher *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Morpher.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Morpher-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(0, 0))); @@ -363,13 +365,17 @@ MorpherWidget::MorpherWidget(Morpher *module) { }; void MorpherWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { Morpher *morpher = dynamic_cast(module); assert(morpher); panelClassic->visible = (morpher->Theme == 0); panelNightMode->visible = (morpher->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/Mult.cpp b/src/Mult.cpp index 42b17c6..4943c64 100644 --- a/src/Mult.cpp +++ b/src/Mult.cpp @@ -43,7 +43,7 @@ struct Mult : Module }; - int Theme = 0; + int Theme = THEME_DEFAULT; Mult() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); @@ -179,6 +179,7 @@ struct MultWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { Mult *mult = dynamic_cast(module); assert(mult); @@ -188,6 +189,7 @@ struct MultWidget : ModuleWidget { menu->addChild(construct(&MultClassicMenu::text, "Classic (default)", &MultClassicMenu::mult, mult)); menu->addChild(construct(&MultNightModeMenu::text, "Night Mode", &MultNightModeMenu::mult, mult)); } +#endif MultWidget(Mult *module); void step() override; @@ -199,13 +201,13 @@ MultWidget::MultWidget(Mult *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Mult.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Mult-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -247,13 +249,17 @@ MultWidget::MultWidget(Mult *module) { }; void MultWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { Mult *mult = dynamic_cast(module); assert(mult); panelClassic->visible = (mult->Theme == 0); panelNightMode->visible = (mult->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/Noise.cpp b/src/Noise.cpp index b7470af..e7b26e0 100644 --- a/src/Noise.cpp +++ b/src/Noise.cpp @@ -28,7 +28,7 @@ struct Noise : Module { }; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; VRand *VR = new VRand(); @@ -50,6 +50,10 @@ struct Noise : Module { configOutput(CNOISE_OUTPUT, "Colored Noise"); } + ~Noise() override { + delete VR; + } + void process(const ProcessArgs& args) override; @@ -159,6 +163,7 @@ struct NoiseWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu* menu) override { Noise *noise = dynamic_cast(module); assert(noise); @@ -167,6 +172,7 @@ struct NoiseWidget : ModuleWidget { menu->addChild(construct(&NClassicMenu::text, "Classic (default)", &NClassicMenu::noise, noise)); menu->addChild(construct(&NNightModeMenu::text, "Night Mode", &NNightModeMenu::noise, noise)); } +#endif NoiseWidget(Noise *module); void step() override; @@ -180,13 +186,13 @@ NoiseWidget::NoiseWidget(Noise *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Noise.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Noise-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(0, 0))); @@ -208,13 +214,17 @@ NoiseWidget::NoiseWidget(Noise *module) { }; void NoiseWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { Noise *noise = dynamic_cast(module); assert(noise); panelClassic->visible = (noise->Theme == 0); panelNightMode->visible = (noise->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/Phaser.cpp b/src/Phaser.cpp index 4ccfa41..f30778b 100644 --- a/src/Phaser.cpp +++ b/src/Phaser.cpp @@ -487,7 +487,7 @@ struct PhaserModule : Module { NUM_OUTPUTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; float rate = 0.0f; float feedback = 0.0f; @@ -602,6 +602,7 @@ struct PhaserModuleWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu* menu) override { PhaserModule *phasermodule = dynamic_cast(module); assert(phasermodule); @@ -610,6 +611,7 @@ struct PhaserModuleWidget : ModuleWidget { menu->addChild(construct(&PhaserClassicMenu::text, "Classic (default)", &PhaserClassicMenu::phasermodule, phasermodule)); menu->addChild(construct(&PhaserNightModeMenu::text, "Night Mode", &PhaserNightModeMenu::phasermodule, phasermodule)); } +#endif PhaserModuleWidget(PhaserModule *module); void step() override; @@ -621,13 +623,13 @@ PhaserModuleWidget::PhaserModuleWidget(PhaserModule *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Phaser.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Phaser-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(0, 0))); @@ -659,13 +661,17 @@ PhaserModuleWidget::PhaserModuleWidget(PhaserModule *module) { }; void PhaserModuleWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { PhaserModule *phasermodule = dynamic_cast(module); assert(phasermodule); panelClassic->visible = (phasermodule->Theme == 0); panelNightMode->visible = (phasermodule->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/RandomSource.cpp b/src/RandomSource.cpp index d8cf0c6..b36840f 100644 --- a/src/RandomSource.cpp +++ b/src/RandomSource.cpp @@ -29,7 +29,7 @@ struct RandomSource : Module { double sample = 0.0; double out = 0.0; - int Theme = 0; + int Theme = THEME_DEFAULT; RandomSource() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); @@ -136,6 +136,7 @@ struct RandomSourceWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { RandomSource *randomsource = dynamic_cast(module); assert(randomsource); @@ -144,6 +145,7 @@ struct RandomSourceWidget : ModuleWidget { menu->addChild(construct(&RandomSClassicMenu::text, "Classic (default)", &RandomSClassicMenu::randomsource, randomsource)); menu->addChild(construct(&RandomSNightModeMenu::text, "Night Mode", &RandomSNightModeMenu::randomsource, randomsource)); } +#endif RandomSourceWidget(RandomSource *module); void step() override; @@ -155,13 +157,13 @@ RandomSourceWidget::RandomSourceWidget(RandomSource *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/RandomSource.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/RandomSource-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); //Screw @@ -192,13 +194,17 @@ RandomSourceWidget::RandomSourceWidget(RandomSource *module) { }; void RandomSourceWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { RandomSource *randomsource = dynamic_cast(module); assert(randomsource); panelClassic->visible = (randomsource->Theme == 0); panelNightMode->visible = (randomsource->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/RingMod.cpp b/src/RingMod.cpp index 626b51c..b26a52b 100644 --- a/src/RingMod.cpp +++ b/src/RingMod.cpp @@ -32,7 +32,7 @@ struct RingMod : Module NUM_LIGHTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; RingMod() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); @@ -117,6 +117,7 @@ struct RingModWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { RingMod *ringmod = dynamic_cast(module); assert(ringmod); @@ -125,6 +126,7 @@ struct RingModWidget : ModuleWidget { menu->addChild(construct(&RMClassicMenu::text, "Classic (default)", &RMClassicMenu::ringmod, ringmod)); menu->addChild(construct(&RMNightModeMenu::text, "Night Mode", &RMNightModeMenu::ringmod, ringmod)); } +#endif RingModWidget(RingMod *module); void step() override; @@ -136,13 +138,13 @@ RingModWidget::RingModWidget(RingMod *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/RingMod.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/RingMod-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(0, 0))); @@ -165,13 +167,17 @@ RingModWidget::RingModWidget(RingMod *module) { }; void RingModWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { RingMod *ringmod = dynamic_cast(module); assert(ringmod); panelClassic->visible = (ringmod->Theme == 0); panelNightMode->visible = (ringmod->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/SwitchedMult.cpp b/src/SwitchedMult.cpp index 4f5c44e..43eb68f 100644 --- a/src/SwitchedMult.cpp +++ b/src/SwitchedMult.cpp @@ -88,7 +88,7 @@ struct CrazyMult : Module { NUM_OUTPUTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; int Type = 0; //One op; @@ -327,6 +327,7 @@ struct CrazyMultWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { CrazyMult *crazymult = dynamic_cast(module); assert(crazymult); @@ -338,6 +339,7 @@ struct CrazyMultWidget : ModuleWidget { menu->addChild(construct(&TypeMenuPlus::text, "Positive", &TypeMenuPlus::crazymult, crazymult)); menu->addChild(construct(&TypeMenuMinus::text, "Negative", &TypeMenuMinus::crazymult, crazymult)); } +#endif CrazyMultWidget(CrazyMult *module); void step() override; @@ -349,13 +351,13 @@ CrazyMultWidget::CrazyMultWidget(CrazyMult *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/CrazyMult.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/CrazyMult-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); int space = 25; @@ -422,13 +424,17 @@ CrazyMultWidget::CrazyMultWidget(CrazyMult *module) { }; void CrazyMultWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { CrazyMult *crazymult = dynamic_cast(module); assert(crazymult); panelClassic->visible = (crazymult->Theme == 0); panelNightMode->visible = (crazymult->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/VCA.cpp b/src/VCA.cpp index 0af1197..3399399 100644 --- a/src/VCA.cpp +++ b/src/VCA.cpp @@ -38,7 +38,7 @@ struct VCA : Module { float mixLP_A = 0.0f ? 0.0f : 0.0f; float mixRP_A = 0.0f ? 0.0f : 0.0f; - int Theme = 0; + int Theme = THEME_DEFAULT; const float expBase = 50.0f; VCA() { @@ -213,6 +213,7 @@ struct VCAWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu* menu) override { VCA *vca = dynamic_cast(module); assert(vca); @@ -221,6 +222,7 @@ struct VCAWidget : ModuleWidget { menu->addChild(construct(&VCAClassicMenu::text, "Classic (default)", &VCAClassicMenu::vca, vca)); menu->addChild(construct(&VCANightModeMenu::text, "Night Mode", &VCANightModeMenu::vca, vca)); } +#endif VCAWidget(VCA *module); void step() override; @@ -232,13 +234,13 @@ VCAWidget::VCAWidget(VCA *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/VCA.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/VCA-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -274,13 +276,17 @@ VCAWidget::VCAWidget(VCA *module) { }; void VCAWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { VCA *vca = dynamic_cast(module); assert(vca); panelClassic->visible = (vca->Theme == 0); panelNightMode->visible = (vca->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/VCO.cpp b/src/VCO.cpp index c822310..348008f 100644 --- a/src/VCO.cpp +++ b/src/VCO.cpp @@ -424,7 +424,7 @@ struct VCO : Module { OSiXFold folder; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; bool LFOMODE1 = 1; bool LFOMODE2 = 1; @@ -687,6 +687,7 @@ struct VCOWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { VCO *vco = dynamic_cast(module); assert(vco); @@ -695,6 +696,7 @@ struct VCOWidget : ModuleWidget { menu->addChild(construct(&VCOClassicMenu::text, "Classic (default)", &VCOClassicMenu::vco, vco)); menu->addChild(construct(&VCONightModeMenu::text, "Night Mode", &VCONightModeMenu::vco, vco)); } +#endif VCOWidget(VCO *module); void step() override; @@ -708,13 +710,13 @@ VCOWidget::VCOWidget(VCO *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/VCO.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); // Night Mode Theme panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/VCO-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -777,6 +779,10 @@ VCOWidget::VCOWidget(VCO *module) { }; void VCOWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { VCO *vco = dynamic_cast(module); assert(vco); @@ -784,7 +790,7 @@ void VCOWidget::step() { panelClassic->visible = (vco->Theme == 0); panelNightMode->visible = (vco->Theme == 1); } - +#endif ModuleWidget::step(); } @@ -827,7 +833,7 @@ struct BVCO : Module { Boscillator<2, 4> oscillator; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; bool LFOMOD = 1; @@ -951,6 +957,7 @@ struct BVCOWidget : ModuleWidget { SvgPanel *pClassic; SvgPanel *pNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { BVCO *bvco = dynamic_cast(module); assert(bvco); @@ -959,6 +966,7 @@ struct BVCOWidget : ModuleWidget { menu->addChild(construct(&BVCOClassicMenu::text, "Classic (default)", &BVCOClassicMenu::bvco, bvco)); menu->addChild(construct(&BVCONightModeMenu::text, "Night Mode", &BVCONightModeMenu::bvco, bvco)); } +#endif BVCOWidget(BVCO *module); void step() override; @@ -971,13 +979,13 @@ BVCOWidget::BVCOWidget(BVCO *module) { pClassic = new SvgPanel(); pClassic->box.size = box.size; pClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/BVCO.svg"))); - pClassic->visible = true; + pClassic->visible = !THEME_DEFAULT; addChild(pClassic); pNightMode = new SvgPanel(); pNightMode->box.size = box.size; pNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/BVCO-Dark.svg"))); - pNightMode->visible = false; + pNightMode->visible = !!THEME_DEFAULT; addChild(pNightMode); addChild(createWidget(Vec(15, 0))); @@ -1012,13 +1020,17 @@ BVCOWidget::BVCOWidget(BVCO *module) { }; void BVCOWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + pClassic->visible = !settings::preferDarkPanels; + pNightMode->visible = settings::preferDarkPanels; +#else if (module) { BVCO *bvco = dynamic_cast(module); assert(bvco); pClassic->visible = (bvco->Theme == 0); pNightMode->visible = (bvco->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/WaveShaper.cpp b/src/WaveShaper.cpp index c2b5dc5..add2769 100644 --- a/src/WaveShaper.cpp +++ b/src/WaveShaper.cpp @@ -37,7 +37,7 @@ struct WaveShaper : Module { NUM_LIGHTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; double IN_M = 0.0f, IN_A = 0.0f, IN_B = 0.0f, IN_C = 0.0f; double SHAPE_MOD1 = 0.0f, SHAPE_CV1 = 0.0f; @@ -144,6 +144,7 @@ struct WaveShaperWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { WaveShaper *waveshaper = dynamic_cast(module); assert(waveshaper); @@ -152,6 +153,7 @@ struct WaveShaperWidget : ModuleWidget { menu->addChild(construct(&WSClassicMenu::text, "Classic (default)", &WSClassicMenu::waveshaper, waveshaper)); menu->addChild(construct(&WSNightModeMenu::text, "Night Mode", &WSNightModeMenu::waveshaper, waveshaper)); } +#endif WaveShaperWidget(WaveShaper *module); void step() override; @@ -163,13 +165,13 @@ WaveShaperWidget::WaveShaperWidget(WaveShaper *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/WaveShaper.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/WaveShaper-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -205,13 +207,17 @@ WaveShaperWidget::WaveShaperWidget(WaveShaper *module) { }; void WaveShaperWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { WaveShaper *waveshaper = dynamic_cast(module); assert(waveshaper); panelClassic->visible = (waveshaper->Theme == 0); panelNightMode->visible = (waveshaper->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/Wavefolder.cpp b/src/Wavefolder.cpp index c3d3d03..b9734d9 100644 --- a/src/Wavefolder.cpp +++ b/src/Wavefolder.cpp @@ -35,7 +35,7 @@ struct Wavefolder : Module { NUM_LIGHTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; double IN_1 = 0.0f; @@ -150,6 +150,7 @@ struct WavefolderWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { Wavefolder *wavefolder = dynamic_cast(module); assert(wavefolder); @@ -158,6 +159,7 @@ struct WavefolderWidget : ModuleWidget { menu->addChild(construct(&WFClassicMenu::text, "Classic (default)", &WFClassicMenu::wavefolder, wavefolder)); menu->addChild(construct(&WFNightModeMenu::text, "Night Mode", &WFNightModeMenu::wavefolder, wavefolder)); } +#endif WavefolderWidget(Wavefolder *module); void step() override; @@ -169,13 +171,13 @@ WavefolderWidget::WavefolderWidget(Wavefolder *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Wavefolder.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/Wavefolder-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(0, 0))); @@ -208,13 +210,17 @@ WavefolderWidget::WavefolderWidget(Wavefolder *module) { }; void WavefolderWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { Wavefolder *wavefolder = dynamic_cast(module); assert(wavefolder); panelClassic->visible = (wavefolder->Theme == 0); panelNightMode->visible = (wavefolder->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/XSEQ.cpp b/src/XSEQ.cpp index 35c52e5..be9cd8c 100644 --- a/src/XSEQ.cpp +++ b/src/XSEQ.cpp @@ -71,7 +71,7 @@ struct xseq : Module { dsp::SchmittTrigger trigger2; dsp::SchmittTrigger trigger3; - int Theme = 0; + int Theme = THEME_DEFAULT; xseq() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); @@ -512,6 +512,7 @@ struct xseqWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { xseq *xs = dynamic_cast(module); assert(xs); @@ -520,6 +521,7 @@ struct xseqWidget : ModuleWidget { menu->addChild(construct(&xsClassicMenu::text, "Classic (default)", &xsClassicMenu::xs, xs)); menu->addChild(construct(&xsNightModeMenu::text, "Night Mode", &xsNightModeMenu::xs, xs)); } +#endif xseqWidget(xseq *module); void step() override; @@ -531,13 +533,13 @@ xseqWidget::xseqWidget(xseq *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/XSEQ-Expension.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/XSEQ-Expension-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); addChild(createWidget(Vec(15, 0))); @@ -602,13 +604,17 @@ xseqWidget::xseqWidget(xseq *module) { }; void xseqWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { xseq *xs = dynamic_cast(module); assert(xs); panelClassic->visible = (xs->Theme == 0); panelNightMode->visible = (xs->Theme == 1); } - +#endif ModuleWidget::step(); } diff --git a/src/slider.cpp b/src/slider.cpp index 9c27944..691b015 100644 --- a/src/slider.cpp +++ b/src/slider.cpp @@ -21,7 +21,7 @@ struct SimpleSlider : Module { NUM_OUTPUTS }; - int Theme = 0; + int Theme = THEME_DEFAULT; SimpleSlider() { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); @@ -96,6 +96,7 @@ struct SimpleSliderWidget : ModuleWidget { SvgPanel *panelClassic; SvgPanel *panelNightMode; +#ifndef USING_CARDINAL_NOT_RACK void appendContextMenu(Menu *menu) override { SimpleSlider *simpleslider = dynamic_cast(module); assert(simpleslider); @@ -104,6 +105,7 @@ struct SimpleSliderWidget : ModuleWidget { menu->addChild(construct(&SimpleClassicMenu::text, "Classic (default)", &SimpleClassicMenu::simpleslider, simpleslider)); menu->addChild(construct(&SimpleNightModeMenu::text, "Night Mode", &SimpleNightModeMenu::simpleslider, simpleslider)); } +#endif SimpleSliderWidget(SimpleSlider *module); void step() override; @@ -115,13 +117,13 @@ SimpleSliderWidget::SimpleSliderWidget(SimpleSlider *module) { panelClassic = new SvgPanel(); panelClassic->box.size = box.size; panelClassic->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/SimpleSlider.svg"))); - panelClassic->visible = true; + panelClassic->visible = !THEME_DEFAULT; addChild(panelClassic); panelNightMode = new SvgPanel(); panelNightMode->box.size = box.size; panelNightMode->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Panels/SimpleSlider-Dark.svg"))); - panelNightMode->visible = false; + panelNightMode->visible = !!THEME_DEFAULT; addChild(panelNightMode); @@ -143,13 +145,17 @@ SimpleSliderWidget::SimpleSliderWidget(SimpleSlider *module) { }; void SimpleSliderWidget::step() { +#ifdef USING_CARDINAL_NOT_RACK + panelClassic->visible = !settings::preferDarkPanels; + panelNightMode->visible = settings::preferDarkPanels; +#else if (module) { SimpleSlider *simpleslider = dynamic_cast(module); assert(simpleslider); panelClassic->visible = (simpleslider->Theme == 0); panelNightMode->visible = (simpleslider->Theme == 1); } - +#endif ModuleWidget::step(); }