| @@ -1 +1 @@ | |||||
| Subproject commit f8d7d9afcea4c01aaf502b5af884dde31dfb28a7 | |||||
| Subproject commit 9e2defbba8a36e840b4bbb9f322f9a3debc388d8 | |||||
| @@ -1,6 +1,6 @@ | |||||
| /* | /* | ||||
| * DISTRHO Cardinal Plugin | * DISTRHO Cardinal Plugin | ||||
| * Copyright (C) 2021 Filipe Coelho <falktx@falktx.com> | |||||
| * Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com> | |||||
| * | * | ||||
| * This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU General Public License as | * modify it under the terms of the GNU General Public License as | ||||
| @@ -16,6 +16,7 @@ | |||||
| */ | */ | ||||
| #include "plugin.hpp" | #include "plugin.hpp" | ||||
| #include "ModuleWidgets.hpp" | |||||
| struct CardinalBlankModule : Module { | struct CardinalBlankModule : Module { | ||||
| enum ParamIds { | enum ParamIds { | ||||
| @@ -77,15 +78,12 @@ struct CardinalBlankImage : Widget { | |||||
| } | } | ||||
| }; | }; | ||||
| struct CardinalBlankWidget : ModuleWidget { | |||||
| struct CardinalBlankWidget : ModuleWidgetWith9HP { | |||||
| CardinalBlankWidget(CardinalBlankModule* const module) { | CardinalBlankWidget(CardinalBlankModule* const module) { | ||||
| setModule(module); | setModule(module); | ||||
| setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Blank.svg"))); | setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Blank.svg"))); | ||||
| addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, 0))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(box.size.x - 2 * RACK_GRID_WIDTH, 0))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(box.size.x - 2 * RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||||
| createAndAddScrews(); | |||||
| FramebufferWidget* const fbWidget = new FramebufferWidget; | FramebufferWidget* const fbWidget = new FramebufferWidget; | ||||
| fbWidget->oversample = 2.0; | fbWidget->oversample = 2.0; | ||||
| @@ -95,13 +93,8 @@ struct CardinalBlankWidget : ModuleWidget { | |||||
| void draw(const DrawArgs& args) override | void draw(const DrawArgs& args) override | ||||
| { | { | ||||
| nvgBeginPath(args.vg); | |||||
| nvgRect(args.vg, 0, 0, box.size.x, box.size.y); | |||||
| nvgFillPaint(args.vg, nvgLinearGradient(args.vg, 0, 0, 0, box.size.y, | |||||
| nvgRGB(0x18, 0x19, 0x19), nvgRGB(0x21, 0x22, 0x22))); | |||||
| nvgFill(args.vg); | |||||
| ModuleWidget::draw(args); | |||||
| drawBackground(args.vg); | |||||
| ModuleWidgetWith9HP::draw(args); | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -26,6 +26,7 @@ | |||||
| */ | */ | ||||
| #include "plugincontext.hpp" | #include "plugincontext.hpp" | ||||
| #include "ModuleWidgets.hpp" | |||||
| #include "Widgets.hpp" | #include "Widgets.hpp" | ||||
| #include <algorithm> | #include <algorithm> | ||||
| @@ -707,7 +708,7 @@ struct CCGridDisplay : Widget { | |||||
| } | } | ||||
| }; | }; | ||||
| struct HostMIDICCWidget : ModuleWidget { | |||||
| struct HostMIDICCWidget : ModuleWidgetWith14HP { | |||||
| static constexpr const float startX_In = 14.0f; | static constexpr const float startX_In = 14.0f; | ||||
| static constexpr const float startX_Out = 115.0f; | static constexpr const float startX_Out = 115.0f; | ||||
| static constexpr const float startY = 190.0f; | static constexpr const float startY = 190.0f; | ||||
| @@ -721,10 +722,7 @@ struct HostMIDICCWidget : ModuleWidget { | |||||
| setModule(m); | setModule(m); | ||||
| setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/HostMIDICC.svg"))); | setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/HostMIDICC.svg"))); | ||||
| addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, 0))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(box.size.x - 2 * RACK_GRID_WIDTH, 0))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(box.size.x - 2 * RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||||
| createAndAddScrews(); | |||||
| for (int i=0; i<18; ++i) | for (int i=0; i<18; ++i) | ||||
| { | { | ||||
| @@ -748,18 +746,14 @@ struct HostMIDICCWidget : ModuleWidget { | |||||
| void draw(const DrawArgs& args) override | void draw(const DrawArgs& args) override | ||||
| { | { | ||||
| nvgBeginPath(args.vg); | |||||
| nvgRect(args.vg, 0, 0, box.size.x, box.size.y); | |||||
| nvgFillPaint(args.vg, nvgLinearGradient(args.vg, 0, 0, 0, box.size.y, | |||||
| nvgRGB(0x18, 0x19, 0x19), nvgRGB(0x21, 0x22, 0x22))); | |||||
| nvgFill(args.vg); | |||||
| drawBackground(args.vg); | |||||
| nvgBeginPath(args.vg); | nvgBeginPath(args.vg); | ||||
| nvgRoundedRect(args.vg, startX_Out - 2.5f, startY - 2.0f, padding * 3, padding * 6, 4); | nvgRoundedRect(args.vg, startX_Out - 2.5f, startY - 2.0f, padding * 3, padding * 6, 4); | ||||
| nvgFillColor(args.vg, nvgRGB(0xd0, 0xd0, 0xd0)); | nvgFillColor(args.vg, nvgRGB(0xd0, 0xd0, 0xd0)); | ||||
| nvgFill(args.vg); | nvgFill(args.vg); | ||||
| ModuleWidget::draw(args); | |||||
| ModuleWidgetWith14HP::draw(args); | |||||
| } | } | ||||
| void appendContextMenu(Menu* const menu) override | void appendContextMenu(Menu* const menu) override | ||||
| @@ -26,6 +26,7 @@ | |||||
| */ | */ | ||||
| #include "plugincontext.hpp" | #include "plugincontext.hpp" | ||||
| #include "ModuleWidgets.hpp" | |||||
| #include "Widgets.hpp" | #include "Widgets.hpp" | ||||
| #include <algorithm> | #include <algorithm> | ||||
| @@ -616,7 +617,7 @@ struct NoteGridDisplay : Widget { | |||||
| } | } | ||||
| }; | }; | ||||
| struct HostMIDIGateWidget : ModuleWidget { | |||||
| struct HostMIDIGateWidget : ModuleWidgetWith14HP { | |||||
| static constexpr const float startX_In = 14.0f; | static constexpr const float startX_In = 14.0f; | ||||
| static constexpr const float startX_Out = 115.0f; | static constexpr const float startX_Out = 115.0f; | ||||
| static constexpr const float startY = 190.0f; | static constexpr const float startY = 190.0f; | ||||
| @@ -630,10 +631,7 @@ struct HostMIDIGateWidget : ModuleWidget { | |||||
| setModule(m); | setModule(m); | ||||
| setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/HostMIDIGate.svg"))); | setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/HostMIDIGate.svg"))); | ||||
| addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, 0))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(box.size.x - 2 * RACK_GRID_WIDTH, 0))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||||
| addChild(createWidget<ScrewBlack>(Vec(box.size.x - 2 * RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||||
| createAndAddScrews(); | |||||
| for (int i=0; i<18; ++i) | for (int i=0; i<18; ++i) | ||||
| { | { | ||||
| @@ -657,18 +655,14 @@ struct HostMIDIGateWidget : ModuleWidget { | |||||
| void draw(const DrawArgs& args) override | void draw(const DrawArgs& args) override | ||||
| { | { | ||||
| nvgBeginPath(args.vg); | |||||
| nvgRect(args.vg, 0, 0, box.size.x, box.size.y); | |||||
| nvgFillPaint(args.vg, nvgLinearGradient(args.vg, 0, 0, 0, box.size.y, | |||||
| nvgRGB(0x18, 0x19, 0x19), nvgRGB(0x21, 0x22, 0x22))); | |||||
| nvgFill(args.vg); | |||||
| drawBackground(args.vg); | |||||
| nvgBeginPath(args.vg); | nvgBeginPath(args.vg); | ||||
| nvgRoundedRect(args.vg, startX_Out - 2.5f, startY - 2.0f, padding * 3, padding * 6, 4); | nvgRoundedRect(args.vg, startX_Out - 2.5f, startY - 2.0f, padding * 3, padding * 6, 4); | ||||
| nvgFillColor(args.vg, nvgRGB(0xd0, 0xd0, 0xd0)); | nvgFillColor(args.vg, nvgRGB(0xd0, 0xd0, 0xd0)); | ||||
| nvgFill(args.vg); | nvgFill(args.vg); | ||||
| ModuleWidget::draw(args); | |||||
| ModuleWidgetWith14HP::draw(args); | |||||
| } | } | ||||
| void appendContextMenu(Menu* const menu) override | void appendContextMenu(Menu* const menu) override | ||||
| @@ -100,4 +100,5 @@ typedef ModuleWidgetWithSideScrews<3> ModuleWidgetWith3HP; | |||||
| typedef ModuleWidgetWithSideScrews<8> ModuleWidgetWith8HP; | typedef ModuleWidgetWithSideScrews<8> ModuleWidgetWith8HP; | ||||
| typedef ModuleWidgetWithSideScrews<9> ModuleWidgetWith9HP; | typedef ModuleWidgetWithSideScrews<9> ModuleWidgetWith9HP; | ||||
| typedef ModuleWidgetWithSideScrews<11> ModuleWidgetWith11HP; | typedef ModuleWidgetWithSideScrews<11> ModuleWidgetWith11HP; | ||||
| typedef ModuleWidgetWithSideScrews<14> ModuleWidgetWith14HP; | |||||
| typedef ModuleWidgetWithSideScrews<25> ModuleWidgetWith25HP; | typedef ModuleWidgetWithSideScrews<25> ModuleWidgetWith25HP; | ||||