diff --git a/.gitmodules b/.gitmodules index 0f8b9daa..7503fc04 100644 --- a/.gitmodules +++ b/.gitmodules @@ -239,4 +239,7 @@ branch = v2.0.4 [submodule "plugins/CVfunk"] path = plugins/CVfunk - url = https://github.com/codygeary/CVfunk-Modules.git \ No newline at end of file + url = https://github.com/codygeary/CVfunk-Modules.git +[submodule "plugins/Sculpt-O-Sound"] + path = plugins/Sculpt-O-Sound + url = https://github.com/josbouten/Sculpt-O-Sound.git diff --git a/README.md b/README.md index 3692f536..b47716d0 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,7 @@ At the moment the following 3rd-party modules are provided: - [RebelTech](https://github.com/hemmer/rebel-tech-vcv) - [repelzen](https://github.com/wiqid/repelzen) - [Sapphire](https://github.com/cosinekitty/sapphire) +- [Sculpt-O-Sound](https://github.com/josbouten/Sculpt-O-Sound) - [Sonus Modular](https://gitlab.com/sonusdept/sonusmodular) - [stocaudio](https://github.com/aptrn/stocaudio-modules) - [Stoermelder Pack-One](https://github.com/stoermelder/vcvrack-packone) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index ba7ea2a1..5184aa0f 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -78,6 +78,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | repelzen | GPL-3.0-or-later | | | RebelTech | GPL-2.0-or-later | | | Sapphire | GPL-3.0-or-later | | +| Sculpt-O-Sound | 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 | | @@ -234,6 +235,10 @@ Below is a list of artwork licenses from plugins | repelzen/* | CC-BY-SA-4.0 | | | RebelTech/* | CC-BY-NC-4.0 | | | Sapphire/* | GPL-3.0-or-later | No artwork specific license provided | +| Sculpt-O-Sound/* | CC-BY-NC-ND 4.0 | | +| Sculpt-O-Sound/Segment7Standard.ttf | OFL-1.1-RFN | | +| Sculpt-O-Sound/mschack/* | MIT | | +| Sculpt-O-Sound/tresamigos/* | MIT | | | 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 f8d61167..06d9f8f6 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1006,6 +1006,13 @@ REPELZEN_CUSTOM = Blank Mixer Werner tanh_pade PLUGIN_FILES += $(filter-out Sapphire/src/plugin.cpp,$(wildcard Sapphire/src/*.cpp)) +# -------------------------------------------------------------- +# Sculpt-O-Sound + +PLUGIN_FILES += $(filter-out Sculpt-O-Sound/src/Sculpt-O-Sound.cpp,$(wildcard Sculpt-O-Sound/src/*.cpp)) + +SCULPT_O_SOUND_CUSTOM = LButton MySlider_01 Slider02_10x15 LedLight MsDisplayWidget + # -------------------------------------------------------------- # sonusmodular @@ -2638,6 +2645,13 @@ $(BUILD_DIR)/Sapphire/%.cpp.o: Sapphire/%.cpp $(foreach m,$(SAPPHIRE_CUSTOM),$(call custom_module_names,$(m),Sapphire)) \ -DpluginInstance=pluginInstance__sapphire +$(BUILD_DIR)/Sculpt-O-Sound/%.cpp.o: Sculpt-O-Sound/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(NOFINITE_FLAGS) -c -o $@ \ + $(foreach m,$(SCULPT_O_SOUND_CUSTOM),$(call custom_module_names,$(m),Sculpt_O_Sound)) \ + -DthePlugin=pluginInstance__Sculpt_O_Sound + $(BUILD_DIR)/sonusmodular/%.cpp.o: sonusmodular/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/Sculpt-O-Sound b/plugins/Sculpt-O-Sound new file mode 160000 index 00000000..9c25c5b7 --- /dev/null +++ b/plugins/Sculpt-O-Sound @@ -0,0 +1 @@ +Subproject commit 9c25c5b7196063d568d28d719a2cd99fa41e00a4 diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 4c8e50e3..68ef9f32 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -779,6 +779,11 @@ void addThemeMenuItems(Menu*, ModuleTheme*) {} // Sapphire #include "Sapphire/src/plugin.hpp" +// Sculpt-O-Sound +#define LedLight Sculpt_O_SoundLedLight +#include "Sculpt-O-Sound/src/Sculpt-O-Sound.hpp" +#undef LedLight + // sonusmodular #include "sonusmodular/src/sonusmodular.hpp" @@ -913,6 +918,7 @@ Plugin* pluginInstance__rackwindows; Plugin* pluginInstance__RebelTech; Plugin* pluginInstance__repelzen; Plugin* pluginInstance__sapphire; +Plugin* pluginInstance__Sculpt_O_Sound; Plugin* pluginInstance__sonusmodular; Plugin* pluginInstance__stocaudio; extern Plugin* pluginInstance__stoermelder_p1; @@ -2949,6 +2955,19 @@ static void initStatic__Sapphire() } } +static void initStatic__Sculpt_O_Sound() +{ + Plugin* const p = new Plugin; + pluginInstance__Sculpt_O_Sound = p; + + const StaticPluginLoader spl(p, "Sculpt-O-Sound"); + if (spl.ok()) + { + p->addModel(modelVocode_O_Matic_XL); + p->addModel(modelVocode_O_Matic); + } +} + static void initStatic__sonusmodular() { Plugin* const p = new Plugin; @@ -3328,6 +3347,7 @@ void initStaticPlugins() initStatic__RebelTech(); initStatic__repelzen(); initStatic__Sapphire(); + initStatic__Sculpt_O_Sound(); initStatic__sonusmodular(); initStatic__stocaudio(); initStatic__stoermelder_p1();