Skip to content

Commit 8ff2b38

Browse files
authored
Add Venom plugin to Cardinal. (#862)
* Add Venom plugin to Cardinal. This commit integrates the Venom plugin into Cardinal. This code is functionally equivalent to Venom 2.13.2 for VCV Rack.
1 parent 0d56c57 commit 8ff2b38

6 files changed

Lines changed: 105 additions & 0 deletions

File tree

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,3 +263,6 @@
263263
[submodule "plugins/eightfold"]
264264
path = plugins/eightfold
265265
url = https://github.com/scanner-darkly/eightfold.git
266+
[submodule "plugins/Venom"]
267+
path = plugins/Venom
268+
url = https://github.com/DaveBenham/VenomModules

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ At the moment the following 3rd-party modules are provided:
196196
- [Surge XT](https://github.com/surge-synthesizer/surge-rack)
197197
- [unless_modules](https://gitlab.com/unlessgames/unless_modules)
198198
- [Valley](https://github.com/ValleyAudio/ValleyRackFree)
199+
- [Venom](https://github.com/DaveBenham/VenomModules)
199200
- [Voxglitch](https://github.com/clone45/voxglitch)
200201
- [WhatTheRack](https://github.com/korfuri/WhatTheRack)
201202
- [WSTD-Drums](https://github.com/Wasted-Audio/WSTD-Drums)

docs/LICENSES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ Below follows a list of all code licenses used in Cardinal and linked submodules
9090
| Surge XT | GPL-3.0-or-later | |
9191
| unless_modules | GPL-3.0-or-later | |
9292
| Valley | GPL-3.0-or-later | |
93+
| Venom | GPL-3.0-or-later | |
9394
| Voxglitch | GPL-3.0-or-later | |
9495
| WSTD-Drums | CC0-1.0 | |
9596
| WhatTheRack | WTFPL | |
@@ -266,6 +267,7 @@ Below is a list of artwork licenses from plugins
266267
| ValleyAudio/din1451alt.ttf | CC-BY-3.0-DE | |
267268
| ValleyAudio/DSEG14Classic-*.ttf | OFL-1.1-RFN | |
268269
| ValleyAudio/ShareTechMono-*.ttf | OFL-1.1-RFN | |
270+
| Venom/* | GPL-3.0-or-later | No artwork specific license provided |
269271
| voxglitch/* | GPL-3.0-or-later | No artwork specific license provided |
270272
| voxglitch/ShareTechMono-Regular.ttf | OFL-1.1-RFN | |
271273
| WhatTheRack/* | WTFPL | |

plugins/Makefile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1310,6 +1310,11 @@ PLUGIN_BINARIES += ValleyAudio/src/XFADE.bin
13101310
VALLEYAUDIO_CUSTOM = $(DRWAV) Chord DigitalDisplay
13111311
VALLEYAUDIO_CUSTOM_PER_FILE = TempoKnob
13121312

1313+
# --------------------------------------------------------------
1314+
# Venom
1315+
1316+
PLUGIN_FILES += $(filter-out Venom/src/plugin.cpp,$(wildcard Venom/src/*.cpp))
1317+
13131318
# --------------------------------------------------------------
13141319
# Voxglitch
13151320

@@ -2821,6 +2826,15 @@ $(BUILD_DIR)/ValleyAudio/%.cpp.o: ValleyAudio/%.cpp
28212826
-Wno-sign-compare \
28222827
-Wno-unused-but-set-variable
28232828

2829+
$(BUILD_DIR)/Venom/%.cpp.o: Venom/%.cpp
2830+
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
2831+
@echo "Compiling $<"
2832+
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \
2833+
$(foreach m,$(VENOM_CUSTOM),$(call custom_module_names,$(m),Venom)) \
2834+
-DSKIP_MINGW_FORMAT \
2835+
-DpluginInstance=pluginInstance__Venom \
2836+
-lglfw
2837+
28242838
$(BUILD_DIR)/voxglitch/%.cpp.o: voxglitch/%.cpp
28252839
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
28262840
@echo "Compiling $<"

plugins/Venom

Submodule Venom added at 1dc0e06

plugins/plugins.cpp

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,13 @@ void surgext_rack_update_theme();
894894
// ValleyAudio
895895
#include "ValleyAudio/src/Valley.hpp"
896896

897+
// Venom
898+
#include "Venom/src/plugin.hpp"
899+
namespace Venom
900+
{
901+
void readDefaultThemes();
902+
}
903+
897904
// Voxglitch
898905
#define modelLooper modelVoxglitchLooper
899906
#include "voxglitch/src/plugin.hpp"
@@ -1013,6 +1020,7 @@ extern Plugin* pluginInstance__stoermelder_p1;
10131020
Plugin* pluginInstance__surgext;
10141021
Plugin* pluginInstance__unless_modules;
10151022
Plugin* pluginInstance__ValleyAudio;
1023+
Plugin* pluginInstance__Venom;
10161024
Plugin* pluginInstance__Voxglitch;
10171025
Plugin* pluginInstance__WhatTheRack;
10181026
extern Plugin* pluginInstance__WSTD_Drums;
@@ -3482,6 +3490,81 @@ static void initStatic__ValleyAudio()
34823490
}
34833491
}
34843492

3493+
static void initStatic__Venom()
3494+
{
3495+
Plugin* const p = new Plugin;
3496+
pluginInstance__Venom = p;
3497+
3498+
const StaticPluginLoader spl(p, "Venom");
3499+
if (spl.ok())
3500+
{
3501+
p->addModel(modelVenomAD_ASR);
3502+
p->addModel(modelVenomAuxClone);
3503+
p->addModel(modelVenomBayInput);
3504+
p->addModel(modelVenomBayNorm);
3505+
p->addModel(modelVenomBayOutput);
3506+
p->addModel(modelVenomBenjolinOsc);
3507+
p->addModel(modelVenomBenjolinGatesExpander);
3508+
p->addModel(modelVenomBenjolinVoltsExpander);
3509+
p->addModel(modelVenomBernoulliSwitch);
3510+
p->addModel(modelVenomBernoulliSwitchExpander);
3511+
p->addModel(modelVenomBlocker);
3512+
p->addModel(modelVenomBypass);
3513+
p->addModel(modelVenomCloneMerge);
3514+
p->addModel(modelVenomCompare2);
3515+
p->addModel(modelVenomCrossFade3D);
3516+
p->addModel(modelVenomHQ);
3517+
p->addModel(modelVenomKnob5);
3518+
p->addModel(modelVenomLinearBeats);
3519+
p->addModel(modelVenomLinearBeatsExpander);
3520+
p->addModel(modelVenomLogic);
3521+
p->addModel(modelVenomMix4);
3522+
p->addModel(modelVenomMix4Stereo);
3523+
p->addModel(modelVenomMixFade);
3524+
p->addModel(modelVenomMixFade2);
3525+
p->addModel(modelVenomMixMute);
3526+
p->addModel(modelVenomMixOffset);
3527+
p->addModel(modelVenomMixPan);
3528+
p->addModel(modelVenomMixSend);
3529+
p->addModel(modelVenomMixSolo);
3530+
p->addModel(modelVenomMousePad);
3531+
p->addModel(modelVenomMultiMerge);
3532+
p->addModel(modelVenomMultiSplit);
3533+
p->addModel(modelVenomOscillator);
3534+
p->addModel(modelVenomNORS_IQ);
3535+
p->addModel(modelVenomNORSIQChord2Scale);
3536+
p->addModel(modelVenomPan3D);
3537+
p->addModel(modelVenomPolyClone);
3538+
p->addModel(modelVenomPolyFade);
3539+
p->addModel(modelVenomPolyOffset);
3540+
p->addModel(modelVenomPolySHASR);
3541+
p->addModel(modelVenomPolyScale);
3542+
p->addModel(modelVenomPolyUnison);
3543+
p->addModel(modelVenomPush5);
3544+
p->addModel(modelVenomQuadVCPolarizer);
3545+
p->addModel(modelVenomRecurse);
3546+
p->addModel(modelVenomRecurseStereo);
3547+
p->addModel(modelVenomReformation);
3548+
p->addModel(modelVenomRhythmExplorer);
3549+
p->addModel(modelVenomShapedVCA);
3550+
p->addModel(modelVenomSlew);
3551+
p->addModel(modelVenomSphereToXYZ);
3552+
p->addModel(modelVenomThru);
3553+
p->addModel(modelVenomVCAMix4);
3554+
p->addModel(modelVenomVCAMix4Stereo);
3555+
p->addModel(modelVenomVCOUnit);
3556+
p->addModel(modelVenomBlank);
3557+
p->addModel(modelVenomWaveFolder);
3558+
p->addModel(modelVenomWaveMangler);
3559+
p->addModel(modelVenomWaveMultiplier);
3560+
p->addModel(modelVenomWidgetMenuExtender);
3561+
p->addModel(modelVenomWinComp);
3562+
p->addModel(modelVenomXM_OP);
3563+
3564+
Venom::readDefaultThemes();
3565+
}
3566+
}
3567+
34853568
static void initStatic__Voxglitch()
34863569
{
34873570
Plugin* p = new Plugin;
@@ -3682,6 +3765,7 @@ void initStaticPlugins()
36823765
initStatic__surgext();
36833766
initStatic__unless_modules();
36843767
initStatic__ValleyAudio();
3768+
initStatic__Venom();
36853769
initStatic__Voxglitch();
36863770
initStatic__WhatTheRack();
36873771
initStatic__WSTD_Drums();

0 commit comments

Comments
 (0)