Skip to content

Commit 64eafbc

Browse files
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
1 parent c44acc8 commit 64eafbc

File tree

7 files changed

+92
-1
lines changed

7 files changed

+92
-1
lines changed

.gitmodules

+5-1
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@
233233
[submodule "plugins/DHE-Modules"]
234234
path = plugins/DHE-Modules
235235
url = https://github.com/dhemery/DHE-Modules.git
236+
[submodule "plugins/Computerscare"]
237+
path = plugins/Computerscare
238+
url = https://github.com/freddyz/computerscare-vcv-modules.git
239+
branch = v2.0.4
236240
[submodule "plugins/CVfunk"]
237241
path = plugins/CVfunk
238-
url = https://github.com/codygeary/CVfunk-Modules.git
242+
url = https://github.com/codygeary/CVfunk-Modules.git

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ At the moment the following 3rd-party modules are provided:
139139
- [Catro/Modulo](https://github.com/catronomix/catro-modulo)
140140
- [cf](https://github.com/cfoulc/cf)
141141
- [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV)
142+
- [Computerscare](https://github.com/freddyz/computerscare-vcv-modules)
142143
- [CVfunk](https://github.com/codygeary/CVfunk-Modules)
143144
- [dBiz](https://github.com/dBiz/dBiz)
144145
- [DHE Modules](https://github.com/dhemery/DHE-Modules)

docs/LICENSES.md

+4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule
3333
| Catro/Modulo | BSD-3-Clause | |
3434
| cf | BSD-3-Clause | |
3535
| ChowDSP | GPL-3.0-or-later | |
36+
| Computerscare | BSD-3-Clause | |
3637
| CVfunk | MIT | |
3738
| dBiz | GPL-3.0-or-later | |
3839
| DHE-Modules | MIT | |
@@ -158,6 +159,9 @@ Below is a list of artwork licenses from plugins
158159
| cf/VT323-Regular.ttf | OFL-1.1-no-RFN | |
159160
| ChowDSP/* | GPL-3.0-or-later | Same license as source code |
160161
| ChowDSP/fonts/RobotoCondensed-*.ttf | Apache-2.0 | |
162+
| Computerscare/* | BSD-3-Clause | No artwork specific license provided |
163+
| Computerscare/Oswald-Regular.ttf | OFL-1.1 | |
164+
| Computerscare/Segment7Standard.ttf | OFL-1.1-RFN | |
161165
| CVfunk/* | MIT | Same license as source code |
162166
| dBiz/* | CC-BY-NC-ND-4.0 | |
163167
| dBiz/DejaVuSansMono.ttf | Bitstream-Vera | |

plugins/Computerscare

Submodule Computerscare added at d460bd2

plugins/Makefile

+15
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,14 @@ PLUGIN_FILES += $(filter-out cf/src/plugin.cpp,$(wildcard cf/src/*.cpp))
645645
# modules/types which are present in other plugins
646646
CF_CUSTOM = $(DRWAV)
647647

648+
# --------------------------------------------------------------
649+
# Computerscare
650+
651+
PLUGIN_FILES += $(filter-out Computerscare/src/Computerscare.cpp Computerscare/src/test.cpp,$(wildcard Computerscare/src/*.cpp))
652+
653+
# modules/types which are present in other plugins
654+
COMPUTERSCARE_CUSTOM = Quantizer PanelBorder
655+
648656
# --------------------------------------------------------------
649657
# CVfunk
650658

@@ -2207,6 +2215,13 @@ $(BUILD_DIR)/cf/src/%.cpp.o: cf/src/%.cpp
22072215
-DpluginInstance=pluginInstance__cf \
22082216
-Wno-misleading-indentation
22092217

2218+
$(BUILD_DIR)/Computerscare/src/%.cpp.o: Computerscare/src/%.cpp
2219+
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
2220+
@echo "Compiling $<"
2221+
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
2222+
$(foreach m,$(COMPUTERSCARE_CUSTOM),$(call custom_module_names,$(m),Computerscare)) \
2223+
-DpluginInstance=pluginInstance__Computerscare
2224+
22102225
$(BUILD_DIR)/CVfunk/src/%.cpp.o: CVfunk/src/%.cpp
22112226
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
22122227
@echo "Compiling $<"

plugins/plugins.cpp

+33
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,9 @@ extern Model* modelTestVCF;
311311
#include "ChowDSP/src/plugin.cpp"
312312
#undef init
313313

314+
// Computerscare
315+
#include "Computerscare/src/Computerscare.hpp"
316+
314317
// dBiz
315318
#define DarkDefaultItem dBizDarkDefaultItem
316319
#define OrangeLight dBizOrangeLight
@@ -866,6 +869,7 @@ Plugin* pluginInstance__BogaudioModules;
866869
Plugin* pluginInstance__CatroModulo;
867870
Plugin* pluginInstance__cf;
868871
Plugin* pluginInstance__ChowDSP;
872+
Plugin* pluginInstance__Computerscare;
869873
Plugin* pluginInstance__CVfunk;
870874
Plugin* pluginInstance__dBiz;
871875
Plugin* pluginInstance__DHE;
@@ -1833,6 +1837,34 @@ static void initStatic__ChowDSP()
18331837
}
18341838
}
18351839

1840+
static void initStatic__Computerscare()
1841+
{
1842+
Plugin* const p = new Plugin;
1843+
pluginInstance__Computerscare = p;
1844+
1845+
const StaticPluginLoader spl(p, "Computerscare");
1846+
if (spl.ok())
1847+
{
1848+
p->addModel(modelComputerscarePatchSequencer);
1849+
p->addModel(modelComputerscareDebug);
1850+
p->addModel(modelComputerscareLaundrySoup);
1851+
p->addModel(modelComputerscareILoveCookies);
1852+
p->addModel(modelComputerscareOhPeas);
1853+
p->addModel(modelComputerscareHorseADoodleDoo);
1854+
p->addModel(modelComputerscareKnolyPobs);
1855+
p->addModel(modelComputerscareBolyPuttons);
1856+
p->addModel(modelComputerscareRolyPouter);
1857+
p->addModel(modelComputerscareSolyPequencer);
1858+
p->addModel(modelComputerscareTolyPools);
1859+
p->addModel(modelComputerscareMolyPatrix);
1860+
p->addModel(modelComputerscareGolyPenerator);
1861+
p->addModel(modelComputerscareFolyPace);
1862+
p->addModel(modelComputerscareStolyFickPigure);
1863+
p->addModel(modelComputerscareBlank);
1864+
p->addModel(modelComputerscareBlankExpander);
1865+
}
1866+
}
1867+
18361868
static void initStatic__CVfunk()
18371869
{
18381870
Plugin* const p = new Plugin;
@@ -3252,6 +3284,7 @@ void initStaticPlugins()
32523284
initStatic__CatroModulo();
32533285
initStatic__cf();
32543286
initStatic__ChowDSP();
3287+
initStatic__Computerscare();
32553288
initStatic__CVfunk();
32563289
initStatic__dBiz();
32573290
initStatic__DHE();

src/custom/dep.cpp

+33
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ enum DarkMode {
6262
kModeAudibleInstruments,
6363
kModeBidoo,
6464
kModeCf,
65+
kModeComputerscare,
6566
kModeDHE,
6667
kModeDrumKit,
6768
kModeESeries,
@@ -214,6 +215,29 @@ static const struct {
214215
{ kModeCf, "/cf/res/SUB.svg", {}, -1 },
215216
{ kModeCf, "/cf/res/trSEQ.svg", {}, -1 },
216217
{ kModeCf, "/cf/res/VARIABLE.svg", {}, -1 },
218+
// BSD-3 Clause
219+
{ kModeComputerscare, "/Computerscare/res/computerscare-clk-text.svg", {}, -1},
220+
{ kModeComputerscare, "/Computerscare/res/vertical-x-1.svg", {}, -1},
221+
{ kModeComputerscare, "/Computerscare/res/vertical-x-2.svg", {}, -1},
222+
{ kModeComputerscare, "/Computerscare/res/vertical-x-3.svg", {}, -1},
223+
{ kModeComputerscare, "/Computerscare/res/computerscare-logo-normal.svg", {}, -1},
224+
{ kModeComputerscare, "/Computerscare/res/computerscare-logo-sad.svg", {}, -1},
225+
{ kModeComputerscare, "/Computerscare/res/ComputerscareDebugPanel.svg", {}, -1 },
226+
{ kModeComputerscare, "/Computerscare/res/ComputerscareOhPeasPanel.svg", {}, -1 },
227+
{ kModeComputerscare, "/Computerscare/res/ComputerscareFolyPacePanel.svg", {}, -1 },
228+
{ kModeComputerscare, "/Computerscare/res/ComputerscareKnolyPobsPanel.svg", {}, -1 },
229+
{ kModeComputerscare, "/Computerscare/res/ComputerscareTolyPoolsPanel.svg", {}, -1 },
230+
{ kModeComputerscare, "/Computerscare/res/ComputerscareMolyPatrixPanel.svg", {}, -1 },
231+
{ kModeComputerscare, "/Computerscare/res/ComputerscareRolyPouterPanel.svg", {}, -1 },
232+
{ kModeComputerscare, "/Computerscare/res/ComputerscareBolyPuttonsPanel.svg", {}, -1 },
233+
{ kModeComputerscare, "/Computerscare/res/ComputerscareCustomBlankPanel.svg", {}, -1 },
234+
{ kModeComputerscare, "/Computerscare/res/ComputerscareLaundrySoupPanel.svg", {}, -1 },
235+
{ kModeComputerscare, "/Computerscare/res/ComputerscareILoveCookiesPanel.svg", {}, -1 },
236+
{ kModeComputerscare, "/Computerscare/res/ComputerscareGolyPeneratorPanel.svg", {}, -1 },
237+
{ kModeComputerscare, "/Computerscare/res/ComputerscareSolyPequencerPanel.svg", {}, -1 },
238+
{ kModeComputerscare, "/Computerscare/res/ComputerscarePatchSequencerPanel.svg", {}, -1 },
239+
{ kModeComputerscare, "/Computerscare/res/ComputerscareHorseADoodleDooPanel.svg", {}, -1 },
240+
{ kModeComputerscare, "/Computerscare/res/ComputerscareCustomBlankExpanderPanel.svg", {}, -1 },
217241
// MIT
218242
{ kModeDHE, "/DHE-Modules/svg/blossom.svg", {}, -1 },
219243
{ kModeDHE, "/DHE-Modules/svg/booster-stage.svg", {}, -1 },
@@ -664,6 +688,15 @@ bool invertPaintForDarkMode(const DarkMode mode, NSVGshape* const shape, NSVGpai
664688
}
665689
}
666690
break;
691+
// Special case for Computerscare
692+
case kModeComputerscare:
693+
switch (paint.color)
694+
{
695+
// Just make vertical-x-* visible
696+
case 0xffa6c924:
697+
return false;
698+
}
699+
break;
667700
// Special case for DHE, mark things darker instead of inverting
668701
case kModeDHE:
669702
paint.color = darkerColor(paint.color);

0 commit comments

Comments
 (0)