From 26f9484f66a2ac1eb1f401a9428bad1fa2faf8df Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 12 Dec 2021 14:15:59 +0000 Subject: [PATCH] Add 21kHz Signed-off-by: falkTX --- .gitmodules | 3 +++ README.md | 4 ++-- doc/LICENSES.md | 3 ++- plugins/21kHz | 1 + plugins/Makefile | 12 ++++++++++++ plugins/plugins.cpp | 19 +++++++++++++++++++ plugins/res/21kHz | 1 + plugins/res/ZZC | 1 - 8 files changed, 40 insertions(+), 4 deletions(-) create mode 160000 plugins/21kHz create mode 120000 plugins/res/21kHz delete mode 120000 plugins/res/ZZC diff --git a/.gitmodules b/.gitmodules index ea6b10f..c3a1684 100644 --- a/.gitmodules +++ b/.gitmodules @@ -115,3 +115,6 @@ [submodule "plugins/LifeFormModular"] path = plugins/LifeFormModular url = https://github.com/SteveRussell33/LifeFormModular.git +[submodule "plugins/21kHz"] + path = plugins/21kHz + url = https://github.com/netboy3/21kHz-rack-plugins.git diff --git a/README.md b/README.md index 5376ea9..0f8ede0 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ An overview of the included code and linked submodules can be seen [here](doc/LI At the moment the following 3rd-party modules are provided: +- 21kHz - AS - Amalgamated Harmonics - Animated Circuits @@ -99,6 +100,7 @@ At the moment the following 3rd-party modules are provided: - HetrickCV - Impromptu - JW-Modules +- LifeFormModular - Little Utils - LyraeModules - MindMeld @@ -110,8 +112,6 @@ At the moment the following 3rd-party modules are provided: - Valley - ZetaCarinae -(*) Might be removed soon due to license conflicts - Additionally Cardinal provides its own modules for DAW/Host automation, time position and internal plugin hosting. ### Restrictions diff --git a/doc/LICENSES.md b/doc/LICENSES.md index 7b39858..6844a6e 100644 --- a/doc/LICENSES.md +++ b/doc/LICENSES.md @@ -13,6 +13,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Carla | GPL-2.0-or-later | Used as plugin host within Cardinal| | DPF | ISC, GPL-2.0-or-later | Used as the plugin framework, VST2 binary GPLv2+ licensed | | Rack | GPL-3.0-or-later | The actual Rack code, internal dependencies are compatible with GPLv3+ | +| 21kHz | MIT | | | AS | MIT | | | Amalgamated Harmonics | BSD-3-Clause | | | Animated Circuits | BSD-3-Clause | | @@ -35,6 +36,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | HetrickCV | CC0-1.0 | | | Impromptu | GPL-3.0-or-later | | | JW-Modules | BSD-3-Clause | | +| LifeFormModular | MIT | | | Little Utils | MIT | | | LyraeModules | GPL-3.0-or-later | | | MindMeld | GPL-3.0-or-later | | @@ -45,7 +47,6 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | repelzen | GPL-3.0-or-later | | | Sonus Modular | GPL-3.0-or-later | | | Valley | GPL-3.0-or-later | | -| ZZC | GPL-3.0-only | GPLv3+ change request https://github.com/zezic/ZZC/issues/86 | | ZetaCarinae | GPL-3.0-or-later | | ## ARTWORK / PANEL LICENSES diff --git a/plugins/21kHz b/plugins/21kHz new file mode 160000 index 0000000..0bee822 --- /dev/null +++ b/plugins/21kHz @@ -0,0 +1 @@ +Subproject commit 0bee82247151e2fe2885f1e15fbbd74ddb4f48d0 diff --git a/plugins/Makefile b/plugins/Makefile index 748ef24..2d21cb3 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -193,6 +193,11 @@ PLUGIN_FILES += $(wildcard Cardinal/src/DearImGui/*.cpp) endif ifneq ($(NOPLUGINS),true) +# -------------------------------------------------------------- +# 21kHz + +PLUGIN_FILES += $(filter-out 21kHz/src/21kHz.cpp,$(wildcard 21kHz/src/*.cpp)) + # -------------------------------------------------------------- # AmalgamatedHarmonics @@ -860,6 +865,13 @@ $(BUILD_DIR)/Cardinal/%.cpp.o: Cardinal/%.cpp -I../carla/source/modules \ -I../carla/source/utils +$(BUILD_DIR)/21kHz/%.cpp.o: 21kHz/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(21KHZ_CUSTOM),$(call custom_module_names,$(m),21kHz)) \ + -DpluginInstance=pluginInstance__21kHz + $(BUILD_DIR)/AmalgamatedHarmonics/%.cpp.o: AmalgamatedHarmonics/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 5e8ce0b..371e454 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -24,6 +24,9 @@ #include "Cardinal/src/plugin.hpp" #ifndef NOPLUGINS +// 21kHz +#include "21kHz/src/21kHz.hpp" + // AmalgamatedHarmonics #include "AmalgamatedHarmonics/src/AH.hpp" @@ -487,6 +490,7 @@ void saveHighQualityAsDefault(bool) {} // plugin instances Plugin* pluginInstance__Cardinal; #ifndef NOPLUGINS +Plugin* pluginInstance__21kHz; Plugin* pluginInstance__AmalgamatedHarmonics; Plugin* pluginInstance__AnimatedCircuits; Plugin* pluginInstance__Aria; @@ -670,6 +674,20 @@ static void initStatic__Cardinal() } #ifndef NOPLUGINS +static void initStatic__21kHz() +{ + Plugin* const p = new Plugin; + pluginInstance__21kHz = p; + + const StaticPluginLoader spl(p, "21kHz"); + if (spl.ok()) + { + p->addModel(modelPalmLoop); + p->addModel(modelD_Inf); + p->addModel(modelTachyonEntangler); + } +} + static void initStatic__AmalgamatedHarmonics() { Plugin* const p = new Plugin; @@ -1814,6 +1832,7 @@ void initStaticPlugins() initStatic__Core(); initStatic__Cardinal(); #ifndef NOPLUGINS + initStatic__21kHz(); initStatic__AmalgamatedHarmonics(); initStatic__AnimatedCircuits(); initStatic__Aria(); diff --git a/plugins/res/21kHz b/plugins/res/21kHz new file mode 120000 index 0000000..de25318 --- /dev/null +++ b/plugins/res/21kHz @@ -0,0 +1 @@ +../21kHz/res \ No newline at end of file diff --git a/plugins/res/ZZC b/plugins/res/ZZC deleted file mode 120000 index 1278064..0000000 --- a/plugins/res/ZZC +++ /dev/null @@ -1 +0,0 @@ -../ZZC/res \ No newline at end of file