Add Computerscare modules (#614)

* Attempt to clean up some things

* Add Makefile and plugins.cpp

* Added modified res and src for Computerscare

* Updated README.md and docs/LICENSES.md, fixed Makefile

* Updated Makefile

* Added PanelBorder to custom names, modified ComputerscareSVGPanel again

* Updated Makefile

* Modified dep.cpp for Computerscare dark mode

* Attempt to prepare ComputerscareBlank for dark mode

* [WIP] a janky fix for ComputerscareBlank dark mode, but logo disappeared!

* [WIP] eureka

* fix ComputerscareBlank for mark dode

* Updated LICENSES.md

* [WIP] patched modules so labels properly change colors, hopefully everything else still works as intended

* adjust PatchSequencer font size

* What does this option do?

* tweaked colors, text boxes now change color for dark mode

* minor upd to Computerscare and dep.cpp

* Upd ComputerscareLaundrySoup (hopefully fixes plugin-validation)

* Upd LaundrySoup again

* Delete ComputerscareIso.cpp from Computerscare

* rebase Computerscare to updated master branch

* Upd Computerscare

* Don't change object names in submodule source, instead define/undef in plugins.cpp

* revert Computerscare due to lto build failure
This commit is contained in:
Shiera Kawa 2024-04-04 02:22:39 -06:00 committed by GitHub
parent c44acc8241
commit 64eafbc631
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 92 additions and 1 deletions

6
.gitmodules vendored
View file

@ -233,6 +233,10 @@
[submodule "plugins/DHE-Modules"] [submodule "plugins/DHE-Modules"]
path = plugins/DHE-Modules path = plugins/DHE-Modules
url = https://github.com/dhemery/DHE-Modules.git url = https://github.com/dhemery/DHE-Modules.git
[submodule "plugins/Computerscare"]
path = plugins/Computerscare
url = https://github.com/freddyz/computerscare-vcv-modules.git
branch = v2.0.4
[submodule "plugins/CVfunk"] [submodule "plugins/CVfunk"]
path = plugins/CVfunk path = plugins/CVfunk
url = https://github.com/codygeary/CVfunk-Modules.git url = https://github.com/codygeary/CVfunk-Modules.git

View file

@ -139,6 +139,7 @@ At the moment the following 3rd-party modules are provided:
- [Catro/Modulo](https://github.com/catronomix/catro-modulo) - [Catro/Modulo](https://github.com/catronomix/catro-modulo)
- [cf](https://github.com/cfoulc/cf) - [cf](https://github.com/cfoulc/cf)
- [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV) - [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV)
- [Computerscare](https://github.com/freddyz/computerscare-vcv-modules)
- [CVfunk](https://github.com/codygeary/CVfunk-Modules) - [CVfunk](https://github.com/codygeary/CVfunk-Modules)
- [dBiz](https://github.com/dBiz/dBiz) - [dBiz](https://github.com/dBiz/dBiz)
- [DHE Modules](https://github.com/dhemery/DHE-Modules) - [DHE Modules](https://github.com/dhemery/DHE-Modules)

View file

@ -33,6 +33,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
| Catro/Modulo | BSD-3-Clause | | | Catro/Modulo | BSD-3-Clause | |
| cf | BSD-3-Clause | | | cf | BSD-3-Clause | |
| ChowDSP | GPL-3.0-or-later | | | ChowDSP | GPL-3.0-or-later | |
| Computerscare | BSD-3-Clause | |
| CVfunk | MIT | | | CVfunk | MIT | |
| dBiz | GPL-3.0-or-later | | | dBiz | GPL-3.0-or-later | |
| DHE-Modules | MIT | | | DHE-Modules | MIT | |
@ -158,6 +159,9 @@ Below is a list of artwork licenses from plugins
| cf/VT323-Regular.ttf | OFL-1.1-no-RFN | | | cf/VT323-Regular.ttf | OFL-1.1-no-RFN | |
| ChowDSP/* | GPL-3.0-or-later | Same license as source code | | ChowDSP/* | GPL-3.0-or-later | Same license as source code |
| ChowDSP/fonts/RobotoCondensed-*.ttf | Apache-2.0 | | | ChowDSP/fonts/RobotoCondensed-*.ttf | Apache-2.0 | |
| Computerscare/* | BSD-3-Clause | No artwork specific license provided |
| Computerscare/Oswald-Regular.ttf | OFL-1.1 | |
| Computerscare/Segment7Standard.ttf | OFL-1.1-RFN | |
| CVfunk/* | MIT | Same license as source code | | CVfunk/* | MIT | Same license as source code |
| dBiz/* | CC-BY-NC-ND-4.0 | | | dBiz/* | CC-BY-NC-ND-4.0 | |
| dBiz/DejaVuSansMono.ttf | Bitstream-Vera | | | dBiz/DejaVuSansMono.ttf | Bitstream-Vera | |

1
plugins/Computerscare Submodule

@ -0,0 +1 @@
Subproject commit d460bd226ab7b132fc4dfe14c5f359d7bbf007b7

View file

@ -645,6 +645,14 @@ PLUGIN_FILES += $(filter-out cf/src/plugin.cpp,$(wildcard cf/src/*.cpp))
# modules/types which are present in other plugins # modules/types which are present in other plugins
CF_CUSTOM = $(DRWAV) CF_CUSTOM = $(DRWAV)
# --------------------------------------------------------------
# Computerscare
PLUGIN_FILES += $(filter-out Computerscare/src/Computerscare.cpp Computerscare/src/test.cpp,$(wildcard Computerscare/src/*.cpp))
# modules/types which are present in other plugins
COMPUTERSCARE_CUSTOM = Quantizer PanelBorder
# -------------------------------------------------------------- # --------------------------------------------------------------
# CVfunk # CVfunk
@ -2207,6 +2215,13 @@ $(BUILD_DIR)/cf/src/%.cpp.o: cf/src/%.cpp
-DpluginInstance=pluginInstance__cf \ -DpluginInstance=pluginInstance__cf \
-Wno-misleading-indentation -Wno-misleading-indentation
$(BUILD_DIR)/Computerscare/src/%.cpp.o: Computerscare/src/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
$(foreach m,$(COMPUTERSCARE_CUSTOM),$(call custom_module_names,$(m),Computerscare)) \
-DpluginInstance=pluginInstance__Computerscare
$(BUILD_DIR)/CVfunk/src/%.cpp.o: CVfunk/src/%.cpp $(BUILD_DIR)/CVfunk/src/%.cpp.o: CVfunk/src/%.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
@echo "Compiling $<" @echo "Compiling $<"

View file

@ -311,6 +311,9 @@ extern Model* modelTestVCF;
#include "ChowDSP/src/plugin.cpp" #include "ChowDSP/src/plugin.cpp"
#undef init #undef init
// Computerscare
#include "Computerscare/src/Computerscare.hpp"
// dBiz // dBiz
#define DarkDefaultItem dBizDarkDefaultItem #define DarkDefaultItem dBizDarkDefaultItem
#define OrangeLight dBizOrangeLight #define OrangeLight dBizOrangeLight
@ -866,6 +869,7 @@ Plugin* pluginInstance__BogaudioModules;
Plugin* pluginInstance__CatroModulo; Plugin* pluginInstance__CatroModulo;
Plugin* pluginInstance__cf; Plugin* pluginInstance__cf;
Plugin* pluginInstance__ChowDSP; Plugin* pluginInstance__ChowDSP;
Plugin* pluginInstance__Computerscare;
Plugin* pluginInstance__CVfunk; Plugin* pluginInstance__CVfunk;
Plugin* pluginInstance__dBiz; Plugin* pluginInstance__dBiz;
Plugin* pluginInstance__DHE; Plugin* pluginInstance__DHE;
@ -1833,6 +1837,34 @@ static void initStatic__ChowDSP()
} }
} }
static void initStatic__Computerscare()
{
Plugin* const p = new Plugin;
pluginInstance__Computerscare = p;
const StaticPluginLoader spl(p, "Computerscare");
if (spl.ok())
{
p->addModel(modelComputerscarePatchSequencer);
p->addModel(modelComputerscareDebug);
p->addModel(modelComputerscareLaundrySoup);
p->addModel(modelComputerscareILoveCookies);
p->addModel(modelComputerscareOhPeas);
p->addModel(modelComputerscareHorseADoodleDoo);
p->addModel(modelComputerscareKnolyPobs);
p->addModel(modelComputerscareBolyPuttons);
p->addModel(modelComputerscareRolyPouter);
p->addModel(modelComputerscareSolyPequencer);
p->addModel(modelComputerscareTolyPools);
p->addModel(modelComputerscareMolyPatrix);
p->addModel(modelComputerscareGolyPenerator);
p->addModel(modelComputerscareFolyPace);
p->addModel(modelComputerscareStolyFickPigure);
p->addModel(modelComputerscareBlank);
p->addModel(modelComputerscareBlankExpander);
}
}
static void initStatic__CVfunk() static void initStatic__CVfunk()
{ {
Plugin* const p = new Plugin; Plugin* const p = new Plugin;
@ -3252,6 +3284,7 @@ void initStaticPlugins()
initStatic__CatroModulo(); initStatic__CatroModulo();
initStatic__cf(); initStatic__cf();
initStatic__ChowDSP(); initStatic__ChowDSP();
initStatic__Computerscare();
initStatic__CVfunk(); initStatic__CVfunk();
initStatic__dBiz(); initStatic__dBiz();
initStatic__DHE(); initStatic__DHE();

View file

@ -62,6 +62,7 @@ enum DarkMode {
kModeAudibleInstruments, kModeAudibleInstruments,
kModeBidoo, kModeBidoo,
kModeCf, kModeCf,
kModeComputerscare,
kModeDHE, kModeDHE,
kModeDrumKit, kModeDrumKit,
kModeESeries, kModeESeries,
@ -214,6 +215,29 @@ static const struct {
{ kModeCf, "/cf/res/SUB.svg", {}, -1 }, { kModeCf, "/cf/res/SUB.svg", {}, -1 },
{ kModeCf, "/cf/res/trSEQ.svg", {}, -1 }, { kModeCf, "/cf/res/trSEQ.svg", {}, -1 },
{ kModeCf, "/cf/res/VARIABLE.svg", {}, -1 }, { kModeCf, "/cf/res/VARIABLE.svg", {}, -1 },
// BSD-3 Clause
{ kModeComputerscare, "/Computerscare/res/computerscare-clk-text.svg", {}, -1},
{ kModeComputerscare, "/Computerscare/res/vertical-x-1.svg", {}, -1},
{ kModeComputerscare, "/Computerscare/res/vertical-x-2.svg", {}, -1},
{ kModeComputerscare, "/Computerscare/res/vertical-x-3.svg", {}, -1},
{ kModeComputerscare, "/Computerscare/res/computerscare-logo-normal.svg", {}, -1},
{ kModeComputerscare, "/Computerscare/res/computerscare-logo-sad.svg", {}, -1},
{ kModeComputerscare, "/Computerscare/res/ComputerscareDebugPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareOhPeasPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareFolyPacePanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareKnolyPobsPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareTolyPoolsPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareMolyPatrixPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareRolyPouterPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareBolyPuttonsPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareCustomBlankPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareLaundrySoupPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareILoveCookiesPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareGolyPeneratorPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareSolyPequencerPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscarePatchSequencerPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareHorseADoodleDooPanel.svg", {}, -1 },
{ kModeComputerscare, "/Computerscare/res/ComputerscareCustomBlankExpanderPanel.svg", {}, -1 },
// MIT // MIT
{ kModeDHE, "/DHE-Modules/svg/blossom.svg", {}, -1 }, { kModeDHE, "/DHE-Modules/svg/blossom.svg", {}, -1 },
{ kModeDHE, "/DHE-Modules/svg/booster-stage.svg", {}, -1 }, { kModeDHE, "/DHE-Modules/svg/booster-stage.svg", {}, -1 },
@ -664,6 +688,15 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai
} }
} }
break; break;
// Special case for Computerscare
case kModeComputerscare:
switch (paint.color)
{
// Just make vertical-x-* visible
case 0xffa6c924:
return false;
}
break;
// Special case for DHE, mark things darker instead of inverting // Special case for DHE, mark things darker instead of inverting
case kModeDHE: case kModeDHE:
paint.color = darkerColor(paint.color); paint.color = darkerColor(paint.color);