aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/MacAU/Dark/Dark.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MacAU/Dark/Dark.cpp')
-rwxr-xr-xplugins/MacAU/Dark/Dark.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/plugins/MacAU/Dark/Dark.cpp b/plugins/MacAU/Dark/Dark.cpp
index 5f24cd4..f53b842 100755
--- a/plugins/MacAU/Dark/Dark.cpp
+++ b/plugins/MacAU/Dark/Dark.cpp
@@ -203,6 +203,7 @@ void Dark::DarkKernel::Process( const Float32 *inSourceP,
int depth = (int)(17.0*overallscale);
if (depth < 3) depth = 3;
if (depth > 98) depth = 98;
+
bool highres = false;
if (GetParameter( kParam_One ) == 1) highres = true;
Float32 scaleFactor;
@@ -210,8 +211,10 @@ void Dark::DarkKernel::Process( const Float32 *inSourceP,
else scaleFactor = 32768.0;
Float32 derez = GetParameter( kParam_Two );
if (derez > 0.0) scaleFactor *= pow(1.0-derez,6);
- if (scaleFactor < 1.0) scaleFactor = 1.0;
-
+ if (scaleFactor < 0.0001) scaleFactor = 0.0001;
+ Float32 outScale = scaleFactor;
+ if (outScale < 8.0) outScale = 8.0;
+
while (nSampleFrames-- > 0) {
Float32 inputSample = *sourceP;
if (fabs(inputSample)<1.18e-37) inputSample = fpd * 1.18e-37;
@@ -248,7 +251,7 @@ void Dark::DarkKernel::Process( const Float32 *inSourceP,
}
lastSample[0] = inputSample;
- inputSample /= scaleFactor;
+ inputSample /= outScale;
*destP = inputSample;