From 56c2fc2744eef4abaa0b12b00495a2295be72d6e Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 4 Dec 2021 23:12:03 +0000 Subject: [PATCH] Add ChowDSP Signed-off-by: falkTX --- .gitmodules | 3 +++ README.md | 1 + doc/LICENSES.md | 2 +- plugins/ChowDSP | 1 + plugins/Makefile | 22 +++++++++++++++++++++- plugins/plugins.cpp | 36 ++++++++++++++++++++++++++++++++++++ plugins/res/ChowDSP | 1 + plugins/todo.txt | 8 +------- 8 files changed, 65 insertions(+), 9 deletions(-) create mode 160000 plugins/ChowDSP create mode 120000 plugins/res/ChowDSP diff --git a/.gitmodules b/.gitmodules index aaa5a72..de806d4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -94,3 +94,6 @@ [submodule "plugins/Mog"] path = plugins/Mog url = https://github.com/CardinalModules/Mog-VCV.git +[submodule "plugins/ChowDSP"] + path = plugins/ChowDSP + url = https://github.com/jatinchowdhury18/ChowDSP-VCV.git diff --git a/README.md b/README.md index 6d9ddd1..2dab4e5 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ At the moment the following 3rd-party modules are provided: - Bidoo - Bogaudio - cf +- ChowDSP - DrumKit - E-Series - Fehler Fabrik diff --git a/doc/LICENSES.md b/doc/LICENSES.md index 539c8a3..1655ad7 100644 --- a/doc/LICENSES.md +++ b/doc/LICENSES.md @@ -23,7 +23,7 @@ Bellow follows a list of all code licenses used in Cardinal and linked submodule | Befaco | GPL-3.0-or-later | | | Bidoo | GPL-3.0-or-later | | | Bogaudio | GPL-3.0-or-later | | -| Cardinal | GPL-3.0-or-later | Internal Cardinal-only modules | +| ChowDSP | GPL-3.0-or-later | | | cf | BSD-3-Clause | | | DrumKit | CC0-1.0 | | | E-Series | GPL-3.0-or-later | | diff --git a/plugins/ChowDSP b/plugins/ChowDSP new file mode 160000 index 0000000..e1a20ac --- /dev/null +++ b/plugins/ChowDSP @@ -0,0 +1 @@ +Subproject commit e1a20acc0fe64ed42d7a91ddcdbdf12daa6ec6d3 diff --git a/plugins/Makefile b/plugins/Makefile index 6281409..9d4e4da 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -380,6 +380,14 @@ PLUGIN_FILES += $(wildcard BogaudioModules/src/dsp/filters/*.cpp) BOGAUDIO_CUSTOM = ADSR BlueNoiseGenerator LFO Noise VCA VCO VCF BOGAUDIO_CUSTOM_PER_FILE = ARQuantity AttackMenuItem ReleaseMenuItem +# -------------------------------------------------------------- +# ChowDSP + +PLUGIN_FILES += ChowDSP/src/plugin.cpp +PLUGIN_FILES += $(wildcard ChowDSP/src/*/*.cpp) +PLUGIN_FILES += $(wildcard ChowDSP/src/*/*/*.cpp) +PLUGIN_FILES += $(wildcard ChowDSP/lib/r8lib/*.cpp) + # -------------------------------------------------------------- # cf @@ -488,7 +496,7 @@ PLUGIN_FILES += $(filter-out rackwindows/src/plugin.cpp,$(wildcard rackwindows/s PLUGIN_FILES += $(filter-out repelzen/src/repelzen.cpp,$(wildcard repelzen/src/*.cpp)) # modules/types which are present in other plugins -REPELZEN_CUSTOM = Blank Mixer tanh_pade +REPELZEN_CUSTOM = Blank Mixer Werner tanh_pade # -------------------------------------------------------------- # sonusmodular @@ -907,6 +915,18 @@ $(BUILD_DIR)/cf/src/%.cpp.o: cf/src/%.cpp -DpluginInstance=pluginInstance__cf \ -Wno-misleading-indentation +$(BUILD_DIR)/ChowDSP/%.cpp.o: ChowDSP/%.cpp + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling $<" + $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ + $(foreach m,$(CHOWDSP_CUSTOM),$(call custom_module_names,$(m),ChowDSP)) \ + -DpluginInstance=pluginInstance__ChowDSP \ + -Dinit=init__ChowDSP \ + -DUSE_EIGEN \ + -IChowDSP/lib \ + -IChowDSP/lib/chowdsp_utils/DSP/WDF \ + -Wno-deprecated-copy + $(BUILD_DIR)/DrumKit/%.cpp.o: DrumKit/%.cpp -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" @echo "Compiling $<" diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index b1e0f26..657c780 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -224,6 +224,9 @@ extern Model *modelBlank; // cf #include "cf/src/plugin.hpp" +// ChowDSP +#include "ChowDSP/src/plugin.hpp" + // DrumKit #include "DrumKit/src/DrumKit.hpp" void setupSamples(); @@ -332,10 +335,12 @@ extern Model *modelMaude_221; // repelzen #define modelBlank modelrepelzenBlank #define modelMixer modelrepelzenMixer +#define modelWerner modelrepelzenWerner #define tanh_pade repelzentanh_pade #include "repelzen/src/repelzen.hpp" #undef modelBlank #undef modelMixer +#undef modelWerner #undef tanh_pade // sonusmodular @@ -379,6 +384,7 @@ Plugin* pluginInstance__Befaco; Plugin* pluginInstance__Bidoo; Plugin* pluginInstance__BogaudioModules; Plugin* pluginInstance__cf; +extern Plugin* pluginInstance__ChowDSP; extern Plugin* pluginInstance__DrumKit; Plugin* pluginInstance__ESeries; Plugin* pluginInstance__FehlerFabrik; @@ -1044,6 +1050,33 @@ static void initStatic__cf() } } +static void initStatic__ChowDSP() +{ + Plugin* const p = new Plugin; + pluginInstance__ChowDSP = p; + + const StaticPluginLoader spl(p, "ChowDSP"); + if (spl.ok()) + { + p->addModel(modelChowTape); + p->addModel(modelChowPhaserFeedback); + p->addModel(modelChowPhaserMod); + p->addModel(modelChowFDN); + p->addModel(modelChowRNN); + p->addModel(modelChowModal); + p->addModel(modelChowDer); + p->addModel(modelWarp); + p->addModel(modelWerner); + p->addModel(modelCredit); + p->addModel(modelChowPulse); + p->addModel(modelChowTapeCompression); + p->addModel(modelChowTapeChew); + p->addModel(modelChowTapeDegrade); + p->addModel(modelChowTapeLoss); + p->addModel(modelChowChorus); + } +} + static void initStatic__DrumKit() { Plugin* const p = new Plugin; @@ -1369,6 +1402,7 @@ static void initStatic__repelzen() { #define modelBlank modelrepelzenBlank #define modelMixer modelrepelzenMixer +#define modelWerner modelrepelzenWerner p->addModel(modelBlank); p->addModel(modelBurst); p->addModel(modelFolder); @@ -1377,6 +1411,7 @@ static void initStatic__repelzen() p->addModel(modelMixer); #undef modelBlank #undef modelMixer +#undef modelWerner } } @@ -1495,6 +1530,7 @@ void initStaticPlugins() initStatic__Bidoo(); initStatic__BogaudioModules(); initStatic__cf(); + initStatic__ChowDSP(); initStatic__DrumKit(); initStatic__ESeries(); initStatic__FehlerFabrik(); diff --git a/plugins/res/ChowDSP b/plugins/res/ChowDSP new file mode 120000 index 0000000..7867f93 --- /dev/null +++ b/plugins/res/ChowDSP @@ -0,0 +1 @@ +../ChowDSP/res \ No newline at end of file diff --git a/plugins/todo.txt b/plugins/todo.txt index c8074ce..18121f2 100644 --- a/plugins/todo.txt +++ b/plugins/todo.txt @@ -1,6 +1,6 @@ List of plugins still to add, sorted by popularity -- TODO, see list at https://github.com/VCVRack/library/tree/v1/repos +- TODO, see list at https://github.com/VCVRack/library/tree/v2/repos Grayscale 74754.0 (not opensource?) @@ -20,17 +20,11 @@ https://github.com/adbrant/ArableInstruments/ squinkylabs-plug1 48682.0 https://github.com/squinkylabs/SquinkyVCV -SonusModular 45245.0 -https://gitlab.com/sonusdept/sonusmodular - LindenbergResearch 43959.0 (not opensource?) Geodesics 42761.0 https://github.com/MarcBoule/Geodesics -BaconMusic 42095.0 -https://github.com/baconpaul/BaconPlugs/ - HetrickCV 42077.0 https://github.com/mhetrick/hetrickcv