#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;