From 97f6eb6a1cc6d7e579d6fc68a7fec66b96d6d04d Mon Sep 17 00:00:00 2001 From: Ryan McGuire Date: Mon, 4 Sep 2023 01:18:55 -0600 Subject: [PATCH] Add EnigmaCurry (#573) * Build EnigmaCurry plugin * Add to docs/LICENSES.md * add back the bogaudio namespace for modelPulse - still seems necessary. * Revert "add back the bogaudio namespace for modelPulse - still seems necessary." This reverts commit 2b7c68cc45dd435093894aaf51590f40c58493f4. * Adds artwork and font license information and add to main README. --- .gitmodules | 3 +++ README.md | 1 + docs/LICENSES.md | 5 +++++ plugins/EnigmaCurry | 1 + plugins/Makefile | 15 +++++++++++++++ plugins/plugins.cpp | 25 +++++++++++++++++++++++++ 6 files changed, 50 insertions(+) create mode 160000 plugins/EnigmaCurry diff --git a/.gitmodules b/.gitmodules index cd1f6ca..7ea5657 100644 --- a/.gitmodules +++ b/.gitmodules @@ -230,3 +230,6 @@ [submodule "plugins/Cardinal/src/AIDA-X/RTNeural"] path = plugins/Cardinal/src/AIDA-X/RTNeural url = https://github.com/jatinchowdhury18/RTNeural.git +[submodule "plugins/EnigmaCurry"] + path = plugins/EnigmaCurry + url = https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack.git diff --git a/README.md b/README.md index acd92d5..e1380a8 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ At the moment the following 3rd-party modules are provided: - [ChowDSP](https://github.com/jatinchowdhury18/ChowDSP-VCV) - [dBiz](https://github.com/dBiz/dBiz) - [DrumKit](https://svmodular.com/plugin/vcv/drumkit.html) +- [EnigmaCurry](https://github.com/EnigmaCurry/EnigmaCurry-vcv-pack) - [E-Series](https://github.com/VCVRack/ESeries) - [ExpertSleepers Encoders](https://expert-sleepers.co.uk/vcvrack_encoders.html) - [Extratone](http://extratone.xyz/modules) diff --git a/docs/LICENSES.md b/docs/LICENSES.md index 971bf3e..9d85fa7 100644 --- a/docs/LICENSES.md +++ b/docs/LICENSES.md @@ -35,6 +35,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | ChowDSP | GPL-3.0-or-later | | | dBiz | GPL-3.0-or-later | | | DrumKit | CC0-1.0 | | +| EnigmaCurry | GPL-3.0-or-later | | | E-Series | GPL-3.0-or-later | | | ExpertSleepers Encoders | MIT | | | Extratone | GPL-3.0-or-later | | @@ -160,6 +161,10 @@ Below is a list of artwork licenses from plugins | dBiz/ShareTechMono-Regular.ttf | OFL-1.1 | | | DrumKit/* | CC0-1.0 | | | DrumKit/component/NovaMono.ttf | OFL-1.1-RFN | | +| EnigmaCurry/res/fonts/dseg/* | OFL-1.1-RFN | | +| EnigmaCurry/res/fonts/Fantasque/* | OFL-1.1 | | +| EnigmaCurry/res/fonts/manrope/* | OFL-1.1 | | +| EnigmaCurry/res/*.svg | CC0-1.0 | | | E-Series/* | Custom | Copyright © Synthesis Technology, [used and distributed with permission](LICENSE-PERMISSIONS.md#eseries-paul-schreiber--synthtech) | | ExpertSleepers-Encoders/* | MIT | [Same license as source code](https://github.com/expertsleepersltd/vcvrack-encoders/issues/3) | | Extratone/* | GPL-3.0-or-later | [Same license as source code](https://github.com/EaterOfSheep/Extratone/issues/7) | diff --git a/plugins/EnigmaCurry b/plugins/EnigmaCurry new file mode 160000 index 0000000..550b435 --- /dev/null +++ b/plugins/EnigmaCurry @@ -0,0 +1 @@ +Subproject commit 550b435575c550d829e8cabd97a430e39df836cc diff --git a/plugins/Makefile b/plugins/Makefile index 714bbce..b1ab7db 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -669,6 +669,13 @@ PLUGIN_FILES += $(wildcard DrumKit/deps/SynthDevKit/src/*.cpp) # modules/types which are present in other plugins DRUMKIT_CUSTOM = ADSR Envelope LowFrequencyOscillator +# -------------------------------------------------------------- +# EnigmaCurry + +PLUGIN_FILES += $(filter-out EnigmaCurry/src/plugin.cpp,$(wildcard EnigmaCurry/src/*.cpp)) +# modules/types which are present in other plugins +ENIGMACURRY_CUSTOM = Pulse + # -------------------------------------------------------------- # ESeries @@ -2216,6 +2223,14 @@ $(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp -Dinit=init__DrumKit \ -Wno-sign-compare +$(BUILD_DIR)/EnigmaCurry/src/%.cpp.o: EnigmaCurry/src/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(NOFINITE_FLAGS) -c -o $@ \ + $(foreach m,$(ENIGMACURRY_CUSTOM),$(call custom_module_names,$(m),EnigmaCurry)) \ + -DpluginInstance=pluginInstance__EnigmaCurry \ + -Wno-misleading-indentation + $(BUILD_DIR)/ESeries/%.cpp.o: ESeries/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index a8e50aa..962d34e 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -339,6 +339,11 @@ extern Model* modelTestVCF; #include "DrumKit/src/DrumKit.hpp" void setupSamples(); +// EnigmaCurry +#define modelPulse modelEnigmaCurryPulse +#include "EnigmaCurry/src/plugin.hpp" +#undef modelPulse + // ESeries #include "ESeries/src/plugin.hpp" @@ -816,6 +821,7 @@ Plugin* pluginInstance__cf; Plugin* pluginInstance__ChowDSP; Plugin* pluginInstance__dBiz; extern Plugin* pluginInstance__DrumKit; +Plugin* pluginInstance__EnigmaCurry; Plugin* pluginInstance__ESeries; Plugin* pluginInstance__ExpertSleepersEncoders; Plugin* pluginInstance__Extratone; @@ -1852,6 +1858,24 @@ static void initStatic__DrumKit() } } +static void initStatic__EnigmaCurry() +{ + Plugin* const p = new Plugin; + pluginInstance__EnigmaCurry = p; + + const StaticPluginLoader spl(p, "EnigmaCurry"); + if (spl.ok()) + { +#define modelPulse modelEnigmaCurryPulse + p->addModel(modelTransport); + p->addModel(modelLatch); + p->addModel(modelPulse); + p->addModel(modelRange); +#undef modelPulse + } +} + + static void initStatic__ESeries() { Plugin* const p = new Plugin; @@ -3077,6 +3101,7 @@ void initStaticPlugins() initStatic__ChowDSP(); initStatic__dBiz(); initStatic__DrumKit(); + initStatic__EnigmaCurry(); initStatic__ESeries(); initStatic__ExpertSleepersEncoders(); initStatic__Extratone();