diff --git a/.gitmodules b/.gitmodules index aaf6bba..63c1ea2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -142,6 +142,9 @@ [submodule "plugins/Axioma"] path = plugins/Axioma url = https://github.com/kauewerner/Axioma.git +[submodule "plugins/GoodSheperd"] + path = plugins/GoodSheperd + url = https://github.com/jensschulze/GoodSheperd.git [submodule "plugins/HamptonHarmonics"] path = plugins/HamptonHarmonics url = https://gitlab.com/hampton-harmonics/hampton-harmonics-modules.git diff --git a/README.md b/README.md index a9a61a8..5099834 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ At the moment the following 3rd-party modules are provided: - Extratone - Fehler Fabrik - Glue the Giant +- GoodSheperd - Grande - Hampton Harmonics - HetrickCV diff --git a/docs/LICENSES.md b/docs/LICENSES.md index cfb085a..7e08888 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -33,6 +33,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 | | | Glue the Giant | GPL-3.0-or-later | | +| GoodSheperd | GPL-3.0-or-later | | | Grande | GPL-3.0-or-later | | | Hampton Harmonics | MIT | | | HetrickCV | CC0-1.0 | | @@ -115,6 +116,7 @@ Below is a list of artwork licenses from plugins | FehlerFabrik/* | GPL-3.0-or-later | No artwork specific license provided, see [FehlerFabrik#17](https://github.com/RCameron93/FehlerFabrik/issues/17) | | GlueTheGiant/* | GPL-3.0-or-later | Same license as source code | | GlueTheGiant/fonts/DSEG7-* | OFL-1.1-RFN | | +| GoodSheperd/* | GPL-3.0-or-later | No artwork specific license provided | | GrandeModular/* | CC-BY-NC-ND-4.0 | | | HamptonHarmonics/* | MIT | No artwork specific license provided | | HamptonHarmonics/PixelOperator.ttf | CC0-1.0 | | diff --git a/plugins/GoodSheperd b/plugins/GoodSheperd new file mode 160000 index 0000000..6363510 --- /dev/null +++ b/plugins/GoodSheperd @@ -0,0 +1 @@ +Subproject commit 636351059f2eec629f3b8a537451dd3d0eb01c30 diff --git a/plugins/Makefile b/plugins/Makefile index 42b1aac..7f52f68 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -486,6 +486,11 @@ endif PLUGIN_FILES += $(filter-out GlueTheGiant/src/plugin.cpp,$(wildcard GlueTheGiant/src/*.cpp)) +# -------------------------------------------------------------- +# GoodSheperd + +PLUGIN_FILES += $(wildcard GoodSheperd/src/*.cpp) + # -------------------------------------------------------------- # GrandeModular @@ -1274,6 +1279,13 @@ $(BUILD_DIR)/GlueTheGiant/src/gtgComponents.cpp.o: GlueTheGiant/src/gtgComponent -DloadGtgPluginDefault=ignoredGlueTheGiant1 \ -DsaveGtgPluginDefault=ignoredGlueTheGiant2 +$(BUILD_DIR)/GoodSheperd/%.cpp.o: GoodSheperd/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(GOODSHEPERD_CUSTOM),$(call custom_module_names,$(m),GoodSheperd)) \ + -DpluginInstance=pluginInstance__GoodSheperd + $(BUILD_DIR)/GrandeModular/%.cpp.o: GrandeModular/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index c61c87e..6fc44bf 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -305,6 +305,9 @@ int gtg_default_theme = 1; int loadGtgPluginDefault(const char*, int) { return 1; } void saveGtgPluginDefault(const char*, int) {} +// GoodSheperd +#include "GoodSheperd/src/plugin.hpp" + // GrandeModular #include "GrandeModular/src/plugin.hpp" @@ -595,8 +598,9 @@ Plugin* pluginInstance__FehlerFabrik; #ifdef WITH_FUNDAMENTAL Plugin* pluginInstance__Fundamental; #endif -Plugin* pluginInstance__GrandeModular; Plugin* pluginInstance__GlueTheGiant; +Plugin* pluginInstance__GoodSheperd; +Plugin* pluginInstance__GrandeModular; Plugin* pluginInstance__HamptonHarmonics; Plugin* pluginInstance__HetrickCV; extern Plugin* pluginInstance__ImpromptuModular; @@ -1466,6 +1470,23 @@ static void initStatic__GlueTheGiant() } } +static void initStatic__GoodSheperd() +{ + Plugin* const p = new Plugin; + pluginInstance__GoodSheperd = p; + + const StaticPluginLoader spl(p, "GoodSheperd"); + if (spl.ok()) + { + p->addModel(modelHurdle); + p->addModel(modelSEQ3st); + p->addModel(modelStable16); + p->addModel(modelStall); + p->addModel(modelSwitch1); + p->addModel(modelSeqtrol); + } +} + static void initStatic__GrandeModular() { Plugin* const p = new Plugin; @@ -2084,6 +2105,7 @@ void initStaticPlugins() initStatic__Fundamental(); #endif initStatic__GlueTheGiant(); + initStatic__GoodSheperd(); initStatic__GrandeModular(); initStatic__HamptonHarmonics(); initStatic__HetrickCV();