From 494f6e76edef2368d637d15275be3d2f012c8e4b Mon Sep 17 00:00:00 2001 From: dreamer <1185977+dromer@users.noreply.github.com> Date: Thu, 24 Feb 2022 16:33:58 +0100 Subject: [PATCH] adding Axioma plugins (#165) --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Axioma | 1 + plugins/Makefile | 13 +++++++++++++ plugins/plugins.cpp | 20 ++++++++++++++++++++ 6 files changed, 40 insertions(+) create mode 160000 plugins/Axioma diff --git a/.gitmodules b/.gitmodules index e020097..4784971 100644 --- a/.gitmodules +++ b/.gitmodules @@ -139,3 +139,6 @@ [submodule "plugins/8Mode"] path = plugins/8Mode url = https://github.com/8Mode/8Mode-VCV_Modules.git +[submodule "plugins/Axioma"] + path = plugins/Axioma + url = https://github.com/kauewerner/Axioma.git diff --git a/README.md b/README.md index d9d07d8..67c78fa 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ At the moment the following 3rd-party modules are provided: - Aria Salvatrice - Audible Instruments - Autinn +- Axioma - Bacon Music - Befaco - Bidoo diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 5e939ef..1b78018 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -20,6 +20,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Aria Salvatrice | GPL-3.0-or-later | | | Audible Instruments | GPL-3.0-or-later | | | Autinn | GPL-3.0-or-later | | +| Axioma | GPL-3.0-or-later | | | Bacon Music | GPL-3.0-or-later | | | Befaco | GPL-3.0-or-later | | | Bidoo | GPL-3.0-or-later | | @@ -85,6 +86,7 @@ Below is a list of artwork licenses from plugins | AriaModules/signature/* | Custom | Removal required if modifying other files without author's permission | | AudibleInstruments/* | Custom | Copyright © Emilie Gillet, [used and distributed with permission](LICENSE-PERMISSIONS.md#audible-instruments-émilie-gillet--mutable-instruments) | | Autinn/* | GPL-3.0-or-later | No artwork specific license provided | +| Axioma/* | GPL-3.0-or-later | No artwork specific license provided | | BaconPlugs/* | GPL-3.0-or-later | No artwork specific license provided | | BaconPlugs/midi/* | CC-BY-SA-3.0-DE | | | BaconPlugs/midi/beeth/* | ??? | Unused in Cardinal, taken from http://www.jsbach.net/ | diff --git a/plugins/Axioma b/plugins/Axioma new file mode 160000 index 0000000..3e7e01e --- /dev/null +++ b/plugins/Axioma @@ -0,0 +1 @@ +Subproject commit 3e7e01e6a449dc1e6c523bd4487c0a3200b322cb diff --git a/plugins/Makefile b/plugins/Makefile index f6422cd..a08a6b3 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -375,6 +375,11 @@ PLUGIN_FILES += $(wildcard Autinn/src/*.cpp) AUTINN_CUSTOM = Chord Vibrato +# -------------------------------------------------------------- +# Axioma + +PLUGIN_FILES += $(wildcard Axioma/src/*.cpp) + # -------------------------------------------------------------- # BaconPlugs @@ -1113,6 +1118,14 @@ $(BUILD_DIR)/Autinn/%.cpp.o: Autinn/%.cpp -DpluginInstance=pluginInstance__Autinn \ -Dinit=init__Autinn + +$(BUILD_DIR)/Axioma/%.cpp.o: Axioma/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(AXIOMA_CUSTOM),$(call custom_module_names,$(m),Axioma)) \ + -DpluginInstance=pluginInstance__Axioma + $(BUILD_DIR)/BaconPlugs/%.cpp.o: BaconPlugs/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 07b0634..ac968a0 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -99,6 +99,9 @@ extern Model* modelChord; #undef modelChord #undef modelVibrato +// Axioma +#include "Axioma/src/plugin.hpp" + // BaconPlugs #define INCLUDE_COMPONENTS_HPP #include "BaconPlugs/src/BaconPlugs.hpp" @@ -572,6 +575,7 @@ Plugin* pluginInstance__AnimatedCircuits; Plugin* pluginInstance__Aria; Plugin* pluginInstance__AudibleInstruments; extern Plugin* pluginInstance__Autinn; +Plugin* pluginInstance__Axioma; Plugin* pluginInstance__Bacon; Plugin* pluginInstance__Befaco; Plugin* pluginInstance__Bidoo; @@ -927,6 +931,21 @@ static void initStatic__Autinn() } } +static void initStatic__Axioma() +{ + Plugin* const p = new Plugin; + pluginInstance__Axioma = p; + + const StaticPluginLoader spl(p, "Axioma"); + if (spl.ok()) + { + p->addModel(modelTheBifurcator); + p->addModel(modelTesseract); + p->addModel(modelIkeda); + p->addModel(modelRhodonea); + } +} + static void initStatic__Bacon() { Plugin* const p = new Plugin; @@ -2028,6 +2047,7 @@ void initStaticPlugins() initStatic__Aria(); initStatic__AudibleInstruments(); initStatic__Autinn(); + initStatic__Axioma(); initStatic__Bacon(); initStatic__Befaco(); initStatic__Bidoo();