diff --git a/.gitmodules b/.gitmodules index 4784971..aaf6bba 100644 --- a/.gitmodules +++ b/.gitmodules @@ -142,3 +142,6 @@ [submodule "plugins/Axioma"] path = plugins/Axioma url = https://github.com/kauewerner/Axioma.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 67c78fa..a9a61a8 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ At the moment the following 3rd-party modules are provided: - Fehler Fabrik - Glue the Giant - Grande +- Hampton Harmonics - HetrickCV - ihtsyn - Impromptu diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 1b78018..cfb085a 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -34,6 +34,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Fehler Fabrik | GPL-3.0-or-later | | | Glue the Giant | GPL-3.0-or-later | | | Grande | GPL-3.0-or-later | | +| Hampton Harmonics | MIT | | | HetrickCV | CC0-1.0 | | | ihtsyn | GPL-3.0-or-later | | | Impromptu | GPL-3.0-or-later | | @@ -115,6 +116,8 @@ Below is a list of artwork licenses from plugins | GlueTheGiant/* | GPL-3.0-or-later | Same license as source code | | GlueTheGiant/fonts/DSEG7-* | OFL-1.1-RFN | | | GrandeModular/* | CC-BY-NC-ND-4.0 | | +| HamptonHarmonics/* | MIT | No artwork specific license provided | +| HamptonHarmonics/PixelOperator.ttf | CC0-1.0 | | | HetrickCV/* | CC0-1.0 | | | ihtsyn/* | GPL-3.0-or-later | [Same license as source code](https://github.com/nysthi/nysthi/issues/379#issuecomment-1027873902) | | ImpromptuModular/* | CC-BY-NC-ND-4.0 | | diff --git a/plugins/HamptonHarmonics b/plugins/HamptonHarmonics new file mode 160000 index 0000000..e5cf81f --- /dev/null +++ b/plugins/HamptonHarmonics @@ -0,0 +1 @@ +Subproject commit e5cf81f1c356fdc98fd08584146cda8af7e16b1f diff --git a/plugins/Makefile b/plugins/Makefile index a08a6b3..42b1aac 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -491,6 +491,11 @@ PLUGIN_FILES += $(filter-out GlueTheGiant/src/plugin.cpp,$(wildcard GlueTheGiant PLUGIN_FILES += $(filter-out GrandeModular/src/plugin.cpp,$(wildcard GrandeModular/src/*.cpp)) +# -------------------------------------------------------------- +# Hampton Harmonics + +PLUGIN_FILES += $(wildcard HamptonHarmonics/src/*.cpp) + # -------------------------------------------------------------- # HetrickCV @@ -1278,6 +1283,13 @@ $(BUILD_DIR)/GrandeModular/%.cpp.o: GrandeModular/%.cpp -Wno-missing-braces \ -Wno-self-assign +$(BUILD_DIR)/HamptonHarmonics/%.cpp.o: HamptonHarmonics/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(HAMPTONHARMONICS_CUSTOM),$(call custom_module_names,$(m),HamptonHarmonics)) \ + -DpluginInstance=pluginInstance__HamptonHarmonics + $(BUILD_DIR)/HetrickCV/%.cpp.o: HetrickCV/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index ac968a0..c61c87e 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -308,6 +308,11 @@ void saveGtgPluginDefault(const char*, int) {} // GrandeModular #include "GrandeModular/src/plugin.hpp" +// Hampton Harmonics +#define modelArp modelHamptonHarmonicsArp +#include "HamptonHarmonics/src/plugin.hpp" +#undef modelArp + // HetrickCV #define modelASR modelHetrickCVASR #define modelBlankPanel modelHetrickCVBlankPanel @@ -592,6 +597,7 @@ Plugin* pluginInstance__Fundamental; #endif Plugin* pluginInstance__GrandeModular; Plugin* pluginInstance__GlueTheGiant; +Plugin* pluginInstance__HamptonHarmonics; Plugin* pluginInstance__HetrickCV; extern Plugin* pluginInstance__ImpromptuModular; Plugin* pluginInstance__ihtsyn; @@ -1489,6 +1495,21 @@ static void initStatic__GrandeModular() } } +static void initStatic__HamptonHarmonics() +{ + Plugin* const p = new Plugin; + pluginInstance__HamptonHarmonics = p; + + const StaticPluginLoader spl(p, "HamptonHarmonics"); + if (spl.ok()) + { +#define modelArp modelHamptonHarmonicsArp + p->addModel(modelArp); + p->addModel(modelProgress); +#undef modelArp + } +} + static void initStatic__HetrickCV() { Plugin* const p = new Plugin; @@ -2064,6 +2085,7 @@ void initStaticPlugins() #endif initStatic__GlueTheGiant(); initStatic__GrandeModular(); + initStatic__HamptonHarmonics(); initStatic__HetrickCV(); initStatic__ImpromptuModular(); initStatic__ihtsyn();