From 3c0d151e1a8014ece2a3982ec0e7b364e23a7575 Mon Sep 17 00:00:00 2001 From: Chris Johnson Date: Thu, 28 May 2020 07:27:31 -0400 Subject: Laserbat spotted an interesting bug in legacy NJAD code! --- plugins/WinVST/NotJustAnotherCD/NotJustAnotherCDProc.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'plugins/WinVST/NotJustAnotherCD/NotJustAnotherCDProc.cpp') diff --git a/plugins/WinVST/NotJustAnotherCD/NotJustAnotherCDProc.cpp b/plugins/WinVST/NotJustAnotherCD/NotJustAnotherCDProc.cpp index 28c4385..af43200 100755 --- a/plugins/WinVST/NotJustAnotherCD/NotJustAnotherCDProc.cpp +++ b/plugins/WinVST/NotJustAnotherCD/NotJustAnotherCDProc.cpp @@ -145,7 +145,7 @@ void NotJustAnotherCD::processReplacing(float **inputs, float **outputs, VstInt3 totalA = bynL[1] + bynL[2] + bynL[3] + bynL[4] + bynL[5] + bynL[6] + bynL[7] + bynL[8] + bynL[9]; totalA /= 1000; - if (totalA = 0) totalA = 1; + if (totalA = 0) totalA = 1; // spotted by Laserbat: this 'scaling back' code doesn't. It always divides by the fallback of 1. Old NJAD doesn't scale back the things we're comparing against. Kept to retain known behavior, use the one in StudioTan and Monitoring for a tuned-as-intended NJAD. bynL[1] /= totalA; bynL[2] /= totalA; bynL[3] /= totalA; @@ -226,7 +226,7 @@ void NotJustAnotherCD::processReplacing(float **inputs, float **outputs, VstInt3 totalA = bynR[1] + bynR[2] + bynR[3] + bynR[4] + bynR[5] + bynR[6] + bynR[7] + bynR[8] + bynR[9]; totalA /= 1000; - if (totalA = 0) totalA = 1; + if (totalA = 0) totalA = 1; // spotted by Laserbat: this 'scaling back' code doesn't. It always divides by the fallback of 1. Old NJAD doesn't scale back the things we're comparing against. Kept to retain known behavior, use the one in StudioTan and Monitoring for a tuned-as-intended NJAD. bynR[1] /= totalA; bynR[2] /= totalA; bynR[3] /= totalA; @@ -395,7 +395,7 @@ void NotJustAnotherCD::processDoubleReplacing(double **inputs, double **outputs, totalA = bynL[1] + bynL[2] + bynL[3] + bynL[4] + bynL[5] + bynL[6] + bynL[7] + bynL[8] + bynL[9]; totalA /= 1000; - if (totalA = 0) totalA = 1; + if (totalA = 0) totalA = 1; // spotted by Laserbat: this 'scaling back' code doesn't. It always divides by the fallback of 1. Old NJAD doesn't scale back the things we're comparing against. Kept to retain known behavior, use the one in StudioTan and Monitoring for a tuned-as-intended NJAD. bynL[1] /= totalA; bynL[2] /= totalA; bynL[3] /= totalA; @@ -476,7 +476,7 @@ void NotJustAnotherCD::processDoubleReplacing(double **inputs, double **outputs, totalA = bynR[1] + bynR[2] + bynR[3] + bynR[4] + bynR[5] + bynR[6] + bynR[7] + bynR[8] + bynR[9]; totalA /= 1000; - if (totalA = 0) totalA = 1; + if (totalA = 0) totalA = 1; // spotted by Laserbat: this 'scaling back' code doesn't. It always divides by the fallback of 1. Old NJAD doesn't scale back the things we're comparing against. Kept to retain known behavior, use the one in StudioTan and Monitoring for a tuned-as-intended NJAD. bynR[1] /= totalA; bynR[2] /= totalA; bynR[3] /= totalA; -- cgit v1.2.3