From 9f801e50db679f18845f699562d1f71650eb347b Mon Sep 17 00:00:00 2001 From: dreamer Date: Fri, 25 Feb 2022 15:14:15 +0100 Subject: [PATCH] adding kocmoc --- .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 faae8d0..2f68559 100644 --- a/.gitmodules +++ b/.gitmodules @@ -160,3 +160,6 @@ [submodule "plugins/CatroModulo"] path = plugins/CatroModulo url = https://github.com/catronomix/catro-modulo.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 8bc73d2..fbfbf83 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 - Little Utils - Lomas Modules diff --git a/docs/LICENSES.md b/docs/LICENSES.md index db9686d..5630b81 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 | | | Little Utils | EUPL-1.2 | | | Lomas Modules | GPL-3.0-or-later | | @@ -132,6 +133,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 | | LittleUtils/* | EUPL-1.2 | Same license as source code | | LittleUtils/fonts/CooperHewitt-*.ttf | OFL-1.1-RFN | | diff --git a/plugins/Makefile b/plugins/Makefile index c757eac..52816e7 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 @@ -1410,6 +1415,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 e2a621e..6c367a4 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" @@ -656,6 +659,7 @@ Plugin* pluginInstance__HetrickCV; extern Plugin* pluginInstance__ImpromptuModular; Plugin* pluginInstance__ihtsyn; Plugin* pluginInstance__JW; +Plugin* pluginInstance__kocmoc; Plugin* pluginInstance__LifeFormModular; Plugin* pluginInstance__LittleUtils; Plugin* pluginInstance__Lomas; @@ -1766,6 +1770,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; @@ -2262,6 +2285,7 @@ void initStaticPlugins() initStatic__ImpromptuModular(); initStatic__ihtsyn(); initStatic__JW(); + initStatic__kocmoc(); initStatic__LifeFormModular(); initStatic__LittleUtils(); initStatic__Lomas(); diff --git a/src/custom/dep.cpp b/src/custom/dep.cpp index 24c7889..b778419 100644 --- a/src/custom/dep.cpp +++ b/src/custom/dep.cpp @@ -241,6 +241,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)