Browse Source

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.

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
Don Cross 3 months ago
parent
commit
b99f7331ee
6 changed files with 109 additions and 0 deletions
  1. +3
    -0
      .gitmodules
  2. +1
    -0
      README.md
  3. +2
    -0
      docs/LICENSES.md
  4. +14
    -0
      plugins/Makefile
  5. +1
    -0
      plugins/Venom
  6. +88
    -0
      plugins/plugins.cpp

+ 3
- 0
.gitmodules View File

@@ -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

+ 1
- 0
README.md View File

@@ -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)


+ 2
- 0
docs/LICENSES.md View File

@@ -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 | |


+ 14
- 0
plugins/Makefile View File

@@ -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 $<"


+ 1
- 0
plugins/Venom

@@ -0,0 +1 @@
Subproject commit 1dc0e0612b75fcf4849f28cb6e569e3b6f13981a

+ 88
- 0
plugins/plugins.cpp View File

@@ -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();


Loading…
Cancel
Save