blob: 682fc812411f5abf0cbd2cdbeea89d36ea24f4f9 (
plain) (
tree)
|
|
#include "Ditherbox.h"
#include <iostream>
#include <lv2wrapper.h>
Ditherbox::Ditherbox(double rate)
: LV2Plugin(rate)
{
}
void Ditherbox::activate()
{
A = 0.86;
Position = 99999999;
contingentErrL = 0.0;
contingentErrR = 0.0;
currentDitherL = 0.0;
currentDitherR = 0.0;
bynL[0] = 1000;
bynL[1] = 301;
bynL[2] = 176;
bynL[3] = 125;
bynL[4] = 97;
bynL[5] = 79;
bynL[6] = 67;
bynL[7] = 58;
bynL[8] = 51;
bynL[9] = 46;
bynL[10] = 1000;
noiseShapingL = 0.0;
bynR[0] = 1000;
bynR[1] = 301;
bynR[2] = 176;
bynR[3] = 125;
bynR[4] = 97;
bynR[5] = 79;
bynR[6] = 67;
bynR[7] = 58;
bynR[8] = 51;
bynR[9] = 46;
bynR[10] = 1000;
noiseShapingR = 0.0;
NSOddL = 0.0;
prevL = 0.0;
nsL[0] = 0;
nsL[1] = 0;
nsL[2] = 0;
nsL[3] = 0;
nsL[4] = 0;
nsL[5] = 0;
nsL[6] = 0;
nsL[7] = 0;
nsL[8] = 0;
nsL[9] = 0;
nsL[10] = 0;
nsL[11] = 0;
nsL[12] = 0;
nsL[13] = 0;
nsL[14] = 0;
nsL[15] = 0;
NSOddR = 0.0;
prevR = 0.0;
nsR[0] = 0;
nsR[1] = 0;
nsR[2] = 0;
nsR[3] = 0;
nsR[4] = 0;
nsR[5] = 0;
nsR[6] = 0;
nsR[7] = 0;
nsR[8] = 0;
nsR[9] = 0;
nsR[10] = 0;
nsR[11] = 0;
nsR[12] = 0;
nsR[13] = 0;
nsR[14] = 0;
nsR[15] = 0;
lastSampleL = 0.0;
outSampleL = 0.0;
lastSampleR = 0.0;
outSampleR = 0.0;
iirSampleAL = 0.0;
iirSampleBL = 0.0;
iirSampleCL = 0.0;
iirSampleDL = 0.0;
iirSampleEL = 0.0;
iirSampleFL = 0.0;
iirSampleGL = 0.0;
iirSampleHL = 0.0;
iirSampleIL = 0.0;
iirSampleJL = 0.0;
iirSampleKL = 0.0;
iirSampleLL = 0.0;
iirSampleML = 0.0;
iirSampleNL = 0.0;
iirSampleOL = 0.0;
iirSamplePL = 0.0;
iirSampleQL = 0.0;
iirSampleRL = 0.0;
iirSampleSL = 0.0;
iirSampleTL = 0.0;
iirSampleUL = 0.0;
iirSampleVL = 0.0;
iirSampleWL = 0.0;
iirSampleXL = 0.0;
iirSampleYL = 0.0;
iirSampleZL = 0.0;
iirSampleAR = 0.0;
iirSampleBR = 0.0;
iirSampleCR = 0.0;
iirSampleDR = 0.0;
iirSampleER = 0.0;
iirSampleFR = 0.0;
iirSampleGR = 0.0;
iirSampleHR = 0.0;
iirSampleIR = 0.0;
iirSampleJR = 0.0;
iirSampleKR = 0.0;
iirSampleLR = 0.0;
iirSampleMR = 0.0;
iirSampleNR = 0.0;
iirSampleOR = 0.0;
iirSamplePR = 0.0;
iirSampleQR = 0.0;
iirSampleRR = 0.0;
iirSampleSR = 0.0;
iirSampleTR = 0.0;
iirSampleUR = 0.0;
iirSampleVR = 0.0;
iirSampleWR = 0.0;
iirSampleXR = 0.0;
iirSampleYR = 0.0;
iirSampleZR = 0.0;
//this is reset: values being initialized only once. Startup values, whatever they are.
}
void Ditherbox::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/Ditherbox/DitherboxProc.cpp"
// Create the LV2Wrapper and register the plugin
LV2Wrapper<Ditherbox> plugin;
|