From 7881b2698cee2b0187adbe8a2c0a66a90cc371c1 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 3 Apr 2021 15:07:02 +0200 Subject: Add more plugins, Console5Buss to curve --- plugins/LV2/CMakeLists.txt | 18 +- plugins/LV2/manifest.ttl.in | 63 +++++++ plugins/LV2/src/CStrip/CStrip.cpp | 184 +++++++++++++++++++++ plugins/LV2/src/CStrip/CStrip.h | 181 ++++++++++++++++++++ plugins/LV2/src/CStrip/CStrip.ttl | 132 +++++++++++++++ plugins/LV2/src/CStrip/manifest.ttl.in | 6 + plugins/LV2/src/Console5Buss/Console5Buss.cpp | 42 +++++ plugins/LV2/src/Console5Buss/Console5Buss.h | 43 +++++ plugins/LV2/src/Console5Buss/Console5Buss.ttl | 44 +++++ plugins/LV2/src/Console5Buss/manifest.ttl.in | 6 + .../LV2/src/Console5Channel/Console5Channel.cpp | 42 +++++ plugins/LV2/src/Console5Channel/Console5Channel.h | 43 +++++ .../LV2/src/Console5Channel/Console5Channel.ttl | 44 +++++ plugins/LV2/src/Console5Channel/manifest.ttl.in | 6 + plugins/LV2/src/Console5DarkCh/Console5DarkCh.cpp | 42 +++++ plugins/LV2/src/Console5DarkCh/Console5DarkCh.h | 43 +++++ plugins/LV2/src/Console5DarkCh/Console5DarkCh.ttl | 44 +++++ plugins/LV2/src/Console5DarkCh/manifest.ttl.in | 6 + plugins/LV2/src/Console6Buss/Console6Buss.cpp | 32 ++++ plugins/LV2/src/Console6Buss/Console6Buss.h | 34 ++++ plugins/LV2/src/Console6Buss/Console6Buss.ttl | 44 +++++ plugins/LV2/src/Console6Buss/manifest.ttl.in | 6 + .../LV2/src/Console6Channel/Console6Channel.cpp | 32 ++++ plugins/LV2/src/Console6Channel/Console6Channel.h | 34 ++++ .../LV2/src/Console6Channel/Console6Channel.ttl | 44 +++++ plugins/LV2/src/Console6Channel/manifest.ttl.in | 6 + .../src/CrunchyGrooveWear/CrunchyGrooveWear.cpp | 57 +++++++ .../LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.h | 55 ++++++ .../src/CrunchyGrooveWear/CrunchyGrooveWear.ttl | 52 ++++++ plugins/LV2/src/CrunchyGrooveWear/manifest.ttl.in | 6 + plugins/LV2/src/Crystal/Crystal.cpp | 42 +++++ plugins/LV2/src/Crystal/Crystal.h | 43 +++++ plugins/LV2/src/Crystal/Crystal.ttl | 68 ++++++++ plugins/LV2/src/Crystal/manifest.ttl.in | 6 + plugins/LV2/src/curve/curve.cpp | 32 ++++ plugins/LV2/src/curve/curve.h | 32 ++++ plugins/LV2/src/curve/curve.ttl | 38 +++++ plugins/LV2/src/curve/manifest.ttl.in | 6 + 38 files changed, 1649 insertions(+), 9 deletions(-) create mode 100644 plugins/LV2/src/CStrip/CStrip.cpp create mode 100644 plugins/LV2/src/CStrip/CStrip.h create mode 100644 plugins/LV2/src/CStrip/CStrip.ttl create mode 100644 plugins/LV2/src/CStrip/manifest.ttl.in create mode 100644 plugins/LV2/src/Console5Buss/Console5Buss.cpp create mode 100644 plugins/LV2/src/Console5Buss/Console5Buss.h create mode 100644 plugins/LV2/src/Console5Buss/Console5Buss.ttl create mode 100644 plugins/LV2/src/Console5Buss/manifest.ttl.in create mode 100644 plugins/LV2/src/Console5Channel/Console5Channel.cpp create mode 100644 plugins/LV2/src/Console5Channel/Console5Channel.h create mode 100644 plugins/LV2/src/Console5Channel/Console5Channel.ttl create mode 100644 plugins/LV2/src/Console5Channel/manifest.ttl.in create mode 100644 plugins/LV2/src/Console5DarkCh/Console5DarkCh.cpp create mode 100644 plugins/LV2/src/Console5DarkCh/Console5DarkCh.h create mode 100644 plugins/LV2/src/Console5DarkCh/Console5DarkCh.ttl create mode 100644 plugins/LV2/src/Console5DarkCh/manifest.ttl.in create mode 100644 plugins/LV2/src/Console6Buss/Console6Buss.cpp create mode 100644 plugins/LV2/src/Console6Buss/Console6Buss.h create mode 100644 plugins/LV2/src/Console6Buss/Console6Buss.ttl create mode 100644 plugins/LV2/src/Console6Buss/manifest.ttl.in create mode 100644 plugins/LV2/src/Console6Channel/Console6Channel.cpp create mode 100644 plugins/LV2/src/Console6Channel/Console6Channel.h create mode 100644 plugins/LV2/src/Console6Channel/Console6Channel.ttl create mode 100644 plugins/LV2/src/Console6Channel/manifest.ttl.in create mode 100644 plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.cpp create mode 100644 plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.h create mode 100644 plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.ttl create mode 100644 plugins/LV2/src/CrunchyGrooveWear/manifest.ttl.in create mode 100644 plugins/LV2/src/Crystal/Crystal.cpp create mode 100644 plugins/LV2/src/Crystal/Crystal.h create mode 100644 plugins/LV2/src/Crystal/Crystal.ttl create mode 100644 plugins/LV2/src/Crystal/manifest.ttl.in create mode 100644 plugins/LV2/src/curve/curve.cpp create mode 100644 plugins/LV2/src/curve/curve.h create mode 100644 plugins/LV2/src/curve/curve.ttl create mode 100644 plugins/LV2/src/curve/manifest.ttl.in diff --git a/plugins/LV2/CMakeLists.txt b/plugins/LV2/CMakeLists.txt index 565c0a7..c2a9cdb 100755 --- a/plugins/LV2/CMakeLists.txt +++ b/plugins/LV2/CMakeLists.txt @@ -59,15 +59,15 @@ add_airwindows_plugin(Cojones) add_airwindows_plugin(Compresaturator) # add_airwindows_plugin(Console4Buss) # add_airwindows_plugin(Console4Channel) -# add_airwindows_plugin(Console5Buss) -# add_airwindows_plugin(Console5Channel) -# add_airwindows_plugin(Console5DarkCh) -# add_airwindows_plugin(Console6Buss) -# add_airwindows_plugin(Console6Channel) -# add_airwindows_plugin(CrunchyGrooveWear) -# add_airwindows_plugin(Crystal) -# add_airwindows_plugin(CStrip) -# add_airwindows_plugin(curve) +add_airwindows_plugin(Console5Buss) +add_airwindows_plugin(Console5Channel) +add_airwindows_plugin(Console5DarkCh) +add_airwindows_plugin(Console6Buss) +add_airwindows_plugin(Console6Channel) +add_airwindows_plugin(CrunchyGrooveWear) +add_airwindows_plugin(Crystal) +add_airwindows_plugin(CStrip) +add_airwindows_plugin(curve) # add_airwindows_plugin(Dark) # add_airwindows_plugin(DCVoltage) # add_airwindows_plugin(Deckwrecka) diff --git a/plugins/LV2/manifest.ttl.in b/plugins/LV2/manifest.ttl.in index 7179adf..521a596 100644 --- a/plugins/LV2/manifest.ttl.in +++ b/plugins/LV2/manifest.ttl.in @@ -332,3 +332,66 @@ airwindows:compresaturator doap:license ; lv2:binary ; rdfs:seeAlso . + +airwindows:cstrip + a lv2:Plugin ; + doap:name "Airwindows CStrip" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:console5buss + a lv2:Plugin ; + doap:name "Airwindows Console5Buss" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:console5channel + a lv2:Plugin ; + doap:name "Airwindows Console5Channel" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:console5darkch + a lv2:Plugin ; + doap:name "Airwindows Console5DarkCh" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:console6buss + a lv2:Plugin ; + doap:name "Airwindows Console6Buss" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:console6channel + a lv2:Plugin ; + doap:name "Airwindows Console6Channel" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:crunchygroovewear + a lv2:Plugin ; + doap:name "Airwindows CrunchyGrooveWear" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:crystal + a lv2:Plugin ; + doap:name "Airwindows Crystal" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . + +airwindows:curve + a lv2:Plugin ; + doap:name "Airwindows curve" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/CStrip/CStrip.cpp b/plugins/LV2/src/CStrip/CStrip.cpp new file mode 100644 index 0000000..7e00208 --- /dev/null +++ b/plugins/LV2/src/CStrip/CStrip.cpp @@ -0,0 +1,184 @@ +#include "CStrip.h" +#include +#include + +CStrip::CStrip(double rate) + : LV2Plugin(rate) +{ +} + +void CStrip::activate() +{ + A = 0.5; //Treble -12 to 12 + B = 0.5; //Mid -12 to 12 + C = 0.5; //Bass -12 to 12 + D = 1.0; //Lowpass 16.0K log 1 to 16 defaulting to 16K + E = 0.4; //TrebFrq 6.0 log 1 to 16 defaulting to 6K + F = 0.4; //BassFrq 100.0 log 30 to 1600 defaulting to 100 hz + G = 0.0; //Hipass 30.0 log 30 to 1600 defaulting to 30 + H = 0.0; //Gate 0-1 + I = 0.0; //Compres 0-1 + J = 0.0; //CompSpd 0-1 + K = 0.0; //TimeLag 0-1 + L = 0.5; //OutGain -18 to 18 + + lastSampleL = 0.0; + last2SampleL = 0.0; + lastSampleR = 0.0; + last2SampleR = 0.0; + + iirHighSampleLA = 0.0; + iirHighSampleLB = 0.0; + iirHighSampleLC = 0.0; + iirHighSampleLD = 0.0; + iirHighSampleLE = 0.0; + iirLowSampleLA = 0.0; + iirLowSampleLB = 0.0; + iirLowSampleLC = 0.0; + iirLowSampleLD = 0.0; + iirLowSampleLE = 0.0; + iirHighSampleL = 0.0; + iirLowSampleL = 0.0; + + iirHighSampleRA = 0.0; + iirHighSampleRB = 0.0; + iirHighSampleRC = 0.0; + iirHighSampleRD = 0.0; + iirHighSampleRE = 0.0; + iirLowSampleRA = 0.0; + iirLowSampleRB = 0.0; + iirLowSampleRC = 0.0; + iirLowSampleRD = 0.0; + iirLowSampleRE = 0.0; + iirHighSampleR = 0.0; + iirLowSampleR = 0.0; + + tripletLA = 0.0; + tripletLB = 0.0; + tripletLC = 0.0; + tripletFactorL = 0.0; + + tripletRA = 0.0; + tripletRB = 0.0; + tripletRC = 0.0; + tripletFactorR = 0.0; + + lowpassSampleLAA = 0.0; + lowpassSampleLAB = 0.0; + lowpassSampleLBA = 0.0; + lowpassSampleLBB = 0.0; + lowpassSampleLCA = 0.0; + lowpassSampleLCB = 0.0; + lowpassSampleLDA = 0.0; + lowpassSampleLDB = 0.0; + lowpassSampleLE = 0.0; + lowpassSampleLF = 0.0; + lowpassSampleLG = 0.0; + + lowpassSampleRAA = 0.0; + lowpassSampleRAB = 0.0; + lowpassSampleRBA = 0.0; + lowpassSampleRBB = 0.0; + lowpassSampleRCA = 0.0; + lowpassSampleRCB = 0.0; + lowpassSampleRDA = 0.0; + lowpassSampleRDB = 0.0; + lowpassSampleRE = 0.0; + lowpassSampleRF = 0.0; + lowpassSampleRG = 0.0; + + highpassSampleLAA = 0.0; + highpassSampleLAB = 0.0; + highpassSampleLBA = 0.0; + highpassSampleLBB = 0.0; + highpassSampleLCA = 0.0; + highpassSampleLCB = 0.0; + highpassSampleLDA = 0.0; + highpassSampleLDB = 0.0; + highpassSampleLE = 0.0; + highpassSampleLF = 0.0; + + highpassSampleRAA = 0.0; + highpassSampleRAB = 0.0; + highpassSampleRBA = 0.0; + highpassSampleRBB = 0.0; + highpassSampleRCA = 0.0; + highpassSampleRCB = 0.0; + highpassSampleRDA = 0.0; + highpassSampleRDB = 0.0; + highpassSampleRE = 0.0; + highpassSampleRF = 0.0; + + flip = false; + flipthree = 0; + //end EQ + + //begin Gate + WasNegativeL = false; + ZeroCrossL = 0; + gaterollerL = 0.0; + gateL = 0.0; + + WasNegativeR = false; + ZeroCrossR = 0; + gaterollerR = 0.0; + gateR = 0.0; + //end Gate + + //begin Timing + for(int fcount = 0; fcount < 4098; fcount++) {pL[fcount] = 0.0; pR[fcount] = 0.0;} + count = 0; + //end Timing + + //begin ButterComp + controlAposL = 1.0; + controlAnegL = 1.0; + controlBposL = 1.0; + controlBnegL = 1.0; + targetposL = 1.0; + targetnegL = 1.0; + avgLA = avgLB = 0.0; + nvgLA = nvgLB = 0.0; + + controlAposR = 1.0; + controlAnegR = 1.0; + controlBposR = 1.0; + controlBnegR = 1.0; + targetposR = 1.0; + targetnegR = 1.0; + avgRA = avgRB = 0.0; + nvgRA = nvgRB = 0.0; + //end ButterComp + + fpNShapeL = 0.0; + fpNShapeR = 0.0; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void CStrip::run(uint32_t num_samples) +{ + A = *params[0]; + B = *params[1]; + C = *params[2]; + D = *params[3]; + E = *params[4]; + F = *params[5]; + G = *params[6]; + H = *params[7]; + I = *params[8]; + J = *params[9]; + K = *params[10]; + L = *params[11]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/CStrip/CStripProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/CStrip/CStrip.h b/plugins/LV2/src/CStrip/CStrip.h new file mode 100644 index 0000000..548a6ea --- /dev/null +++ b/plugins/LV2/src/CStrip/CStrip.h @@ -0,0 +1,181 @@ +#ifndef __CStrip_H +#define __CStrip_H + +#include + +class CStrip : public LV2Plugin<12> { +public: + CStrip(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/cstrip"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + double lastSampleL; + double last2SampleL; + double lastSampleR; + double last2SampleR; + + //begin EQ + double iirHighSampleLA; + double iirHighSampleLB; + double iirHighSampleLC; + double iirHighSampleLD; + double iirHighSampleLE; + double iirLowSampleLA; + double iirLowSampleLB; + double iirLowSampleLC; + double iirLowSampleLD; + double iirLowSampleLE; + double iirHighSampleL; + double iirLowSampleL; + + double iirHighSampleRA; + double iirHighSampleRB; + double iirHighSampleRC; + double iirHighSampleRD; + double iirHighSampleRE; + double iirLowSampleRA; + double iirLowSampleRB; + double iirLowSampleRC; + double iirLowSampleRD; + double iirLowSampleRE; + double iirHighSampleR; + double iirLowSampleR; + + double tripletLA; + double tripletLB; + double tripletLC; + double tripletFactorL; + + double tripletRA; + double tripletRB; + double tripletRC; + double tripletFactorR; + + double lowpassSampleLAA; + double lowpassSampleLAB; + double lowpassSampleLBA; + double lowpassSampleLBB; + double lowpassSampleLCA; + double lowpassSampleLCB; + double lowpassSampleLDA; + double lowpassSampleLDB; + double lowpassSampleLE; + double lowpassSampleLF; + double lowpassSampleLG; + + double lowpassSampleRAA; + double lowpassSampleRAB; + double lowpassSampleRBA; + double lowpassSampleRBB; + double lowpassSampleRCA; + double lowpassSampleRCB; + double lowpassSampleRDA; + double lowpassSampleRDB; + double lowpassSampleRE; + double lowpassSampleRF; + double lowpassSampleRG; + + double highpassSampleLAA; + double highpassSampleLAB; + double highpassSampleLBA; + double highpassSampleLBB; + double highpassSampleLCA; + double highpassSampleLCB; + double highpassSampleLDA; + double highpassSampleLDB; + double highpassSampleLE; + double highpassSampleLF; + + double highpassSampleRAA; + double highpassSampleRAB; + double highpassSampleRBA; + double highpassSampleRBB; + double highpassSampleRCA; + double highpassSampleRCB; + double highpassSampleRDA; + double highpassSampleRDB; + double highpassSampleRE; + double highpassSampleRF; + + bool flip; + int flipthree; + //end EQ + + //begin Gate + bool WasNegativeL; + int ZeroCrossL; + double gaterollerL; + double gateL; + + bool WasNegativeR; + int ZeroCrossR; + double gaterollerR; + double gateR; + //end Gate + + //begin Timing + double pL[4099]; + double pR[4099]; + int count; + //end Timing + + //begin ButterComp + double controlAposL; + double controlAnegL; + double controlBposL; + double controlBnegL; + double targetposL; + double targetnegL; + double avgLA; + double avgLB; + double nvgLA; + double nvgLB; + + double controlAposR; + double controlAnegR; + double controlBposR; + double controlBnegR; + double targetposR; + double targetnegR; + double avgRA; + double avgRB; + double nvgRA; + double nvgRB; + //end ButterComp + //flip is already covered in EQ + + float A; + float B; + float C; + float D; + float E; + float F; + float G; + float H; + float I; + float J; + float K; + float L; + +}; + +#endif diff --git a/plugins/LV2/src/CStrip/CStrip.ttl b/plugins/LV2/src/CStrip/CStrip.ttl new file mode 100644 index 0000000..6d04848 --- /dev/null +++ b/plugins/LV2/src/CStrip/CStrip.ttl @@ -0,0 +1,132 @@ +# Airwindows CStrip plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Treble" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 1 ; + lv2:symbol "B" ; + lv2:name "Mid" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 2 ; + lv2:symbol "C" ; + lv2:name "Bass" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 3 ; + lv2:symbol "D" ; + lv2:name "Lowpass" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 4 ; + lv2:symbol "E" ; + lv2:name "TrebFrq" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 5 ; + lv2:symbol "F" ; + lv2:name "BassFrq" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 6 ; + lv2:symbol "G" ; + lv2:name "Hipass" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 7 ; + lv2:symbol "H" ; + lv2:name "Gate" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 8 ; + lv2:symbol "I" ; + lv2:name "Compres" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 9 ; + lv2:symbol "J" ; + lv2:name "CompSpd" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 10 ; + lv2:symbol "K" ; + lv2:name "TimeLag" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 11 ; + lv2:symbol "L" ; + lv2:name "OutGain" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 12 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 13 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 14 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 15 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/CStrip/manifest.ttl.in b/plugins/LV2/src/CStrip/manifest.ttl.in new file mode 100644 index 0000000..7733752 --- /dev/null +++ b/plugins/LV2/src/CStrip/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:cstrip + a lv2:Plugin ; + doap:name "Airwindows CStrip" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/Console5Buss/Console5Buss.cpp b/plugins/LV2/src/Console5Buss/Console5Buss.cpp new file mode 100644 index 0000000..cf29ff1 --- /dev/null +++ b/plugins/LV2/src/Console5Buss/Console5Buss.cpp @@ -0,0 +1,42 @@ +#include "Console5Buss.h" +#include +#include + +Console5Buss::Console5Buss(double rate) + : LV2Plugin(rate) +{ +} + +void Console5Buss::activate() +{ + A = 1.0; + lastSampleBussL = 0.0; + lastSampleBussR = 0.0; + lastFXBussL = 0.0; + lastFXBussR = 0.0; + iirCorrectL = 0.0; + iirCorrectR = 0.0; + gainchase = -90.0; + settingchase = -90.0; + chasespeed = 350.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Console5Buss::run(uint32_t num_samples) +{ + A = *params[0]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/Console5Buss/Console5BussProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/Console5Buss/Console5Buss.h b/plugins/LV2/src/Console5Buss/Console5Buss.h new file mode 100644 index 0000000..9f2a99f --- /dev/null +++ b/plugins/LV2/src/Console5Buss/Console5Buss.h @@ -0,0 +1,43 @@ +#ifndef __Console5Buss_H +#define __Console5Buss_H + +#include + +class Console5Buss : public LV2Plugin<1> { +public: + Console5Buss(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/console5buss"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + double lastSampleBussL; + double lastFXBussL; + double lastSampleBussR; + double lastFXBussR; + double iirCorrectL; + double iirCorrectR; + double gainchase; + double settingchase; + double chasespeed; + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + float A; +}; + +#endif diff --git a/plugins/LV2/src/Console5Buss/Console5Buss.ttl b/plugins/LV2/src/Console5Buss/Console5Buss.ttl new file mode 100644 index 0000000..657107d --- /dev/null +++ b/plugins/LV2/src/Console5Buss/Console5Buss.ttl @@ -0,0 +1,44 @@ +# Airwindows Console5Buss plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Input" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 1 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/Console5Buss/manifest.ttl.in b/plugins/LV2/src/Console5Buss/manifest.ttl.in new file mode 100644 index 0000000..9dc3b8f --- /dev/null +++ b/plugins/LV2/src/Console5Buss/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:console5buss + a lv2:Plugin ; + doap:name "Airwindows Console5Buss" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/Console5Channel/Console5Channel.cpp b/plugins/LV2/src/Console5Channel/Console5Channel.cpp new file mode 100644 index 0000000..4aacd02 --- /dev/null +++ b/plugins/LV2/src/Console5Channel/Console5Channel.cpp @@ -0,0 +1,42 @@ +#include "Console5Channel.h" +#include +#include + +Console5Channel::Console5Channel(double rate) + : LV2Plugin(rate) +{ +} + +void Console5Channel::activate() +{ + A = 1.0; + lastSampleChannelL = 0.0; + lastSampleChannelR = 0.0; + lastFXChannelL = 0.0; + lastFXChannelR = 0.0; + iirCorrectL = 0.0; + iirCorrectR = 0.0; + gainchase = -90.0; + settingchase = -90.0; + chasespeed = 350.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Console5Channel::run(uint32_t num_samples) +{ + A = *params[0]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/Console5Channel/Console5ChannelProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/Console5Channel/Console5Channel.h b/plugins/LV2/src/Console5Channel/Console5Channel.h new file mode 100644 index 0000000..72d3b16 --- /dev/null +++ b/plugins/LV2/src/Console5Channel/Console5Channel.h @@ -0,0 +1,43 @@ +#ifndef __Console5Channel_H +#define __Console5Channel_H + +#include + +class Console5Channel : public LV2Plugin<1> { +public: + Console5Channel(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/console5channel"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + double lastSampleChannelL; + double lastSampleChannelR; + double lastFXChannelL; + double lastFXChannelR; + double iirCorrectL; + double iirCorrectR; + double gainchase; + double settingchase; + double chasespeed; + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + float A; +}; + +#endif diff --git a/plugins/LV2/src/Console5Channel/Console5Channel.ttl b/plugins/LV2/src/Console5Channel/Console5Channel.ttl new file mode 100644 index 0000000..5ab1584 --- /dev/null +++ b/plugins/LV2/src/Console5Channel/Console5Channel.ttl @@ -0,0 +1,44 @@ +# Airwindows Console5Channel plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Input" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 1 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/Console5Channel/manifest.ttl.in b/plugins/LV2/src/Console5Channel/manifest.ttl.in new file mode 100644 index 0000000..06ae204 --- /dev/null +++ b/plugins/LV2/src/Console5Channel/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:console5channel + a lv2:Plugin ; + doap:name "Airwindows Console5Channel" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/Console5DarkCh/Console5DarkCh.cpp b/plugins/LV2/src/Console5DarkCh/Console5DarkCh.cpp new file mode 100644 index 0000000..3648c37 --- /dev/null +++ b/plugins/LV2/src/Console5DarkCh/Console5DarkCh.cpp @@ -0,0 +1,42 @@ +#include "Console5DarkCh.h" +#include +#include + +Console5DarkCh::Console5DarkCh(double rate) + : LV2Plugin(rate) +{ +} + +void Console5DarkCh::activate() +{ + A = 1.0; + lastSampleChannelL = 0.0; + lastSampleChannelR = 0.0; + lastFXChannelL = 0.0; + lastFXChannelR = 0.0; + iirCorrectL = 0.0; + iirCorrectR = 0.0; + gainchase = -90.0; + settingchase = -90.0; + chasespeed = 350.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Console5DarkCh::run(uint32_t num_samples) +{ + A = *params[0]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/Console5DarkCh/Console5DarkChProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/Console5DarkCh/Console5DarkCh.h b/plugins/LV2/src/Console5DarkCh/Console5DarkCh.h new file mode 100644 index 0000000..45504e8 --- /dev/null +++ b/plugins/LV2/src/Console5DarkCh/Console5DarkCh.h @@ -0,0 +1,43 @@ +#ifndef __Console5DarkCh_H +#define __Console5DarkCh_H + +#include + +class Console5DarkCh : public LV2Plugin<1> { +public: + Console5DarkCh(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/console5darkch"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + double lastSampleChannelL; + double lastSampleChannelR; + double lastFXChannelL; + double lastFXChannelR; + double iirCorrectL; + double iirCorrectR; + double gainchase; + double settingchase; + double chasespeed; + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + float A; +}; + +#endif diff --git a/plugins/LV2/src/Console5DarkCh/Console5DarkCh.ttl b/plugins/LV2/src/Console5DarkCh/Console5DarkCh.ttl new file mode 100644 index 0000000..81a6043 --- /dev/null +++ b/plugins/LV2/src/Console5DarkCh/Console5DarkCh.ttl @@ -0,0 +1,44 @@ +# Airwindows Console5DarkCh plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Input" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 1 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/Console5DarkCh/manifest.ttl.in b/plugins/LV2/src/Console5DarkCh/manifest.ttl.in new file mode 100644 index 0000000..ac22b6f --- /dev/null +++ b/plugins/LV2/src/Console5DarkCh/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:console5darkch + a lv2:Plugin ; + doap:name "Airwindows Console5DarkCh" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/Console6Buss/Console6Buss.cpp b/plugins/LV2/src/Console6Buss/Console6Buss.cpp new file mode 100644 index 0000000..261830c --- /dev/null +++ b/plugins/LV2/src/Console6Buss/Console6Buss.cpp @@ -0,0 +1,32 @@ +#include "Console6Buss.h" +#include +#include + +Console6Buss::Console6Buss(double rate) + : LV2Plugin(rate) +{ +} + +void Console6Buss::activate() +{ + A = 1.0; + fpd = 17; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Console6Buss::run(uint32_t num_samples) +{ + A = *params[0]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/Console6Buss/Console6BussProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/Console6Buss/Console6Buss.h b/plugins/LV2/src/Console6Buss/Console6Buss.h new file mode 100644 index 0000000..ae75663 --- /dev/null +++ b/plugins/LV2/src/Console6Buss/Console6Buss.h @@ -0,0 +1,34 @@ +#ifndef __Console6Buss_H +#define __Console6Buss_H + +#include + +class Console6Buss : public LV2Plugin<1> { +public: + Console6Buss(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/console6buss"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + uint32_t fpd; + //default stuff + + float A; + +}; + +#endif diff --git a/plugins/LV2/src/Console6Buss/Console6Buss.ttl b/plugins/LV2/src/Console6Buss/Console6Buss.ttl new file mode 100644 index 0000000..0517eee --- /dev/null +++ b/plugins/LV2/src/Console6Buss/Console6Buss.ttl @@ -0,0 +1,44 @@ +# Airwindows Console6Buss plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Input" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 1 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/Console6Buss/manifest.ttl.in b/plugins/LV2/src/Console6Buss/manifest.ttl.in new file mode 100644 index 0000000..a9940bf --- /dev/null +++ b/plugins/LV2/src/Console6Buss/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:console6buss + a lv2:Plugin ; + doap:name "Airwindows Console6Buss" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/Console6Channel/Console6Channel.cpp b/plugins/LV2/src/Console6Channel/Console6Channel.cpp new file mode 100644 index 0000000..f52ef8e --- /dev/null +++ b/plugins/LV2/src/Console6Channel/Console6Channel.cpp @@ -0,0 +1,32 @@ +#include "Console6Channel.h" +#include +#include + +Console6Channel::Console6Channel(double rate) + : LV2Plugin(rate) +{ +} + +void Console6Channel::activate() +{ + A = 1.0; + fpd = 17; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Console6Channel::run(uint32_t num_samples) +{ + A = *params[0]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/Console6Channel/Console6ChannelProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/Console6Channel/Console6Channel.h b/plugins/LV2/src/Console6Channel/Console6Channel.h new file mode 100644 index 0000000..d4c11eb --- /dev/null +++ b/plugins/LV2/src/Console6Channel/Console6Channel.h @@ -0,0 +1,34 @@ +#ifndef __Console6Channel_H +#define __Console6Channel_H + +#include + +class Console6Channel : public LV2Plugin<1> { +public: + Console6Channel(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/console6channel"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + uint32_t fpd; + //default stuff + + float A; + +}; + +#endif diff --git a/plugins/LV2/src/Console6Channel/Console6Channel.ttl b/plugins/LV2/src/Console6Channel/Console6Channel.ttl new file mode 100644 index 0000000..526667b --- /dev/null +++ b/plugins/LV2/src/Console6Channel/Console6Channel.ttl @@ -0,0 +1,44 @@ +# Airwindows Console6Channel plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Input" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 1 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/Console6Channel/manifest.ttl.in b/plugins/LV2/src/Console6Channel/manifest.ttl.in new file mode 100644 index 0000000..ae39873 --- /dev/null +++ b/plugins/LV2/src/Console6Channel/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:console6channel + a lv2:Plugin ; + doap:name "Airwindows Console6Channel" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.cpp b/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.cpp new file mode 100644 index 0000000..9e225e1 --- /dev/null +++ b/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.cpp @@ -0,0 +1,57 @@ +#include "CrunchyGrooveWear.h" +#include +#include + +CrunchyGrooveWear::CrunchyGrooveWear(double rate) + : LV2Plugin(rate) +{ +} + +void CrunchyGrooveWear::activate() +{ + A = 0.064; + B = 1.0; + + for(int count = 0; count < 21; count++) { + aMidL[count] = 0.0; + bMidL[count] = 0.0; + cMidL[count] = 0.0; + dMidL[count] = 0.0; + aMidR[count] = 0.0; + bMidR[count] = 0.0; + cMidR[count] = 0.0; + dMidR[count] = 0.0; + fMid[count] = 0.0; + } + aMidPrevL = 0.0; + bMidPrevL = 0.0; + cMidPrevL = 0.0; + dMidPrevL = 0.0; + + aMidPrevR = 0.0; + bMidPrevR = 0.0; + cMidPrevR = 0.0; + dMidPrevR = 0.0; + + fpNShapeL = 0.0; + fpNShapeR = 0.0; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void CrunchyGrooveWear::run(uint32_t num_samples) +{ + A = *params[0]; + B = *params[1]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/CrunchyGrooveWear/CrunchyGrooveWearProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.h b/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.h new file mode 100644 index 0000000..6515393 --- /dev/null +++ b/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.h @@ -0,0 +1,55 @@ +#ifndef __CrunchyGrooveWear_H +#define __CrunchyGrooveWear_H + +#include + +class CrunchyGrooveWear : public LV2Plugin<2> { +public: + CrunchyGrooveWear(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/crunchygroovewear"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + double aMidL[21]; + double aMidPrevL; + double bMidL[21]; + double bMidPrevL; + double cMidL[21]; + double cMidPrevL; + double dMidL[21]; + double dMidPrevL; + + double aMidR[21]; + double aMidPrevR; + double bMidR[21]; + double bMidPrevR; + double cMidR[21]; + double cMidPrevR; + double dMidR[21]; + double dMidPrevR; + + double fMid[21]; + + float A; + float B; +}; + +#endif diff --git a/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.ttl b/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.ttl new file mode 100644 index 0000000..acedc6d --- /dev/null +++ b/plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.ttl @@ -0,0 +1,52 @@ +# Airwindows CrunchyGrooveWear plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EQPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Freq" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 1 ; + lv2:symbol "B" ; + lv2:name "Apply" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 5 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/CrunchyGrooveWear/manifest.ttl.in b/plugins/LV2/src/CrunchyGrooveWear/manifest.ttl.in new file mode 100644 index 0000000..2b71ae4 --- /dev/null +++ b/plugins/LV2/src/CrunchyGrooveWear/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:crunchygroovewear + a lv2:Plugin ; + doap:name "Airwindows CrunchyGrooveWear" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/Crystal/Crystal.cpp b/plugins/LV2/src/Crystal/Crystal.cpp new file mode 100644 index 0000000..33b5e80 --- /dev/null +++ b/plugins/LV2/src/Crystal/Crystal.cpp @@ -0,0 +1,42 @@ +#include "Crystal.h" +#include +#include + +Crystal::Crystal(double rate) + : LV2Plugin(rate) +{ +} + +void Crystal::activate() +{ + A = 0.7; + B = 1.0; + C = 0.333; //0.0 to 3.0 range + D = 1.0; + for(int count = 0; count < 34; count++) {bL[count] = 0; bR[count] = 0;} + lastSampleL = 0.0; + lastSampleR = 0.0; + fpNShapeL = 0.0; + fpNShapeR = 0.0; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void Crystal::run(uint32_t num_samples) +{ + A = *params[0]; + B = *params[1]; + C = *params[2]; + D = *params[3]; + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/Crystal/CrystalProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/Crystal/Crystal.h b/plugins/LV2/src/Crystal/Crystal.h new file mode 100644 index 0000000..e851171 --- /dev/null +++ b/plugins/LV2/src/Crystal/Crystal.h @@ -0,0 +1,43 @@ +#ifndef __Crystal_H +#define __Crystal_H + +#include + +class Crystal : public LV2Plugin<4> { +public: + Crystal(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/crystal"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + double bL[35]; + double lastSampleL; + double bR[35]; + double lastSampleR; + + long double fpNShapeL; + long double fpNShapeR; + //default stuff + + float A; + float B; + float C; + float D; + +}; + +#endif diff --git a/plugins/LV2/src/Crystal/Crystal.ttl b/plugins/LV2/src/Crystal/Crystal.ttl new file mode 100644 index 0000000..d30296d --- /dev/null +++ b/plugins/LV2/src/Crystal/Crystal.ttl @@ -0,0 +1,68 @@ +# Airwindows Crystal plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:DistortionPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 0 ; + lv2:symbol "A" ; + lv2:name "Hardnss" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 1 ; + lv2:symbol "B" ; + lv2:name "Personl" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 2 ; + lv2:symbol "C" ; + lv2:name "Drive" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:ControlPort ; + lv2:index 3 ; + lv2:symbol "D" ; + lv2:name "Output" ; + lv2:default 0.5 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 4 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 5 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 6 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 7 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/Crystal/manifest.ttl.in b/plugins/LV2/src/Crystal/manifest.ttl.in new file mode 100644 index 0000000..8be8d6a --- /dev/null +++ b/plugins/LV2/src/Crystal/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:crystal + a lv2:Plugin ; + doap:name "Airwindows Crystal" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . diff --git a/plugins/LV2/src/curve/curve.cpp b/plugins/LV2/src/curve/curve.cpp new file mode 100644 index 0000000..3d0f06b --- /dev/null +++ b/plugins/LV2/src/curve/curve.cpp @@ -0,0 +1,32 @@ +#include "curve.h" +#include +#include + +curve::curve(double rate) + : LV2Plugin(rate) +{ +} + +void curve::activate() +{ + gain = 1.0; + fpd = 17; + //this is reset: values being initialized only once. Startup values, whatever they are. + +} + +void curve::run(uint32_t num_samples) +{ + + + processReplacing(const_cast(in), out, num_samples); +} + +// +// Include the processing code from the VST version. +// +#include +#include "../../../LinuxVST/src/curve/curveProc.cpp" + +// Create the LV2Wrapper and register the plugin +LV2Wrapper plugin; diff --git a/plugins/LV2/src/curve/curve.h b/plugins/LV2/src/curve/curve.h new file mode 100644 index 0000000..7178bd8 --- /dev/null +++ b/plugins/LV2/src/curve/curve.h @@ -0,0 +1,32 @@ +#ifndef __curve_H +#define __curve_H + +#include + +class curve : public LV2Plugin<0> { +public: + curve(double rate); + + void activate(); + void run(uint32_t num_samples); + + static constexpr const char * URI = "https://www.airwindows.com/curve"; + +private: + /* + * These are the original DSP functions from the VST plugin. + * They need to be called from the LV2 plugins `run` function. + */ + void processReplacing(float **in, float **out, VstInt32 samples); + void processDoubleReplacing(double **in, double **out, VstInt32 samples); + + /* + * Members needed by the processing functions. + */ + + long double gain; + uint32_t fpd; + //default stuff +}; + +#endif diff --git a/plugins/LV2/src/curve/curve.ttl b/plugins/LV2/src/curve/curve.ttl new file mode 100644 index 0000000..4ef99da --- /dev/null +++ b/plugins/LV2/src/curve/curve.ttl @@ -0,0 +1,38 @@ +# Airwindows curve plugin description + +@prefix lv2: . +@prefix rdf: . +@prefix rdfs: . +@prefix units: . + + + a lv2:Plugin , + lv2:EffectsPlugin ; + lv2:project ; + + lv2:optionalFeature lv2:hardRTCapable ; + + # Define the ports for this plugin. + lv2:port [ + + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 0 ; + lv2:symbol "in_l" ; + lv2:name "In left" ; + ] , [ + a lv2:InputPort , lv2:AudioPort ; + lv2:index 1 ; + lv2:symbol "in_r" ; + lv2:name "In right" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 2 ; + lv2:symbol "out_l" ; + lv2:name "Out left" ; + ] , [ + a lv2:OutputPort , lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "out_r" ; + lv2:name "Out right" ; + ] . diff --git a/plugins/LV2/src/curve/manifest.ttl.in b/plugins/LV2/src/curve/manifest.ttl.in new file mode 100644 index 0000000..bb4a273 --- /dev/null +++ b/plugins/LV2/src/curve/manifest.ttl.in @@ -0,0 +1,6 @@ +airwindows:curve + a lv2:Plugin ; + doap:name "Airwindows curve" ; + doap:license ; + lv2:binary ; + rdfs:seeAlso . -- cgit v1.2.3