From 67e680633d2843e37e8f527f97a5d6727e396fb2 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 26 Feb 2022 03:06:05 +0000 Subject: [PATCH 1/5] Replace Crysta.ttf with Segment7Standard.ttf (better license) Signed-off-by: falkTX --- res/Fonts/Crysta.ttf | Bin 15786 -> 0 bytes res/Fonts/Segment7Standard.ttf | Bin 0 -> 16624 bytes src/Delay.cpp | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 res/Fonts/Crysta.ttf create mode 100644 res/Fonts/Segment7Standard.ttf diff --git a/res/Fonts/Crysta.ttf b/res/Fonts/Crysta.ttf deleted file mode 100644 index 7faea17cd70cdb142b9f81b452f50b9682bec9a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15786 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 z 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); From 80b4a5aa06d9c4a58f62d90fe567b28b01f6312d Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 26 Feb 2022 03:15:34 +0000 Subject: [PATCH 2/5] Add build-time macro to switch default theme Signed-off-by: falkTX --- src/ADSR.cpp | 6 +++--- src/Bitcrusher.cpp | 6 +++--- src/BlankPanel.cpp | 6 +++--- src/Delay.cpp | 6 +++--- src/ExperimentalVCO.cpp | 6 +++--- src/Fade.cpp | 6 +++--- src/MLFO.cpp | 6 +++--- src/MSM.hpp | 6 ++++++ src/Morpher.cpp | 6 +++--- src/Mult.cpp | 6 +++--- src/Noise.cpp | 6 +++--- src/Phaser.cpp | 6 +++--- src/RandomSource.cpp | 6 +++--- src/RingMod.cpp | 6 +++--- src/SwitchedMult.cpp | 6 +++--- src/VCA.cpp | 6 +++--- src/VCO.cpp | 12 ++++++------ src/WaveShaper.cpp | 6 +++--- src/Wavefolder.cpp | 6 +++--- src/XSEQ.cpp | 6 +++--- src/slider.cpp | 6 +++--- 21 files changed, 69 insertions(+), 63 deletions(-) diff --git a/src/ADSR.cpp b/src/ADSR.cpp index dcf55db..afef307 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); @@ -231,13 +231,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))); diff --git a/src/Bitcrusher.cpp b/src/Bitcrusher.cpp index 77728ea..72431b0 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; @@ -161,13 +161,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))); diff --git a/src/BlankPanel.cpp b/src/BlankPanel.cpp index 4973566..417e141 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); @@ -88,13 +88,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))); diff --git a/src/Delay.cpp b/src/Delay.cpp index b1334b9..e502213 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; ///////////////////////////////////// @@ -726,13 +726,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); { diff --git a/src/ExperimentalVCO.cpp b/src/ExperimentalVCO.cpp index 677f91b..80f29c2 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); @@ -224,13 +224,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(); diff --git a/src/Fade.cpp b/src/Fade.cpp index 98fbdba..7cacf8d 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); @@ -145,13 +145,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))); diff --git a/src/MLFO.cpp b/src/MLFO.cpp index c044bef..5200319 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); @@ -254,13 +254,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))); diff --git a/src/MSM.hpp b/src/MSM.hpp index e30fa71..cd2ab3d 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 DARKTHEME +#define THEME_DEFAULT 1 +#else +#define THEME_DEFAULT 0 +#endif diff --git a/src/Morpher.cpp b/src/Morpher.cpp index 87f6ae8..2f6529b 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; @@ -321,13 +321,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))); diff --git a/src/Mult.cpp b/src/Mult.cpp index 42b17c6..4805b4e 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); @@ -199,13 +199,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))); diff --git a/src/Noise.cpp b/src/Noise.cpp index b7470af..d14ac52 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(); @@ -180,13 +180,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))); diff --git a/src/Phaser.cpp b/src/Phaser.cpp index 4ccfa41..1724083 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; @@ -621,13 +621,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))); diff --git a/src/RandomSource.cpp b/src/RandomSource.cpp index d8cf0c6..beeda80 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); @@ -155,13 +155,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 diff --git a/src/RingMod.cpp b/src/RingMod.cpp index 626b51c..5a599e2 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); @@ -136,13 +136,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))); diff --git a/src/SwitchedMult.cpp b/src/SwitchedMult.cpp index 4f5c44e..2bb5b95 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; @@ -349,13 +349,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; diff --git a/src/VCA.cpp b/src/VCA.cpp index 0af1197..425c939 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() { @@ -232,13 +232,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))); diff --git a/src/VCO.cpp b/src/VCO.cpp index c822310..3f19e4e 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; @@ -708,13 +708,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))); @@ -827,7 +827,7 @@ struct BVCO : Module { Boscillator<2, 4> oscillator; // Panel Theme - int Theme = 0; + int Theme = THEME_DEFAULT; bool LFOMOD = 1; @@ -971,13 +971,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))); diff --git a/src/WaveShaper.cpp b/src/WaveShaper.cpp index c2b5dc5..ad1fbf8 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; @@ -163,13 +163,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))); diff --git a/src/Wavefolder.cpp b/src/Wavefolder.cpp index c3d3d03..6c70286 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; @@ -169,13 +169,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))); diff --git a/src/XSEQ.cpp b/src/XSEQ.cpp index 35c52e5..ecf0549 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); @@ -531,13 +531,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))); diff --git a/src/slider.cpp b/src/slider.cpp index 9c27944..99b463a 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); @@ -115,13 +115,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); From abe3c24d40b11d31f9f38b2125eff9280c77ad1b Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 26 Feb 2022 05:07:06 +0000 Subject: [PATCH 3/5] Add license for segment7 --- res/Fonts/Segment7Standard-OFL.txt | 94 +++++++++++++++++++++++++++++ res/Fonts/{OFL.txt => Sudo-OFL.txt} | 0 2 files changed, 94 insertions(+) create mode 100644 res/Fonts/Segment7Standard-OFL.txt rename res/Fonts/{OFL.txt => Sudo-OFL.txt} (100%) 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/OFL.txt b/res/Fonts/Sudo-OFL.txt similarity index 100% rename from res/Fonts/OFL.txt rename to res/Fonts/Sudo-OFL.txt From 2ebac7567be4dbb00128b5d7aaccfdf4aac26e81 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 7 Sep 2022 08:18:40 +0100 Subject: [PATCH 4/5] Fix memory leak Signed-off-by: falkTX --- src/Noise.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Noise.cpp b/src/Noise.cpp index d14ac52..4b1d212 100644 --- a/src/Noise.cpp +++ b/src/Noise.cpp @@ -50,6 +50,10 @@ struct Noise : Module { configOutput(CNOISE_OUTPUT, "Colored Noise"); } + ~Noise() override { + delete VR; + } + void process(const ProcessArgs& args) override; From 24520e6475dc875ee9373f48b1fffb6b2ced243a Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 16 Sep 2022 01:29:24 +0100 Subject: [PATCH 5/5] Tweaks for dynamic theme change for cardinal Signed-off-by: falkTX --- src/ADSR.cpp | 7 +++++++ src/Bitcrusher.cpp | 7 +++++++ src/BlankPanel.cpp | 7 +++++++ src/Delay.cpp | 9 ++++++++- src/ExperimentalVCO.cpp | 9 +++++++-- src/Fade.cpp | 7 +++++++ src/MLFO.cpp | 8 +++++++- src/MSM.hpp | 4 ++-- src/Morpher.cpp | 8 +++++++- src/Mult.cpp | 8 +++++++- src/Noise.cpp | 8 +++++++- src/Phaser.cpp | 8 +++++++- src/RandomSource.cpp | 8 +++++++- src/RingMod.cpp | 8 +++++++- src/SwitchedMult.cpp | 8 +++++++- src/VCA.cpp | 8 +++++++- src/VCO.cpp | 16 ++++++++++++++-- src/WaveShaper.cpp | 8 +++++++- src/Wavefolder.cpp | 8 +++++++- src/XSEQ.cpp | 8 +++++++- src/slider.cpp | 8 +++++++- 21 files changed, 150 insertions(+), 20 deletions(-) diff --git a/src/ADSR.cpp b/src/ADSR.cpp index afef307..369f167 100644 --- a/src/ADSR.cpp +++ b/src/ADSR.cpp @@ -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; @@ -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 72431b0..fa7e4fe 100644 --- a/src/Bitcrusher.cpp +++ b/src/Bitcrusher.cpp @@ -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; @@ -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 417e141..22ca72f 100644 --- a/src/BlankPanel.cpp +++ b/src/BlankPanel.cpp @@ -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; @@ -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 e502213..ede90ea 100644 --- a/src/Delay.cpp +++ b/src/Delay.cpp @@ -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; @@ -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 80f29c2..e37d267 100644 --- a/src/ExperimentalVCO.cpp +++ b/src/ExperimentalVCO.cpp @@ -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; @@ -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 7cacf8d..b7707e8 100644 --- a/src/Fade.cpp +++ b/src/Fade.cpp @@ -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; @@ -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 5200319..d1885c0 100644 --- a/src/MLFO.cpp +++ b/src/MLFO.cpp @@ -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; @@ -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 cd2ab3d..1f1b6de 100644 --- a/src/MSM.hpp +++ b/src/MSM.hpp @@ -46,8 +46,8 @@ extern Model *modelSimpleSlider; extern Model *modelxseq; extern Model *modelBlankPanel; -#ifdef DARKTHEME -#define THEME_DEFAULT 1 +#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 2f6529b..50692d9 100644 --- a/src/Morpher.cpp +++ b/src/Morpher.cpp @@ -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; @@ -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 4805b4e..4943c64 100644 --- a/src/Mult.cpp +++ b/src/Mult.cpp @@ -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; @@ -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 4b1d212..e7b26e0 100644 --- a/src/Noise.cpp +++ b/src/Noise.cpp @@ -163,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); @@ -171,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; @@ -212,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 1724083..f30778b 100644 --- a/src/Phaser.cpp +++ b/src/Phaser.cpp @@ -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; @@ -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 beeda80..b36840f 100644 --- a/src/RandomSource.cpp +++ b/src/RandomSource.cpp @@ -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; @@ -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 5a599e2..b26a52b 100644 --- a/src/RingMod.cpp +++ b/src/RingMod.cpp @@ -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; @@ -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 2bb5b95..43eb68f 100644 --- a/src/SwitchedMult.cpp +++ b/src/SwitchedMult.cpp @@ -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; @@ -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 425c939..3399399 100644 --- a/src/VCA.cpp +++ b/src/VCA.cpp @@ -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; @@ -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 3f19e4e..348008f 100644 --- a/src/VCO.cpp +++ b/src/VCO.cpp @@ -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; @@ -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(); } @@ -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; @@ -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 ad1fbf8..add2769 100644 --- a/src/WaveShaper.cpp +++ b/src/WaveShaper.cpp @@ -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; @@ -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 6c70286..b9734d9 100644 --- a/src/Wavefolder.cpp +++ b/src/Wavefolder.cpp @@ -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; @@ -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 ecf0549..be9cd8c 100644 --- a/src/XSEQ.cpp +++ b/src/XSEQ.cpp @@ -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; @@ -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 99b463a..691b015 100644 --- a/src/slider.cpp +++ b/src/slider.cpp @@ -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; @@ -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(); }