From 1876ad99f9b90d5919d8416d94bef2bc81971d66 Mon Sep 17 00:00:00 2001 From: Don Cross Date: Tue, 6 Dec 2022 18:54:17 -0500 Subject: [PATCH] Adding plugin Sapphire, modules Elastika, Moots. --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 2 ++ plugins/Makefile | 12 ++++++++++++ plugins/Sapphire | 1 + plugins/plugins.cpp | 18 ++++++++++++++++++ 6 files changed, 37 insertions(+) create mode 160000 plugins/Sapphire diff --git a/.gitmodules b/.gitmodules index 93da739..9c81337 100644 --- a/.gitmodules +++ b/.gitmodules @@ -227,3 +227,6 @@ [submodule "plugins/surgext"] path = plugins/surgext url = https://github.com/surge-synthesizer/surge-rack.git +[submodule "plugins/Sapphire"] + path = plugins/Sapphire + url = https://github.com/cosinekitty/sapphire.git diff --git a/README.md b/README.md index 9e30ce0..48461f2 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ At the moment the following 3rd-party modules are provided: - rackwindows - RebelTech - repelzen +- Sapphire - Sonus Modular - stocaudio - Stoermelder Pack-One diff --git a/docs/LICENSES.md b/docs/LICENSES.md index f191378..cb6501e 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -73,6 +73,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Rackwindows | MIT | | | repelzen | GPL-3.0-or-later | | | RebelTech | GPL-2.0-or-later | | +| Sapphire | GPL-3.0-or-later | | | Sonus Modular | GPL-3.0-or-later | | | stocaudio | GPL-3.0-or-later | | | Stoermelder Pack-One | GPL-3.0-or-later | | @@ -212,6 +213,7 @@ Below is a list of artwork licenses from plugins | Rackwindows/* | MIT | [Same license as source code](https://github.com/n0jo/rackwindows/issues/15) | | repelzen/* | CC-BY-SA-4.0 | | | RebelTech/* | CC-BY-NC-4.0 | | +| Sapphire/* | GPL-3.0-or-later | No artwork specific license provided | | sonusmodular/* | GPL-3.0-or-later | [Same license as source code](https://gitlab.com/sonusdept/sonusmodular/-/issues/14) | | stocaudio/* | GPL-3.0-or-later | No artwork specific license provided | | stoermelder-packone/* | GPL-3.0-or-later | No artwork specific license provided | diff --git a/plugins/Makefile b/plugins/Makefile index c453208..9c08858 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -892,6 +892,11 @@ PLUGIN_FILES += $(filter-out repelzen/src/repelzen.cpp,$(wildcard repelzen/src/* # modules/types which are present in other plugins REPELZEN_CUSTOM = Blank Mixer Werner tanh_pade +# -------------------------------------------------------------- +# Sapphire + +PLUGIN_FILES += $(filter-out Sapphire/src/plugin.cpp,$(wildcard Sapphire/src/*.cpp)) + # -------------------------------------------------------------- # sonusmodular @@ -2113,6 +2118,13 @@ $(BUILD_DIR)/repelzen/%.cpp.o: repelzen/%.cpp $(foreach m,$(REPELZEN_CUSTOM),$(call custom_module_names,$(m),repelzen)) \ -DpluginInstance=pluginInstance__repelzen +$(BUILD_DIR)/Sapphire/%.cpp.o: Sapphire/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(SAPPHIRE_CUSTOM),$(call custom_module_names,$(m),Sapphire)) \ + -DpluginInstance=pluginInstance__sapphire + $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/Sapphire b/plugins/Sapphire new file mode 160000 index 0000000..07a07e1 --- /dev/null +++ b/plugins/Sapphire @@ -0,0 +1 @@ +Subproject commit 07a07e1d599495bb1c4b17575a7d19a1bfa51c0f diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 2fcef45..fd7571b 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -716,6 +716,9 @@ void addThemeMenuItems(Menu*, ModuleTheme*) {} #undef modelWerner #undef tanh_pade +// Sapphire +#include "Sapphire/src/plugin.hpp" + // sonusmodular #include "sonusmodular/src/sonusmodular.hpp" @@ -850,6 +853,7 @@ Plugin* pluginInstance__Prism; Plugin* pluginInstance__rackwindows; Plugin* pluginInstance__RebelTech; Plugin* pluginInstance__repelzen; +Plugin* pluginInstance__sapphire; Plugin* pluginInstance__sonusmodular; Plugin* pluginInstance__stocaudio; extern Plugin* pluginInstance__stoermelder_p1; @@ -2729,6 +2733,19 @@ static void initStatic__repelzen() } } +static void initStatic__Sapphire() +{ + Plugin* const p = new Plugin; + pluginInstance__sapphire = p; + + const StaticPluginLoader spl(p, "Sapphire"); + if (spl.ok()) + { + p->addModel(modelElastika); + p->addModel(modelMoots); + } +} + static void initStatic__sonusmodular() { Plugin* const p = new Plugin; @@ -3100,6 +3117,7 @@ void initStaticPlugins() initStatic__rackwindows(); initStatic__RebelTech(); initStatic__repelzen(); + initStatic__Sapphire(); initStatic__sonusmodular(); initStatic__stocaudio(); initStatic__stoermelder_p1();