aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp')
-rwxr-xr-xplugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp36
1 files changed, 35 insertions, 1 deletions
diff --git a/plugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp b/plugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp
index 7ba84d7..4641d8b 100755
--- a/plugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp
+++ b/plugins/MacVST/DitherMeTimbers/source/DitherMeTimbersProc.cpp
@@ -41,7 +41,24 @@ void DitherMeTimbers::processReplacing(float **inputs, float **outputs, VstInt32
noiseShapingR += outputSampleR;
noiseShapingR -= lastSampleR;
-
+
+ if (outputSampleL > 8388600.0) {
+ outputSampleL = 8388600.0;
+ noiseShapingL *= 0.5;
+ }
+ if (outputSampleR > 8388600.0) {
+ outputSampleR = 8388600.0;
+ noiseShapingR *= 0.5;
+ }
+ if (outputSampleL < -8388600.0) {
+ outputSampleL = -8388600.0;
+ noiseShapingL *= 0.5;
+ }
+ if (outputSampleR < -8388600.0) {
+ outputSampleR = -8388600.0;
+ noiseShapingR *= 0.5;
+ }
+
*out1 = outputSampleL / 8388608.0;
*out2 = outputSampleR / 8388608.0;
@@ -87,6 +104,23 @@ void DitherMeTimbers::processDoubleReplacing(double **inputs, double **outputs,
noiseShapingR += outputSampleR;
noiseShapingR -= lastSampleR;
+ if (outputSampleL > 8388600.0) {
+ outputSampleL = 8388600.0;
+ noiseShapingL *= 0.5;
+ }
+ if (outputSampleR > 8388600.0) {
+ outputSampleR = 8388600.0;
+ noiseShapingR *= 0.5;
+ }
+ if (outputSampleL < -8388600.0) {
+ outputSampleL = -8388600.0;
+ noiseShapingL *= 0.5;
+ }
+ if (outputSampleR < -8388600.0) {
+ outputSampleR = -8388600.0;
+ noiseShapingR *= 0.5;
+ }
+
*out1 = outputSampleL / 8388608.0;
*out2 = outputSampleR / 8388608.0;