=== modified file 'plugin/inv_delay.c' --- plugin/inv_delay.c 2009-08-16 23:35:33 +0000 +++ plugin/inv_delay.c 2012-01-02 02:15:15 +0000 @@ -28,6 +28,8 @@ #include "library/common.h" #include "inv_delay.h" +#define SMALL_TO_ZERO(f) if (fabs(f) < 1e-16) f = 0; + static LV2_Descriptor *IDelayMonoDescriptor = NULL; static LV2_Descriptor *IDelaySumDescriptor = NULL; @@ -906,7 +908,9 @@ } // munge it + SMALL_TO_ZERO(In1FBmix); In1FB = (1-fMunge)*In1FBmix + fMunge*ITube_do(In1FBmix,1+fMunge); + SMALL_TO_ZERO(In2FBmix); In2FB = (1-fMunge)*In2FBmix + fMunge*ITube_do(In2FBmix,1+fMunge); HPF1 = ((fHPFsamples-1) * HPF1 + In1FB) / fHPFsamples; HPF2 = ((fHPFsamples-1) * HPF2 + In2FB) / fHPFsamples; === modified file 'plugin/library/common.c' --- plugin/library/common.c 2009-08-30 05:16:12 +0000 +++ plugin/library/common.c 2012-01-02 02:15:15 +0000 @@ -27,6 +27,7 @@ #include #include "common.h" +#define SMALL_TO_ZERO(f) if (fabs(f) < 1e-16) f = 0; /* a function that checks to see if a control has been changed and calls the provided conversion fuction */ void @@ -99,6 +100,8 @@ { float valueA; + SMALL_TO_ZERO(audio_value); + valueA=fabs(audio_value); return (valueA > envelope_value) ? Env->attack * (valueA - envelope_value) : Env->decay * (valueA - envelope_value);