From c85fce1cce005aa1a63fd012387c0ce57e4d1ae5 Mon Sep 17 00:00:00 2001 From: Jan Ypma Date: Tue, 11 Jan 2022 11:16:10 +0100 Subject: [PATCH] Add Geodesics modules Adding them was straightforward. A few symbols resulted in duplicates when linking, hence the extra "-D" hackery in the plugins Makefile. --- .gitmodules | 3 +++ doc/LICENSES.md | 1 + plugins/Geodesics | 1 + plugins/Makefile | 15 +++++++++++++++ plugins/plugins.cpp | 26 ++++++++++++++++++++++++++ plugins/todo.txt | 3 --- 6 files changed, 46 insertions(+), 3 deletions(-) create mode 160000 plugins/Geodesics diff --git a/.gitmodules b/.gitmodules index 2347ddd8..37632e36 100644 --- a/.gitmodules +++ b/.gitmodules @@ -130,3 +130,6 @@ [submodule "plugins/ExpertSleepers-Encoders"] path = plugins/ExpertSleepers-Encoders url = https://github.com/expertsleepersltd/vcvrack-encoders.git +[submodule "plugins/Geodesics"] + path = plugins/Geodesics + url = https://github.com/MarcBoule/Geodesics.git diff --git a/doc/LICENSES.md b/doc/LICENSES.md index 1fe64e95..2346b78b 100644 --- a/doc/LICENSES.md +++ b/doc/LICENSES.md @@ -32,6 +32,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Extratone | GPL-3.0-or-later | | | Fehler Fabrik | GPL-3.0-or-later | | | Fundamental | GPL-3.0-or-later | | +| Geodesics | GPL-3.0 | (blocker for inclusion right now) | | Glue the Giant | GPL-3.0-or-later | | | Grande | GPL-3.0-or-later | | | HetrickCV | CC0-1.0 | | diff --git a/plugins/Geodesics b/plugins/Geodesics new file mode 160000 index 00000000..ae163f97 --- /dev/null +++ b/plugins/Geodesics @@ -0,0 +1 @@ +Subproject commit ae163f9740ac4ddd3a889654298a3727c213108d diff --git a/plugins/Makefile b/plugins/Makefile index 4017d827..0c95601c 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -451,6 +451,11 @@ PLUGIN_FILES += Fundamental/src/dr_wav.c # modules/types which are present in other plugins FUNDAMENTAL_CUSTOM = $(DRWAV) +# -------------------------------------------------------------- +# Geodesics + +PLUGIN_FILES += $(filter-out Geodesics/src/plugin.cpp,$(wildcard Geodesics/src/*.cpp)) + # -------------------------------------------------------------- # GlueTheGiant @@ -1074,6 +1079,16 @@ $(BUILD_DIR)/Fundamental/%.cpp.o: Fundamental/%.cpp $(foreach m,$(FUNDAMENTAL_CUSTOM),$(call custom_module_names,$(m),Fundamental)) \ -DpluginInstance=pluginInstance__Fundamental +$(BUILD_DIR)/Geodesics/%.cpp.o: Geodesics/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(GEODESICS_CUSTOM),$(call custom_module_names,$(m),Geodesics)) \ + -DpluginInstance=pluginInstance__Geodesics \ + -DsaveDarkAsDefault=saveDarkAsDefault__Geodesics \ + -DisDark=isDark__Geodesics \ + -Dinit=init__Geodesics + $(BUILD_DIR)/GlueTheGiant/%.cpp.o: GlueTheGiant/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index b77525a0..a278e662 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -268,6 +268,9 @@ void setupSamples(); // Fundamental #include "Fundamental/src/plugin.hpp" +// Geodesics +#include "Geodesics/src/Geodesics.hpp" + // GlueTheGiant #include "GlueTheGiant/src/plugin.hpp" bool audition_mixer = false; @@ -516,6 +519,7 @@ Plugin* pluginInstance__ExpertSleepersEncoders; Plugin* pluginInstance__Extratone; Plugin* pluginInstance__FehlerFabrik; Plugin* pluginInstance__Fundamental; +extern Plugin* pluginInstance__Geodesics; Plugin* pluginInstance__GrandeModular; Plugin* pluginInstance__GlueTheGiant; Plugin* pluginInstance__HetrickCV; @@ -1381,6 +1385,27 @@ static void initStatic__Fundamental() } } +static void initStatic__Geodesics() +{ + Plugin* const p = new Plugin; + pluginInstance__Geodesics = p; + + const StaticPluginLoader spl(p, "Geodesics"); + if (spl.ok()) + { + p->addModel(modelBlackHoles); + p->addModel(modelPulsars); + p->addModel(modelBranes); + p->addModel(modelIons); + p->addModel(modelEntropia); + p->addModel(modelEnergy); + p->addModel(modelTorus); + p->addModel(modelFate); + p->addModel(modelBlankLogo); + p->addModel(modelBlankInfo); + } +} + static void initStatic__GlueTheGiant() { Plugin* const p = new Plugin; @@ -1895,6 +1920,7 @@ void initStaticPlugins() initStatic__Extratone(); initStatic__FehlerFabrik(); initStatic__Fundamental(); + initStatic__Geodesics(); initStatic__GlueTheGiant(); initStatic__GrandeModular(); initStatic__HetrickCV(); diff --git a/plugins/todo.txt b/plugins/todo.txt index a81d6579..fc8c5e8c 100644 --- a/plugins/todo.txt +++ b/plugins/todo.txt @@ -22,9 +22,6 @@ https://github.com/squinkylabs/SquinkyVCV LindenbergResearch 43959.0 (not opensource?) -Geodesics 42761.0 -https://github.com/MarcBoule/Geodesics - Alikins 41798.0 https://github.com/alikins/Alikins-rack-plugins