This commit integrates the Venom plugin into Cardinal. This code is functionally equivalent to Venom 2.13.2 for VCV Rack. We are excluding the Venom MousePad module from Cardinal for now because it uses GLFW to access the keyboard, and this causes linker errors in the Cardinal CLAP plugin.pull/862/head
| @@ -263,3 +263,6 @@ | |||||
| [submodule "plugins/eightfold"] | [submodule "plugins/eightfold"] | ||||
| path = plugins/eightfold | path = plugins/eightfold | ||||
| url = https://github.com/scanner-darkly/eightfold.git | url = https://github.com/scanner-darkly/eightfold.git | ||||
| [submodule "plugins/Venom"] | |||||
| path = plugins/Venom | |||||
| url = https://github.com/DaveBenham/VenomModules | |||||
| @@ -196,6 +196,7 @@ At the moment the following 3rd-party modules are provided: | |||||
| - [Surge XT](https://github.com/surge-synthesizer/surge-rack) | - [Surge XT](https://github.com/surge-synthesizer/surge-rack) | ||||
| - [unless_modules](https://gitlab.com/unlessgames/unless_modules) | - [unless_modules](https://gitlab.com/unlessgames/unless_modules) | ||||
| - [Valley](https://github.com/ValleyAudio/ValleyRackFree) | - [Valley](https://github.com/ValleyAudio/ValleyRackFree) | ||||
| - [Venom](https://github.com/DaveBenham/VenomModules) | |||||
| - [Voxglitch](https://github.com/clone45/voxglitch) | - [Voxglitch](https://github.com/clone45/voxglitch) | ||||
| - [WhatTheRack](https://github.com/korfuri/WhatTheRack) | - [WhatTheRack](https://github.com/korfuri/WhatTheRack) | ||||
| - [WSTD-Drums](https://github.com/Wasted-Audio/WSTD-Drums) | - [WSTD-Drums](https://github.com/Wasted-Audio/WSTD-Drums) | ||||
| @@ -90,6 +90,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules | |||||
| | Surge XT | GPL-3.0-or-later | | | | Surge XT | GPL-3.0-or-later | | | ||||
| | unless_modules | GPL-3.0-or-later | | | | unless_modules | GPL-3.0-or-later | | | ||||
| | Valley | GPL-3.0-or-later | | | | Valley | GPL-3.0-or-later | | | ||||
| | Venom | GPL-3.0-or-later | | | |||||
| | Voxglitch | GPL-3.0-or-later | | | | Voxglitch | GPL-3.0-or-later | | | ||||
| | WSTD-Drums | CC0-1.0 | | | | WSTD-Drums | CC0-1.0 | | | ||||
| | WhatTheRack | WTFPL | | | | WhatTheRack | WTFPL | | | ||||
| @@ -266,6 +267,7 @@ Below is a list of artwork licenses from plugins | |||||
| | ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | | | | ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | | | ||||
| | ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | | | | ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | | | ||||
| | ValleyAudio/ShareTechMono-*.ttf | OFL-1.1-RFN | | | | ValleyAudio/ShareTechMono-*.ttf | OFL-1.1-RFN | | | ||||
| | Venom/* | GPL-3.0-or-later | No artwork specific license provided | | |||||
| | voxglitch/* | GPL-3.0-or-later | No artwork specific license provided | | | voxglitch/* | GPL-3.0-or-later | No artwork specific license provided | | ||||
| | voxglitch/ShareTechMono-Regular.ttf | OFL-1.1-RFN | | | | voxglitch/ShareTechMono-Regular.ttf | OFL-1.1-RFN | | | ||||
| | WhatTheRack/* | WTFPL | | | | WhatTheRack/* | WTFPL | | | ||||
| @@ -1310,6 +1310,11 @@ PLUGIN_BINARIES += ValleyAudio/src/XFADE.bin | |||||
| VALLEYAUDIO_CUSTOM = $(DRWAV) Chord DigitalDisplay | VALLEYAUDIO_CUSTOM = $(DRWAV) Chord DigitalDisplay | ||||
| VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob | VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob | ||||
| # -------------------------------------------------------------- | |||||
| # Venom | |||||
| PLUGIN_FILES += $(filter-out Venom/src/plugin.cpp Venom/src/MousePad.cpp,$(wildcard Venom/src/*.cpp)) | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Voxglitch | # Voxglitch | ||||
| @@ -2821,6 +2826,15 @@ $(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp | |||||
| -Wno-sign-compare \ | -Wno-sign-compare \ | ||||
| -Wno-unused-but-set-variable | -Wno-unused-but-set-variable | ||||
| $(BUILD_DIR)/Venom/%.cpp.o: Venom/%.cpp | |||||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||||
| @echo "Compiling $<" | |||||
| $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||||
| $(foreach m,$(VENOM_CUSTOM),$(call custom_module_names,$(m),Venom)) \ | |||||
| -DSKIP_MINGW_FORMAT \ | |||||
| -DpluginInstance=pluginInstance__Venom \ | |||||
| -lglfw | |||||
| $(BUILD_DIR)/voxglitch/%.cpp.o: voxglitch/%.cpp | $(BUILD_DIR)/voxglitch/%.cpp.o: voxglitch/%.cpp | ||||
| -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | ||||
| @echo "Compiling $<" | @echo "Compiling $<" | ||||
| @@ -0,0 +1 @@ | |||||
| Subproject commit 1dc0e0612b75fcf4849f28cb6e569e3b6f13981a | |||||
| @@ -894,6 +894,13 @@ void surgext_rack_update_theme(); | |||||
| // ValleyAudio | // ValleyAudio | ||||
| #include "ValleyAudio/src/Valley.hpp" | #include "ValleyAudio/src/Valley.hpp" | ||||
| // Venom | |||||
| #include "Venom/src/plugin.hpp" | |||||
| namespace Venom | |||||
| { | |||||
| void readDefaultThemes(); | |||||
| } | |||||
| // Voxglitch | // Voxglitch | ||||
| #define modelLooper modelVoxglitchLooper | #define modelLooper modelVoxglitchLooper | ||||
| #include "voxglitch/src/plugin.hpp" | #include "voxglitch/src/plugin.hpp" | ||||
| @@ -1013,6 +1020,7 @@ extern Plugin* pluginInstance__stoermelder_p1; | |||||
| Plugin* pluginInstance__surgext; | Plugin* pluginInstance__surgext; | ||||
| Plugin* pluginInstance__unless_modules; | Plugin* pluginInstance__unless_modules; | ||||
| Plugin* pluginInstance__ValleyAudio; | Plugin* pluginInstance__ValleyAudio; | ||||
| Plugin* pluginInstance__Venom; | |||||
| Plugin* pluginInstance__Voxglitch; | Plugin* pluginInstance__Voxglitch; | ||||
| Plugin* pluginInstance__WhatTheRack; | Plugin* pluginInstance__WhatTheRack; | ||||
| extern Plugin* pluginInstance__WSTD_Drums; | extern Plugin* pluginInstance__WSTD_Drums; | ||||
| @@ -3482,6 +3490,85 @@ static void initStatic__ValleyAudio() | |||||
| } | } | ||||
| } | } | ||||
| static void initStatic__Venom() | |||||
| { | |||||
| Plugin* const p = new Plugin; | |||||
| pluginInstance__Venom = p; | |||||
| const StaticPluginLoader spl(p, "Venom"); | |||||
| if (spl.ok()) | |||||
| { | |||||
| p->addModel(modelVenomAD_ASR); | |||||
| p->addModel(modelVenomAuxClone); | |||||
| p->addModel(modelVenomBayInput); | |||||
| p->addModel(modelVenomBayNorm); | |||||
| p->addModel(modelVenomBayOutput); | |||||
| p->addModel(modelVenomBenjolinOsc); | |||||
| p->addModel(modelVenomBenjolinGatesExpander); | |||||
| p->addModel(modelVenomBenjolinVoltsExpander); | |||||
| p->addModel(modelVenomBernoulliSwitch); | |||||
| p->addModel(modelVenomBernoulliSwitchExpander); | |||||
| p->addModel(modelVenomBlocker); | |||||
| p->addModel(modelVenomBypass); | |||||
| p->addModel(modelVenomCloneMerge); | |||||
| p->addModel(modelVenomCompare2); | |||||
| p->addModel(modelVenomCrossFade3D); | |||||
| p->addModel(modelVenomHQ); | |||||
| p->addModel(modelVenomKnob5); | |||||
| p->addModel(modelVenomLinearBeats); | |||||
| p->addModel(modelVenomLinearBeatsExpander); | |||||
| p->addModel(modelVenomLogic); | |||||
| p->addModel(modelVenomMix4); | |||||
| p->addModel(modelVenomMix4Stereo); | |||||
| p->addModel(modelVenomMixFade); | |||||
| p->addModel(modelVenomMixFade2); | |||||
| p->addModel(modelVenomMixMute); | |||||
| p->addModel(modelVenomMixOffset); | |||||
| p->addModel(modelVenomMixPan); | |||||
| p->addModel(modelVenomMixSend); | |||||
| p->addModel(modelVenomMixSolo); | |||||
| #if defined(VENOM_MOUSEPAD_CARDINAL) | |||||
| p->addModel(modelVenomMousePad); | |||||
| #else | |||||
| spl.removeModule("MousePad"); | |||||
| #endif | |||||
| p->addModel(modelVenomMultiMerge); | |||||
| p->addModel(modelVenomMultiSplit); | |||||
| p->addModel(modelVenomOscillator); | |||||
| p->addModel(modelVenomNORS_IQ); | |||||
| p->addModel(modelVenomNORSIQChord2Scale); | |||||
| p->addModel(modelVenomPan3D); | |||||
| p->addModel(modelVenomPolyClone); | |||||
| p->addModel(modelVenomPolyFade); | |||||
| p->addModel(modelVenomPolyOffset); | |||||
| p->addModel(modelVenomPolySHASR); | |||||
| p->addModel(modelVenomPolyScale); | |||||
| p->addModel(modelVenomPolyUnison); | |||||
| p->addModel(modelVenomPush5); | |||||
| p->addModel(modelVenomQuadVCPolarizer); | |||||
| p->addModel(modelVenomRecurse); | |||||
| p->addModel(modelVenomRecurseStereo); | |||||
| p->addModel(modelVenomReformation); | |||||
| p->addModel(modelVenomRhythmExplorer); | |||||
| p->addModel(modelVenomShapedVCA); | |||||
| p->addModel(modelVenomSlew); | |||||
| p->addModel(modelVenomSphereToXYZ); | |||||
| p->addModel(modelVenomThru); | |||||
| p->addModel(modelVenomVCAMix4); | |||||
| p->addModel(modelVenomVCAMix4Stereo); | |||||
| p->addModel(modelVenomVCOUnit); | |||||
| p->addModel(modelVenomBlank); | |||||
| p->addModel(modelVenomWaveFolder); | |||||
| p->addModel(modelVenomWaveMangler); | |||||
| p->addModel(modelVenomWaveMultiplier); | |||||
| p->addModel(modelVenomWidgetMenuExtender); | |||||
| p->addModel(modelVenomWinComp); | |||||
| p->addModel(modelVenomXM_OP); | |||||
| Venom::readDefaultThemes(); | |||||
| } | |||||
| } | |||||
| static void initStatic__Voxglitch() | static void initStatic__Voxglitch() | ||||
| { | { | ||||
| Plugin* p = new Plugin; | Plugin* p = new Plugin; | ||||
| @@ -3682,6 +3769,7 @@ void initStaticPlugins() | |||||
| initStatic__surgext(); | initStatic__surgext(); | ||||
| initStatic__unless_modules(); | initStatic__unless_modules(); | ||||
| initStatic__ValleyAudio(); | initStatic__ValleyAudio(); | ||||
| initStatic__Venom(); | |||||
| initStatic__Voxglitch(); | initStatic__Voxglitch(); | ||||
| initStatic__WhatTheRack(); | initStatic__WhatTheRack(); | ||||
| initStatic__WSTD_Drums(); | initStatic__WSTD_Drums(); | ||||