aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp')
-rwxr-xr-xplugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
index b011f1e..a9c5963 100755
--- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
+++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
@@ -184,6 +184,15 @@ void DitherMeTimbers::DitherMeTimbersKernel::Process( const Float32 *inSourceP
noiseShaping += outputSample;
noiseShaping -= lastSample;
+ if (outputSample > 8388600.0) {
+ outputSample = 8388600.0;
+ noiseShaping *= 0.5;
+ }
+ if (outputSample < -8388600.0) {
+ outputSample = -8388600.0;
+ noiseShaping *= 0.5;
+ }
+
*destP = outputSample / 8388608.0; //scale it back down to 24 bit resolution
sourceP += inNumChannels;