aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2021-04-03 15:07:02 +0200
committerHarald Eilertsen <haraldei@anduin.net>2021-04-03 15:30:28 +0200
commit7881b2698cee2b0187adbe8a2c0a66a90cc371c1 (patch)
tree97634f663c6f24ae7d03a9400be2320671a494f1
parent44faf659b6dd2de36d086e1cb5dfa5a978d89d37 (diff)
downloadairwindows-lv2-port-7881b2698cee2b0187adbe8a2c0a66a90cc371c1.tar.gz
airwindows-lv2-port-7881b2698cee2b0187adbe8a2c0a66a90cc371c1.tar.bz2
airwindows-lv2-port-7881b2698cee2b0187adbe8a2c0a66a90cc371c1.zip
Add more plugins, Console5Buss to curve
-rwxr-xr-xplugins/LV2/CMakeLists.txt18
-rw-r--r--plugins/LV2/manifest.ttl.in63
-rw-r--r--plugins/LV2/src/CStrip/CStrip.cpp184
-rw-r--r--plugins/LV2/src/CStrip/CStrip.h181
-rw-r--r--plugins/LV2/src/CStrip/CStrip.ttl132
-rw-r--r--plugins/LV2/src/CStrip/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/Console5Buss/Console5Buss.cpp42
-rw-r--r--plugins/LV2/src/Console5Buss/Console5Buss.h43
-rw-r--r--plugins/LV2/src/Console5Buss/Console5Buss.ttl44
-rw-r--r--plugins/LV2/src/Console5Buss/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/Console5Channel/Console5Channel.cpp42
-rw-r--r--plugins/LV2/src/Console5Channel/Console5Channel.h43
-rw-r--r--plugins/LV2/src/Console5Channel/Console5Channel.ttl44
-rw-r--r--plugins/LV2/src/Console5Channel/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/Console5DarkCh/Console5DarkCh.cpp42
-rw-r--r--plugins/LV2/src/Console5DarkCh/Console5DarkCh.h43
-rw-r--r--plugins/LV2/src/Console5DarkCh/Console5DarkCh.ttl44
-rw-r--r--plugins/LV2/src/Console5DarkCh/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/Console6Buss/Console6Buss.cpp32
-rw-r--r--plugins/LV2/src/Console6Buss/Console6Buss.h34
-rw-r--r--plugins/LV2/src/Console6Buss/Console6Buss.ttl44
-rw-r--r--plugins/LV2/src/Console6Buss/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/Console6Channel/Console6Channel.cpp32
-rw-r--r--plugins/LV2/src/Console6Channel/Console6Channel.h34
-rw-r--r--plugins/LV2/src/Console6Channel/Console6Channel.ttl44
-rw-r--r--plugins/LV2/src/Console6Channel/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.cpp57
-rw-r--r--plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.h55
-rw-r--r--plugins/LV2/src/CrunchyGrooveWear/CrunchyGrooveWear.ttl52
-rw-r--r--plugins/LV2/src/CrunchyGrooveWear/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/Crystal/Crystal.cpp42
-rw-r--r--plugins/LV2/src/Crystal/Crystal.h43
-rw-r--r--plugins/LV2/src/Crystal/Crystal.ttl68
-rw-r--r--plugins/LV2/src/Crystal/manifest.ttl.in6
-rw-r--r--plugins/LV2/src/curve/curve.cpp32
-rw-r--r--plugins/LV2/src/curve/curve.h32
-rw-r--r--plugins/LV2/src/curve/curve.ttl38
-rw-r--r--plugins/LV2/src/curve/manifest.ttl.in6
38 files changed, 1649 insertions, 9 deletions
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 <http://opensource.org/licenses/mit> ;
lv2:binary <Compresaturator@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
rdfs:seeAlso <Compresaturator.ttl> .
+
+airwindows:cstrip
+ a lv2:Plugin ;
+ doap:name "Airwindows CStrip" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <CStrip@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <CStrip.ttl> .
+
+airwindows:console5buss
+ a lv2:Plugin ;
+ doap:name "Airwindows Console5Buss" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console5Buss@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console5Buss.ttl> .
+
+airwindows:console5channel
+ a lv2:Plugin ;
+ doap:name "Airwindows Console5Channel" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console5Channel@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console5Channel.ttl> .
+
+airwindows:console5darkch
+ a lv2:Plugin ;
+ doap:name "Airwindows Console5DarkCh" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console5DarkCh@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console5DarkCh.ttl> .
+
+airwindows:console6buss
+ a lv2:Plugin ;
+ doap:name "Airwindows Console6Buss" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console6Buss@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console6Buss.ttl> .
+
+airwindows:console6channel
+ a lv2:Plugin ;
+ doap:name "Airwindows Console6Channel" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console6Channel@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console6Channel.ttl> .
+
+airwindows:crunchygroovewear
+ a lv2:Plugin ;
+ doap:name "Airwindows CrunchyGrooveWear" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <CrunchyGrooveWear@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <CrunchyGrooveWear.ttl> .
+
+airwindows:crystal
+ a lv2:Plugin ;
+ doap:name "Airwindows Crystal" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <Crystal@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Crystal.ttl> .
+
+airwindows:curve
+ a lv2:Plugin ;
+ doap:name "Airwindows curve" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <curve@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <curve.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/CStrip/CStripProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<CStrip> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/cstrip>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <CStrip@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <CStrip.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Console5Buss/Console5BussProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Console5Buss> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/console5buss>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console5Buss@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console5Buss.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Console5Channel/Console5ChannelProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Console5Channel> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/console5channel>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console5Channel@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console5Channel.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Console5DarkCh/Console5DarkChProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Console5DarkCh> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/console5darkch>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console5DarkCh@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console5DarkCh.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Console6Buss/Console6BussProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Console6Buss> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/console6buss>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console6Buss@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console6Buss.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Console6Channel/Console6ChannelProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Console6Channel> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/console6channel>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <Console6Channel@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Console6Channel.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/CrunchyGrooveWear/CrunchyGrooveWearProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<CrunchyGrooveWear> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/crunchygroovewear>
+ a lv2:Plugin ,
+ lv2:EQPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <CrunchyGrooveWear@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <CrunchyGrooveWear.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/Crystal/CrystalProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<Crystal> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/crystal>
+ a lv2:Plugin ,
+ lv2:DistortionPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <Crystal@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <Crystal.ttl> .
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 <iostream>
+#include <lv2wrapper.h>
+
+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<float **>(in), out, num_samples);
+}
+
+//
+// Include the processing code from the VST version.
+//
+#include <cmath>
+#include "../../../LinuxVST/src/curve/curveProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<curve> 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 <lv2plugin.h>
+
+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: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix units: <http://lv2plug.in/ns/extensions/units#> .
+
+<https://www.airwindows.com/curve>
+ a lv2:Plugin ,
+ lv2:EffectsPlugin ;
+ lv2:project <https://www.airwindows.com> ;
+
+ 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 <http://opensource.org/licenses/mit> ;
+ lv2:binary <curve@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <curve.ttl> .