blob: 6698760fbab5293c5b9c3a08aa7aae62bc9ea121 (
plain) (
tree)
|
|
#include "EQ.h"
#include <iostream>
#include <lv2wrapper.h>
EQ::EQ(double rate)
: LV2Plugin(rate)
{
}
void EQ::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.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;
fpNShapeL = 0.0;
fpNShapeR = 0.0;
//this is reset: values being initialized only once. Startup values, whatever they are.
}
void EQ::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];
processReplacing(const_cast<float **>(in), out, num_samples);
}
//
// Include the processing code from the VST version.
//
#include <cmath>
#include "../../../LinuxVST/src/EQ/EQProc.cpp"
// Create the LV2Wrapper and register the plugin
LV2Wrapper<EQ> plugin;
|