From f462ed8380febad7519858d7f659a5e655da8594 Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Fri, 25 Feb 2022 18:22:11 +0100 Subject: [PATCH] adding kocmoc (#176) --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Makefile | 12 ++++++++++++ plugins/kocmoc | 1 + plugins/plugins.cpp | 24 ++++++++++++++++++++++++ src/custom/dep.cpp | 9 +++++++++ 7 files changed, 52 insertions(+) create mode 160000 plugins/kocmoc diff --git a/.gitmodules b/.gitmodules index a46b703..0bf4182 100644 --- a/.gitmodules +++ b/.gitmodules @@ -163,3 +163,6 @@ [submodule "plugins/LilacLoop"] path = plugins/LilacLoop url = https://github.com/grough/lilac-loop-vcv.git +[submodule "plugins/kocmoc"] + path = plugins/kocmoc + url = https://github.com/janne808/kocmoc-rack-modules.git diff --git a/README.md b/README.md index 5136bc6..6bbd6d5 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ At the moment the following 3rd-party modules are provided: - ihtsyn - Impromptu - JW-Modules +- kocmoc - LifeFormModular - Lilac Loop - Little Utils diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 6c3f8c9..dce148d 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -41,6 +41,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | ihtsyn | GPL-3.0-or-later | | | Impromptu | GPL-3.0-or-later | | | JW-Modules | BSD-3-Clause | | +| kocmoc | GPL-3.0-or-later | | | LifeFormModular | MIT | | | Lilac Loop | GPL-3.0-or-later | | | Little Utils | EUPL-1.2 | | @@ -133,6 +134,7 @@ Below is a list of artwork licenses from plugins | ImpromptuModular/res/comp/complib/* | CC-BY-NC-4.0 | | | JW-Modules/* | BSD-3-Clause | No artwork specific license provided | | JW-Modules/DejaVuSansMono.ttf | Bitstream-Vera | Unused in Cardinal | +| kocmoc/* | GPL-3.0-or-later | No artwork specific license provided | | LifeFormModular/* | MIT | No artwork specific license provided | | LilacLoop/* | GPL-3.0-or-later | No artwork specific license provided | | LittleUtils/* | EUPL-1.2 | Same license as source code | diff --git a/plugins/Makefile b/plugins/Makefile index 0710476..5a44d27 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -569,6 +569,11 @@ endif # modules/types which are present in other plugins JW_CUSTOM = PlayHead Quantizer +# -------------------------------------------------------------- +# kocmoc + +PLUGIN_FILES += $(wildcard kocmoc/src/*.cpp) + # -------------------------------------------------------------- # LifeFormModular @@ -1415,6 +1420,13 @@ $(BUILD_DIR)/JW-Modules/%.cpp.o: JW-Modules/%.cpp -Wno-unused-but-set-variable \ -Wno-unused-result +$(BUILD_DIR)/kocmoc/%.cpp.o: kocmoc/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(KOCMOC_CUSTOM),$(call custom_module_names,$(m),kocmoc)) \ + -DpluginInstance=pluginInstance__kocmoc + $(BUILD_DIR)/LifeFormModular/%.cpp.o: LifeFormModular/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/kocmoc b/plugins/kocmoc new file mode 160000 index 0000000..f2a8c19 --- /dev/null +++ b/plugins/kocmoc @@ -0,0 +1 @@ +Subproject commit f2a8c19f8aa81769e13d085d69a44de5afaacfaa diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index fe8be2b..6254d6a 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -410,6 +410,9 @@ extern Model* modelBlankPanel; #include "JW-Modules/src/JWModules.hpp" #undef modelQuantizer +// kocmoc +#include "kocmoc/src/plugin.hpp" + // LifeFormModular /* NOTE too much noise in original include, do this a different way // #include "LifeFormModular/src/plugin.hpp" @@ -659,6 +662,7 @@ Plugin* pluginInstance__HetrickCV; extern Plugin* pluginInstance__ImpromptuModular; Plugin* pluginInstance__ihtsyn; Plugin* pluginInstance__JW; +Plugin* pluginInstance__kocmoc; Plugin* pluginInstance__LifeFormModular; Plugin* pluginInstance__LilacLoop; Plugin* pluginInstance__LittleUtils; @@ -1770,6 +1774,25 @@ static void initStatic__JW() } } +static void initStatic__kocmoc() +{ + Plugin* const p = new Plugin; + pluginInstance__kocmoc= p; + + const StaticPluginLoader spl(p, "kocmoc"); + if (spl.ok()) + { + p->addModel(modelSVF_1); + p->addModel(modelTRG); + p->addModel(modelLADR); + p->addModel(modelOP); + p->addModel(modelPHASR); + p->addModel(modelMUL); + p->addModel(modelSKF); + p->addModel(modelDDLY); + } +} + static void initStatic__LifeFormModular() { Plugin* const p = new Plugin; @@ -2278,6 +2301,7 @@ void initStaticPlugins() initStatic__ImpromptuModular(); initStatic__ihtsyn(); initStatic__JW(); + initStatic__kocmoc(); initStatic__LifeFormModular(); initStatic__LilacLoop(); initStatic__LittleUtils(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index ec373d9..b074398 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -243,6 +243,15 @@ static const struct { { "/LittleUtils/res/PulseGenerator.svg", {}, -1 }, { "/LittleUtils/res/TeleportIn.svg", {}, -1 }, { "/LittleUtils/res/TeleportOut.svg", {}, -1 }, + // GPL-3.0-or-later + { "/kocmoc/res/DDLY.svg", {}, -1 }, + { "/kocmoc/res/LADR.svg", {}, -1 }, + { "/kocmoc/res/MUL.svg", {}, -1 }, + { "/kocmoc/res/OP.svg", {}, -1 }, + { "/kocmoc/res/PHASR.svg", {}, -1 }, + { "/kocmoc/res/SKF.svg", {}, -1 }, + { "/kocmoc/res/SVF.svg", {}, -1 }, + { "/kocmoc/res/TRG.svg", {}, -1 }, }; static inline bool invertPaint(NSVGpaint& paint, const char* const svgFileToInvert = nullptr)