diff options
author | Chris Johnson <jinx6568@sover.net> | 2020-07-05 22:01:06 -0400 |
---|---|---|
committer | Chris Johnson <jinx6568@sover.net> | 2020-07-05 22:01:06 -0400 |
commit | c653c8b38fdc79f61ee191052901ac2012d476b4 (patch) | |
tree | ee0f0c7a35a07788d5242165f6274d701e7a92be /plugins/WinVST/Beam/BeamProc.cpp | |
parent | a9a344ede4d4a6c3e7960af07389db5b031d0260 (diff) | |
download | airwindows-lv2-port-c653c8b38fdc79f61ee191052901ac2012d476b4.tar.gz airwindows-lv2-port-c653c8b38fdc79f61ee191052901ac2012d476b4.tar.bz2 airwindows-lv2-port-c653c8b38fdc79f61ee191052901ac2012d476b4.zip |
DeRez Dither Updates (Beam, Dark, NJAD)
Diffstat (limited to 'plugins/WinVST/Beam/BeamProc.cpp')
-rwxr-xr-x | plugins/WinVST/Beam/BeamProc.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/WinVST/Beam/BeamProc.cpp b/plugins/WinVST/Beam/BeamProc.cpp index 920f5b4..5871eb5 100755 --- a/plugins/WinVST/Beam/BeamProc.cpp +++ b/plugins/WinVST/Beam/BeamProc.cpp @@ -30,6 +30,8 @@ void Beam::processReplacing(float **inputs, float **outputs, VstInt32 sampleFram float derez = C; if (derez > 0.0) scaleFactor *= pow(1.0-derez,6); if (scaleFactor < 0.0001) scaleFactor = 0.0001; + float outScale = scaleFactor; + if (outScale < 8.0) outScale = 8.0; while (--sampleFrames >= 0) { @@ -121,8 +123,8 @@ void Beam::processReplacing(float **inputs, float **outputs, VstInt32 sampleFram lastSampleR[0] = inputSampleR; //end right - inputSampleL /= scaleFactor; - inputSampleR /= scaleFactor; + inputSampleL /= outScale; + inputSampleR /= outScale; *out1 = inputSampleL; *out2 = inputSampleR; @@ -156,8 +158,10 @@ void Beam::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sa else scaleFactor = 32768.0; float derez = C; if (derez > 0.0) scaleFactor *= pow(1.0-derez,6); - if (scaleFactor < 1.0) scaleFactor = 1.0; - + if (scaleFactor < 0.0001) scaleFactor = 0.0001; + float outScale = scaleFactor; + if (outScale < 8.0) outScale = 8.0; + while (--sampleFrames >= 0) { long double inputSampleL = *in1; @@ -248,8 +252,8 @@ void Beam::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sa lastSampleR[0] = inputSampleR; //end right - inputSampleL /= scaleFactor; - inputSampleR /= scaleFactor; + inputSampleL /= outScale; + inputSampleR /= outScale; *out1 = inputSampleL; *out2 = inputSampleR; |