aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/PocketVerbs
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/src/PocketVerbs')
-rw-r--r--plugins/LV2/src/PocketVerbs/PocketVerbs.cpp213
-rw-r--r--plugins/LV2/src/PocketVerbs/PocketVerbs.h264
-rw-r--r--plugins/LV2/src/PocketVerbs/PocketVerbs.ttl68
-rw-r--r--plugins/LV2/src/PocketVerbs/manifest.ttl.in6
4 files changed, 551 insertions, 0 deletions
diff --git a/plugins/LV2/src/PocketVerbs/PocketVerbs.cpp b/plugins/LV2/src/PocketVerbs/PocketVerbs.cpp
new file mode 100644
index 0000000..f850482
--- /dev/null
+++ b/plugins/LV2/src/PocketVerbs/PocketVerbs.cpp
@@ -0,0 +1,213 @@
+#include "PocketVerbs.h"
+#include <iostream>
+#include <lv2wrapper.h>
+
+PocketVerbs::PocketVerbs(double rate)
+ : LV2Plugin(rate)
+{
+}
+
+void PocketVerbs::activate()
+{
+ A = 0.0;
+ B = 0.5;
+ C = 0.0;
+ D = 0.5;
+
+ for(count = 0; count < 6; count++) {dAL[count] = 0.0; dBL[count] = 0.0; dCL[count] = 0.0; dDL[count] = 0.0; dEL[count] = 0.0;
+ dFL[count] = 0.0; dGL[count] = 0.0; dHL[count] = 0.0; dIL[count] = 0.0; dJL[count] = 0.0; dKL[count] = 0.0; dLL[count] = 0.0;
+ dML[count] = 0.0; dNL[count] = 0.0; dOL[count] = 0.0; dPL[count] = 0.0; dQL[count] = 0.0; dRL[count] = 0.0; dSL[count] = 0.0;
+ dTL[count] = 0.0; dUL[count] = 0.0; dVL[count] = 0.0; dWL[count] = 0.0; dXL[count] = 0.0; dYL[count] = 0.0; dZL[count] = 0.0;}
+
+ for(count = 0; count < 15149; count++) {aAL[count] = 0.0;}
+ for(count = 0; count < 15149; count++) {oAL[count] = 0.0;}
+ for(count = 0; count < 14617; count++) {aBL[count] = 0.0;}
+ for(count = 0; count < 14617; count++) {oBL[count] = 0.0;}
+ for(count = 0; count < 14357; count++) {aCL[count] = 0.0;}
+ for(count = 0; count < 14357; count++) {oCL[count] = 0.0;}
+ for(count = 0; count < 13817; count++) {aDL[count] = 0.0;}
+ for(count = 0; count < 13817; count++) {oDL[count] = 0.0;}
+ for(count = 0; count < 13561; count++) {aEL[count] = 0.0;}
+ for(count = 0; count < 13561; count++) {oEL[count] = 0.0;}
+ for(count = 0; count < 13045; count++) {aFL[count] = 0.0;}
+ for(count = 0; count < 13045; count++) {oFL[count] = 0.0;}
+ for(count = 0; count < 11965; count++) {aGL[count] = 0.0;}
+ for(count = 0; count < 11965; count++) {oGL[count] = 0.0;}
+ for(count = 0; count < 11129; count++) {aHL[count] = 0.0;}
+ for(count = 0; count < 11129; count++) {oHL[count] = 0.0;}
+ for(count = 0; count < 10597; count++) {aIL[count] = 0.0;}
+ for(count = 0; count < 10597; count++) {oIL[count] = 0.0;}
+ for(count = 0; count < 9809; count++) {aJL[count] = 0.0;}
+ for(count = 0; count < 9809; count++) {oJL[count] = 0.0;}
+ for(count = 0; count < 9521; count++) {aKL[count] = 0.0;}
+ for(count = 0; count < 9521; count++) {oKL[count] = 0.0;}
+ for(count = 0; count < 8981; count++) {aLL[count] = 0.0;}
+ for(count = 0; count < 8981; count++) {oLL[count] = 0.0;}
+ for(count = 0; count < 8785; count++) {aML[count] = 0.0;}
+ for(count = 0; count < 8785; count++) {oML[count] = 0.0;}
+ for(count = 0; count < 8461; count++) {aNL[count] = 0.0;}
+ for(count = 0; count < 8461; count++) {oNL[count] = 0.0;}
+ for(count = 0; count < 8309; count++) {aOL[count] = 0.0;}
+ for(count = 0; count < 8309; count++) {oOL[count] = 0.0;}
+ for(count = 0; count < 7981; count++) {aPL[count] = 0.0;}
+ for(count = 0; count < 7981; count++) {oPL[count] = 0.0;}
+ for(count = 0; count < 7321; count++) {aQL[count] = 0.0;}
+ for(count = 0; count < 7321; count++) {oQL[count] = 0.0;}
+ for(count = 0; count < 6817; count++) {aRL[count] = 0.0;}
+ for(count = 0; count < 6817; count++) {oRL[count] = 0.0;}
+ for(count = 0; count < 6505; count++) {aSL[count] = 0.0;}
+ for(count = 0; count < 6505; count++) {oSL[count] = 0.0;}
+ for(count = 0; count < 6001; count++) {aTL[count] = 0.0;}
+ for(count = 0; count < 6001; count++) {oTL[count] = 0.0;}
+ for(count = 0; count < 5837; count++) {aUL[count] = 0.0;}
+ for(count = 0; count < 5837; count++) {oUL[count] = 0.0;}
+ for(count = 0; count < 5501; count++) {aVL[count] = 0.0;}
+ for(count = 0; count < 5501; count++) {oVL[count] = 0.0;}
+ for(count = 0; count < 5009; count++) {aWL[count] = 0.0;}
+ for(count = 0; count < 5009; count++) {oWL[count] = 0.0;}
+ for(count = 0; count < 4849; count++) {aXL[count] = 0.0;}
+ for(count = 0; count < 4849; count++) {oXL[count] = 0.0;}
+ for(count = 0; count < 4295; count++) {aYL[count] = 0.0;}
+ for(count = 0; count < 4295; count++) {oYL[count] = 0.0;}
+ for(count = 0; count < 4179; count++) {aZL[count] = 0.0;}
+ for(count = 0; count < 4179; count++) {oZL[count] = 0.0;}
+
+ for(count = 0; count < 6; count++) {dAR[count] = 0.0; dBR[count] = 0.0; dCR[count] = 0.0; dDR[count] = 0.0; dER[count] = 0.0;
+ dFR[count] = 0.0; dGR[count] = 0.0; dHR[count] = 0.0; dIR[count] = 0.0; dJR[count] = 0.0; dKR[count] = 0.0; dLR[count] = 0.0;
+ dMR[count] = 0.0; dNR[count] = 0.0; dOR[count] = 0.0; dPR[count] = 0.0; dQR[count] = 0.0; dRR[count] = 0.0; dSR[count] = 0.0;
+ dTR[count] = 0.0; dUR[count] = 0.0; dVR[count] = 0.0; dWR[count] = 0.0; dXR[count] = 0.0; dYR[count] = 0.0; dZR[count] = 0.0;}
+
+ for(count = 0; count < 15149; count++) {aAR[count] = 0.0;}
+ for(count = 0; count < 15149; count++) {oAR[count] = 0.0;}
+ for(count = 0; count < 14617; count++) {aBR[count] = 0.0;}
+ for(count = 0; count < 14617; count++) {oBR[count] = 0.0;}
+ for(count = 0; count < 14357; count++) {aCR[count] = 0.0;}
+ for(count = 0; count < 14357; count++) {oCR[count] = 0.0;}
+ for(count = 0; count < 13817; count++) {aDR[count] = 0.0;}
+ for(count = 0; count < 13817; count++) {oDR[count] = 0.0;}
+ for(count = 0; count < 13561; count++) {aER[count] = 0.0;}
+ for(count = 0; count < 13561; count++) {oER[count] = 0.0;}
+ for(count = 0; count < 13045; count++) {aFR[count] = 0.0;}
+ for(count = 0; count < 13045; count++) {oFR[count] = 0.0;}
+ for(count = 0; count < 11965; count++) {aGR[count] = 0.0;}
+ for(count = 0; count < 11965; count++) {oGR[count] = 0.0;}
+ for(count = 0; count < 11129; count++) {aHR[count] = 0.0;}
+ for(count = 0; count < 11129; count++) {oHR[count] = 0.0;}
+ for(count = 0; count < 10597; count++) {aIR[count] = 0.0;}
+ for(count = 0; count < 10597; count++) {oIR[count] = 0.0;}
+ for(count = 0; count < 9809; count++) {aJR[count] = 0.0;}
+ for(count = 0; count < 9809; count++) {oJR[count] = 0.0;}
+ for(count = 0; count < 9521; count++) {aKR[count] = 0.0;}
+ for(count = 0; count < 9521; count++) {oKR[count] = 0.0;}
+ for(count = 0; count < 8981; count++) {aLR[count] = 0.0;}
+ for(count = 0; count < 8981; count++) {oLR[count] = 0.0;}
+ for(count = 0; count < 8785; count++) {aMR[count] = 0.0;}
+ for(count = 0; count < 8785; count++) {oMR[count] = 0.0;}
+ for(count = 0; count < 8461; count++) {aNR[count] = 0.0;}
+ for(count = 0; count < 8461; count++) {oNR[count] = 0.0;}
+ for(count = 0; count < 8309; count++) {aOR[count] = 0.0;}
+ for(count = 0; count < 8309; count++) {oOR[count] = 0.0;}
+ for(count = 0; count < 7981; count++) {aPR[count] = 0.0;}
+ for(count = 0; count < 7981; count++) {oPR[count] = 0.0;}
+ for(count = 0; count < 7321; count++) {aQR[count] = 0.0;}
+ for(count = 0; count < 7321; count++) {oQR[count] = 0.0;}
+ for(count = 0; count < 6817; count++) {aRR[count] = 0.0;}
+ for(count = 0; count < 6817; count++) {oRR[count] = 0.0;}
+ for(count = 0; count < 6505; count++) {aSR[count] = 0.0;}
+ for(count = 0; count < 6505; count++) {oSR[count] = 0.0;}
+ for(count = 0; count < 6001; count++) {aTR[count] = 0.0;}
+ for(count = 0; count < 6001; count++) {oTR[count] = 0.0;}
+ for(count = 0; count < 5837; count++) {aUR[count] = 0.0;}
+ for(count = 0; count < 5837; count++) {oUR[count] = 0.0;}
+ for(count = 0; count < 5501; count++) {aVR[count] = 0.0;}
+ for(count = 0; count < 5501; count++) {oVR[count] = 0.0;}
+ for(count = 0; count < 5009; count++) {aWR[count] = 0.0;}
+ for(count = 0; count < 5009; count++) {oWR[count] = 0.0;}
+ for(count = 0; count < 4849; count++) {aXR[count] = 0.0;}
+ for(count = 0; count < 4849; count++) {oXR[count] = 0.0;}
+ for(count = 0; count < 4295; count++) {aYR[count] = 0.0;}
+ for(count = 0; count < 4295; count++) {oYR[count] = 0.0;}
+ for(count = 0; count < 4179; count++) {aZR[count] = 0.0;}
+ for(count = 0; count < 4179; count++) {oZR[count] = 0.0;}
+
+ outAL = 1; alpAL = 1;
+ outBL = 1; alpBL = 1;
+ outCL = 1; alpCL = 1;
+ outDL = 1; alpDL = 1;
+ outEL = 1; alpEL = 1;
+ outFL = 1; alpFL = 1;
+ outGL = 1; alpGL = 1;
+ outHL = 1; alpHL = 1;
+ outIL = 1; alpIL = 1;
+ outJL = 1; alpJL = 1;
+ outKL = 1; alpKL = 1;
+ outLL = 1; alpLL = 1;
+ outML = 1; alpML = 1;
+ outNL = 1; alpNL = 1;
+ outOL = 1; alpOL = 1;
+ outPL = 1; alpPL = 1;
+ outQL = 1; alpQL = 1;
+ outRL = 1; alpRL = 1;
+ outSL = 1; alpSL = 1;
+ outTL = 1; alpTL = 1;
+ outUL = 1; alpUL = 1;
+ outVL = 1; alpVL = 1;
+ outWL = 1; alpWL = 1;
+ outXL = 1; alpXL = 1;
+ outYL = 1; alpYL = 1;
+ outZL = 1; alpZL = 1;
+
+ outAR = 1; alpAR = 1; delayA = 4; maxdelayA = 7573;
+ outBR = 1; alpBR = 1; delayB = 4; maxdelayB = 7307;
+ outCR = 1; alpCR = 1; delayC = 4; maxdelayC = 7177;
+ outDR = 1; alpDR = 1; delayD = 4; maxdelayD = 6907;
+ outER = 1; alpER = 1; delayE = 4; maxdelayE = 6779;
+ outFR = 1; alpFR = 1; delayF = 4; maxdelayF = 6521;
+ outGR = 1; alpGR = 1; delayG = 4; maxdelayG = 5981;
+ outHR = 1; alpHR = 1; delayH = 4; maxdelayH = 5563;
+ outIR = 1; alpIR = 1; delayI = 4; maxdelayI = 5297;
+ outJR = 1; alpJR = 1; delayJ = 4; maxdelayJ = 4903;
+ outKR = 1; alpKR = 1; delayK = 4; maxdelayK = 4759;
+ outLR = 1; alpLR = 1; delayL = 4; maxdelayL = 4489;
+ outMR = 1; alpMR = 1; delayM = 4; maxdelayM = 4391;
+ outNR = 1; alpNR = 1; delayN = 4; maxdelayN = 4229;
+ outOR = 1; alpOR = 1; delayO = 4; maxdelayO = 4153;
+ outPR = 1; alpPR = 1; delayP = 4; maxdelayP = 3989;
+ outQR = 1; alpQR = 1; delayQ = 4; maxdelayQ = 3659;
+ outRR = 1; alpRR = 1; delayR = 4; maxdelayR = 3407;
+ outSR = 1; alpSR = 1; delayS = 4; maxdelayS = 3251;
+ outTR = 1; alpTR = 1; delayT = 4; maxdelayT = 2999;
+ outUR = 1; alpUR = 1; delayU = 4; maxdelayU = 2917;
+ outVR = 1; alpVR = 1; delayV = 4; maxdelayV = 2749;
+ outWR = 1; alpWR = 1; delayW = 4; maxdelayW = 2503;
+ outXR = 1; alpXR = 1; delayX = 4; maxdelayX = 2423;
+ outYR = 1; alpYR = 1; delayY = 4; maxdelayY = 2146;
+ outZR = 1; alpZR = 1; delayZ = 4; maxdelayZ = 2088;
+
+ savedRoomsize = -1.0; //force update to begin
+ countdown = -1;
+ peakL = 1.0;
+ peakR = 1.0;
+ fpd = 17;
+ //this is reset: values being initialized only once. Startup values, whatever they are.
+
+}
+
+void PocketVerbs::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/PocketVerbs/PocketVerbsProc.cpp"
+
+// Create the LV2Wrapper and register the plugin
+LV2Wrapper<PocketVerbs> plugin;
diff --git a/plugins/LV2/src/PocketVerbs/PocketVerbs.h b/plugins/LV2/src/PocketVerbs/PocketVerbs.h
new file mode 100644
index 0000000..d0682fe
--- /dev/null
+++ b/plugins/LV2/src/PocketVerbs/PocketVerbs.h
@@ -0,0 +1,264 @@
+#ifndef __PocketVerbs_H
+#define __PocketVerbs_H
+
+#include <lv2plugin.h>
+
+class PocketVerbs : public LV2Plugin<4> {
+public:
+ PocketVerbs(double rate);
+
+ void activate();
+ void run(uint32_t num_samples);
+
+ static constexpr const char * URI = "https://www.airwindows.com/pocketverbs";
+
+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.
+ */
+
+ int count;
+
+
+
+ double dAR[7];
+ double dBR[7];
+ double dCR[7];
+ double dDR[7];
+ double dER[7];
+ double dFR[7];
+ double dGR[7];
+ double dHR[7];
+ double dIR[7];
+ double dJR[7];
+ double dKR[7];
+ double dLR[7];
+ double dMR[7];
+ double dNR[7];
+ double dOR[7];
+ double dPR[7];
+ double dQR[7];
+ double dRR[7];
+ double dSR[7];
+ double dTR[7];
+ double dUR[7];
+ double dVR[7];
+ double dWR[7];
+ double dXR[7];
+ double dYR[7];
+ double dZR[7];
+
+ double aAR[15150];
+ double aBR[14618];
+ double aCR[14358];
+ double aDR[13818];
+ double aER[13562];
+ double aFR[13046];
+ double aGR[11966];
+ double aHR[11130];
+ double aIR[10598];
+ double aJR[9810];
+ double aKR[9522];
+ double aLR[8982];
+ double aMR[8786];
+ double aNR[8462];
+ double aOR[8310];
+ double aPR[7982];
+ double aQR[7322];
+ double aRR[6818];
+ double aSR[6506];
+ double aTR[6002];
+ double aUR[5838];
+ double aVR[5502];
+ double aWR[5010];
+ double aXR[4850];
+ double aYR[4296];
+ double aZR[4180];
+
+ double oAR[15150];
+ double oBR[14618];
+ double oCR[14358];
+ double oDR[13818];
+ double oER[13562];
+ double oFR[13046];
+ double oGR[11966];
+ double oHR[11130];
+ double oIR[10598];
+ double oJR[9810];
+ double oKR[9522];
+ double oLR[8982];
+ double oMR[8786];
+ double oNR[8462];
+ double oOR[8310];
+ double oPR[7982];
+ double oQR[7322];
+ double oRR[6818];
+ double oSR[6506];
+ double oTR[6002];
+ double oUR[5838];
+ double oVR[5502];
+ double oWR[5010];
+ double oXR[4850];
+ double oYR[4296];
+ double oZR[4180];
+
+ double dAL[7];
+ double dBL[7];
+ double dCL[7];
+ double dDL[7];
+ double dEL[7];
+ double dFL[7];
+ double dGL[7];
+ double dHL[7];
+ double dIL[7];
+ double dJL[7];
+ double dKL[7];
+ double dLL[7];
+ double dML[7];
+ double dNL[7];
+ double dOL[7];
+ double dPL[7];
+ double dQL[7];
+ double dRL[7];
+ double dSL[7];
+ double dTL[7];
+ double dUL[7];
+ double dVL[7];
+ double dWL[7];
+ double dXL[7];
+ double dYL[7];
+ double dZL[7];
+
+ double aAL[15150];
+ double aBL[14618];
+ double aCL[14358];
+ double aDL[13818];
+ double aEL[13562];
+ double aFL[13046];
+ double aGL[11966];
+ double aHL[11130];
+ double aIL[10598];
+ double aJL[9810];
+ double aKL[9522];
+ double aLL[8982];
+ double aML[8786];
+ double aNL[8462];
+ double aOL[8310];
+ double aPL[7982];
+ double aQL[7322];
+ double aRL[6818];
+ double aSL[6506];
+ double aTL[6002];
+ double aUL[5838];
+ double aVL[5502];
+ double aWL[5010];
+ double aXL[4850];
+ double aYL[4296];
+ double aZL[4180];
+
+ double oAL[15150];
+ double oBL[14618];
+ double oCL[14358];
+ double oDL[13818];
+ double oEL[13562];
+ double oFL[13046];
+ double oGL[11966];
+ double oHL[11130];
+ double oIL[10598];
+ double oJL[9810];
+ double oKL[9522];
+ double oLL[8982];
+ double oML[8786];
+ double oNL[8462];
+ double oOL[8310];
+ double oPL[7982];
+ double oQL[7322];
+ double oRL[6818];
+ double oSL[6506];
+ double oTL[6002];
+ double oUL[5838];
+ double oVL[5502];
+ double oWL[5010];
+ double oXL[4850];
+ double oYL[4296];
+ double oZL[4180];
+
+
+
+ int outAL, alpAL;
+ int outBL, alpBL;
+ int outCL, alpCL;
+ int outDL, alpDL;
+ int outEL, alpEL;
+ int outFL, alpFL;
+ int outGL, alpGL;
+ int outHL, alpHL;
+ int outIL, alpIL;
+ int outJL, alpJL;
+ int outKL, alpKL;
+ int outLL, alpLL;
+ int outML, alpML;
+ int outNL, alpNL;
+ int outOL, alpOL;
+ int outPL, alpPL;
+ int outQL, alpQL;
+ int outRL, alpRL;
+ int outSL, alpSL;
+ int outTL, alpTL;
+ int outUL, alpUL;
+ int outVL, alpVL;
+ int outWL, alpWL;
+ int outXL, alpXL;
+ int outYL, alpYL;
+ int outZL, alpZL;
+
+ int outAR, alpAR, maxdelayA, delayA;
+ int outBR, alpBR, maxdelayB, delayB;
+ int outCR, alpCR, maxdelayC, delayC;
+ int outDR, alpDR, maxdelayD, delayD;
+ int outER, alpER, maxdelayE, delayE;
+ int outFR, alpFR, maxdelayF, delayF;
+ int outGR, alpGR, maxdelayG, delayG;
+ int outHR, alpHR, maxdelayH, delayH;
+ int outIR, alpIR, maxdelayI, delayI;
+ int outJR, alpJR, maxdelayJ, delayJ;
+ int outKR, alpKR, maxdelayK, delayK;
+ int outLR, alpLR, maxdelayL, delayL;
+ int outMR, alpMR, maxdelayM, delayM;
+ int outNR, alpNR, maxdelayN, delayN;
+ int outOR, alpOR, maxdelayO, delayO;
+ int outPR, alpPR, maxdelayP, delayP;
+ int outQR, alpQR, maxdelayQ, delayQ;
+ int outRR, alpRR, maxdelayR, delayR;
+ int outSR, alpSR, maxdelayS, delayS;
+ int outTR, alpTR, maxdelayT, delayT;
+ int outUR, alpUR, maxdelayU, delayU;
+ int outVR, alpVR, maxdelayV, delayV;
+ int outWR, alpWR, maxdelayW, delayW;
+ int outXR, alpXR, maxdelayX, delayX;
+ int outYR, alpYR, maxdelayY, delayY;
+ int outZR, alpZR, maxdelayZ, delayZ;
+
+ double savedRoomsize;
+ int countdown;
+ double peakL;
+ double peakR;
+
+ uint32_t fpd;
+ //default stuff
+
+ float A;
+ float B;
+ float C;
+ float D;
+
+};
+
+#endif
diff --git a/plugins/LV2/src/PocketVerbs/PocketVerbs.ttl b/plugins/LV2/src/PocketVerbs/PocketVerbs.ttl
new file mode 100644
index 0000000..9e118a7
--- /dev/null
+++ b/plugins/LV2/src/PocketVerbs/PocketVerbs.ttl
@@ -0,0 +1,68 @@
+# Airwindows PocketVerbs 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/pocketverbs>
+ 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 "Type" ;
+ 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 "Size" ;
+ 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 "Gating" ;
+ 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 "Dry/Wet" ;
+ 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/PocketVerbs/manifest.ttl.in b/plugins/LV2/src/PocketVerbs/manifest.ttl.in
new file mode 100644
index 0000000..5a5303f
--- /dev/null
+++ b/plugins/LV2/src/PocketVerbs/manifest.ttl.in
@@ -0,0 +1,6 @@
+airwindows:pocketverbs
+ a lv2:Plugin ;
+ doap:name "Airwindows PocketVerbs" ;
+ doap:license <http://opensource.org/licenses/mit> ;
+ lv2:binary <PocketVerbs@CMAKE_SHARED_LIBRARY_SUFFIX@> ;
+ rdfs:seeAlso <PocketVerbs.ttl> .