diff --git a/.gitmodules b/.gitmodules index a0d45b5..6b08b75 100644 --- a/.gitmodules +++ b/.gitmodules @@ -85,3 +85,6 @@ [submodule "plugins/BaconPlugs"] path = plugins/BaconPlugs url = https://github.com/CardinalModules/BaconPlugs.git +[submodule "plugins/FehlerFabrik"] + path = plugins/FehlerFabrik + url = https://github.com/RCameron93/FehlerFabrik.git diff --git a/README.md b/README.md index 0e40247..ed1a2d3 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ At the moment the following 3rd-party modules are provided: - cf - DrumKit - E-Series +- Fehler Fabrik - Fundamental - Grande - Impromptu diff --git a/doc/LICENSES.md b/doc/LICENSES.md index 5fa3523..182e5d6 100644 --- a/doc/LICENSES.md +++ b/doc/LICENSES.md @@ -27,6 +27,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | cf | BSD-3-Clause | | | DrumKit | CC0-1.0 | | | E-Series | GPL-3.0-or-later | | +| Fehler Fabrik | GPL-3.0-or-later | | | Fundamental | GPL-3.0-or-later | | | Grande | GPL-3.0-or-later | | | Impromptu | GPL-3.0-or-later | | diff --git a/plugins/FehlerFabrik b/plugins/FehlerFabrik new file mode 160000 index 0000000..b6826be --- /dev/null +++ b/plugins/FehlerFabrik @@ -0,0 +1 @@ +Subproject commit b6826bed44433e0a4f6786a8b814fa59de00e68c diff --git a/plugins/Makefile b/plugins/Makefile index 290733d..aa432eb 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -402,6 +402,11 @@ DRUMKIT_CUSTOM = ADSR Envelope LowFrequencyOscillator PLUGIN_FILES += ESeries/src/E340.cpp +# -------------------------------------------------------------- +# FehlerFabrik + +PLUGIN_FILES += $(filter-out FehlerFabrik/src/plugin.cpp,$(wildcard FehlerFabrik/src/*.cpp)) + # -------------------------------------------------------------- # Fundamental @@ -905,6 +910,13 @@ $(BUILD_DIR)/ESeries/%.cpp.o: ESeries/%.cpp $(foreach m,$(ESERIES_CUSTOM),$(call custom_module_names,$(m),ESeries)) \ -DpluginInstance=pluginInstance__ESeries +$(BUILD_DIR)/FehlerFabrik/%.cpp.o: FehlerFabrik/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(FEHLERFABRIK_CUSTOM),$(call custom_module_names,$(m),FehlerFabrik)) \ + -DpluginInstance=pluginInstance__FehlerFabrik + $(BUILD_DIR)/Fundamental/%.c.o: Fundamental/%.c -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 12728a1..bdcbfe4 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -231,6 +231,9 @@ void setupSamples(); // ESeries #include "ESeries/src/plugin.hpp" +// FehlerFabrik +#include "FehlerFabrik/src/plugin.hpp" + // Fundamental #include "Fundamental/src/plugin.hpp" @@ -372,6 +375,7 @@ Plugin* pluginInstance__BogaudioModules; Plugin* pluginInstance__cf; extern Plugin* pluginInstance__DrumKit; Plugin* pluginInstance__ESeries; +Plugin* pluginInstance__FehlerFabrik; Plugin* pluginInstance__Fundamental; Plugin* pluginInstance__GrandeModular; extern Plugin* pluginInstance__ImpromptuModular; @@ -1068,6 +1072,30 @@ static void initStatic__ESeries() } } +static void initStatic__FehlerFabrik() +{ + Plugin* const p = new Plugin; + pluginInstance__FehlerFabrik = p; + + const StaticPluginLoader spl(p, "FehlerFabrik"); + if (spl.ok()) + { + p->addModel(modelPSIOP); + p->addModel(modelPlanck); + p->addModel(modelLuigi); + p->addModel(modelAspect); + p->addModel(modelMonte); + p->addModel(modelArpanet); + p->addModel(modelSigma); + p->addModel(modelFax); + p->addModel(modelRasoir); + p->addModel(modelChi); + p->addModel(modelNova); + p->addModel(modelLilt); + p->addModel(modelBotzinger); + } +} + static void initStatic__Fundamental() { Plugin* const p = new Plugin; @@ -1410,6 +1438,7 @@ void initStaticPlugins() initStatic__cf(); initStatic__DrumKit(); initStatic__ESeries(); + initStatic__FehlerFabrik(); initStatic__Fundamental(); initStatic__GrandeModular(); initStatic__ImpromptuModular();