diff jmix_c_in.c @ 287:1e89cd081956

Use fixed point everywhere in the mixing internals, to avoid going over sample boundaries.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 11 Oct 2012 11:09:26 +0300
parents 1ba202b448e0
children
line wrap: on
line diff
--- a/jmix_c_in.c	Thu Oct 11 10:24:00 2012 +0300
+++ b/jmix_c_in.c	Thu Oct 11 11:09:26 2012 +0300
@@ -20,12 +20,12 @@
 
 #define JMIXER_NAME        jvmMix_Mono_C_FW
 #define JMIXER_NEXT        FP_ADD(tmpPos, tmpDelta);
-#define JMIXER_ENDCOND     (FP_GETH(tmpPos) < endPos)
+#define JMIXER_ENDCOND     (tmpPos.dw < endPos.dw)
 #include "jmixtmpl_c.h"
 
 #define JMIXER_NAME        jvmMix_Mono_C_BW
 #define JMIXER_NEXT        FP_SUB(tmpPos, tmpDelta);
-#define JMIXER_ENDCOND     (FP_GETH(tmpPos) > endPos)
+#define JMIXER_ENDCOND     (tmpPos.dw > endPos.dw)
 #include "jmixtmpl_c.h"
 
 
@@ -49,12 +49,12 @@
 
 #define JMIXER_NAME        jvmMix_Stereo_C_FW
 #define JMIXER_NEXT        FP_ADD(tmpPos, tmpDelta);
-#define JMIXER_ENDCOND     (FP_GETH(tmpPos) < endPos)
+#define JMIXER_ENDCOND     (tmpPos.dw < endPos.dw)
 #include "jmixtmpl_c.h"
 
 #define JMIXER_NAME        jvmMix_Stereo_C_BW
 #define JMIXER_NEXT        FP_SUB(tmpPos, tmpDelta);
-#define JMIXER_ENDCOND     (FP_GETH(tmpPos) > endPos)
+#define JMIXER_ENDCOND     (tmpPos.dw > endPos.dw)
 #include "jmixtmpl_c.h"