# HG changeset patch # User Matti Hamalainen # Date 1349043119 -10800 # Node ID f939d3896937f09c6009fd1dabff777a8417c895 # Parent b30430da28154700dbadb0e055b3c255f0a744ff Rename another template file. diff -r b30430da2815 -r f939d3896937 jmix_c.in.c --- a/jmix_c.in.c Mon Oct 01 01:07:19 2012 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -/* - * miniJSS - Mixing routines in C - * Programmed and designed by Matti 'ccr' Hamalainen - * (C) Copyright 2006-2007 Tecnic Software productions (TNSP) - */ - -#define JMIXER_INTERPOLATE -//#define JMIXER_DEBUG fprintf(stderr, "[%.8x:%.8x / %.8x]: %d\n", FP_GETH(tmpPos), FP_GETL(tmpPos), endPos, sp[FP_GETH(tmpPos)]); -#define JMIXER_DEBUG - -/* Mono / Linear Interpolation - */ -#define JMIXER_INIT const Sint32 vol = (chn->chVolume * mixer->globalVol) / 256; -#ifdef JMIXER_INTERPOLATE -#define JMIXER_FUNC_16 tr = (((Sint32) sp[FP_GETH(tmpPos)]) * vol + tr) / (256 * 2); *(ap++) += tr; -#define JMIXER_FUNC_8 tr = ((*volTab8)[vol][sp[FP_GETH(tmpPos)]] + tr) / 2; *(ap++) += tr; -#else -#define JMIXER_FUNC_16 *(ap++) += (((Sint32) sp[FP_GETH(tmpPos)]) * vol) / 256; -#define JMIXER_FUNC_8 *(ap++) += (*volTab8)[vol][sp[FP_GETH(tmpPos)]]; -#endif - -#define JMIXER_NAME jvmMix_Mono_C_FW -#define JMIXER_NEXT FP_ADD(tmpPos, tmpDelta); -#define JMIXER_ENDCOND (FP_GETH(tmpPos) < endPos) -#include "jmix_c.h" - -#define JMIXER_NAME jvmMix_Mono_C_BW -#define JMIXER_NEXT FP_SUB(tmpPos, tmpDelta); -#define JMIXER_ENDCOND (FP_GETH(tmpPos) > endPos) -#include "jmix_c.h" - -#undef JMIXER_INIT -#undef JMIXER_FUNC_16 -#undef JMIXER_FUNC_8 - - -/* Stereo / Linear Interpolation - */ -#define JMIXER_INIT const Sint32 vol_l = (chn->chVolume * mixer->globalVol) / 256, \ - vol_r = (chn->chVolume * mixer->globalVol) / 256; -#ifdef JMIXER_INTERPOLATE -#define JMIXER_FUNC_16 tl = (((Sint32) sp[FP_GETH(tmpPos)]) * vol_l + tl) / (256 * 2); *(ap++) += tl; \ - tr = (((Sint32) sp[FP_GETH(tmpPos)]) * vol_r + tr) / (256 * 2); *(ap++) += tr; -#define JMIXER_FUNC_8 tl = ((*volTab8)[vol_l][sp[FP_GETH(tmpPos)]] + tl) / 2; *(ap++) += tl; \ - tr = ((*volTab8)[vol_r][sp[FP_GETH(tmpPos)]] + tr) / 2; *(ap++) += tr; -#else -#define JMIXER_FUNC_16 *(ap++) += (((Sint32) sp[FP_GETH(tmpPos)]) * vol_l) / 256; \ - *(ap++) += (((Sint32) sp[FP_GETH(tmpPos)]) * vol_r) / 256; -#define JMIXER_FUNC_8 *(ap++) += (*volTab8)[vol_l][sp[FP_GETH(tmpPos)]]; \ - *(ap++) += (*volTab8)[vol_r][sp[FP_GETH(tmpPos)]]; -#endif - -#define JMIXER_NAME jvmMix_Stereo_C_FW -#define JMIXER_NEXT FP_ADD(tmpPos, tmpDelta); -#define JMIXER_ENDCOND (FP_GETH(tmpPos) < endPos) -#include "jmix_c.h" - -#define JMIXER_NAME jvmMix_Stereo_C_BW -#define JMIXER_NEXT FP_SUB(tmpPos, tmpDelta); -#define JMIXER_ENDCOND (FP_GETH(tmpPos) > endPos) -#include "jmix_c.h" - -#undef JMIXER_INIT -#undef JMIXER_FUNC_16 -#undef JMIXER_FUNC_8 - - -/* Post processing functions - */ -#define JMIXER_NAME jvmPostProcess_U8_C -#define JMIXER_TYPE Uint8 -#define JMIXER_FUNCTION \ - if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ - if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ - *(sp++) = (t + JVM_ADD_16) >> 8; -#include "jmix_post.h" - - -#define JMIXER_NAME jvmPostProcess_S8_C -#define JMIXER_TYPE Sint8 -#define JMIXER_FUNCTION \ - if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ - if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ - *(sp++) = t >> 8; -#include "jmix_post.h" - - -#define JMIXER_NAME jvmPostProcess_U16_C -#define JMIXER_TYPE Uint16 -#define JMIXER_FUNCTION \ - if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ - if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ - *(sp++) = t + JVM_ADD_16; -#include "jmix_post.h" - - -#define JMIXER_NAME jvmPostProcess_S16_C -#define JMIXER_TYPE Sint16 -#define JMIXER_FUNCTION \ - if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ - if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ - *(sp++) = t; -#include "jmix_post.h" diff -r b30430da2815 -r f939d3896937 jmix_c_in.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jmix_c_in.c Mon Oct 01 01:11:59 2012 +0300 @@ -0,0 +1,103 @@ +/* + * miniJSS - Mixing routines in C + * Programmed and designed by Matti 'ccr' Hamalainen + * (C) Copyright 2006-2007 Tecnic Software productions (TNSP) + */ + +#define JMIXER_INTERPOLATE +//#define JMIXER_DEBUG fprintf(stderr, "[%.8x:%.8x / %.8x]: %d\n", FP_GETH(tmpPos), FP_GETL(tmpPos), endPos, sp[FP_GETH(tmpPos)]); +#define JMIXER_DEBUG + +/* Mono / Linear Interpolation + */ +#define JMIXER_INIT const Sint32 vol = (chn->chVolume * mixer->globalVol) / 256; +#ifdef JMIXER_INTERPOLATE +#define JMIXER_FUNC_16 tr = (((Sint32) sp[FP_GETH(tmpPos)]) * vol + tr) / (256 * 2); *(ap++) += tr; +#define JMIXER_FUNC_8 tr = ((*volTab8)[vol][sp[FP_GETH(tmpPos)]] + tr) / 2; *(ap++) += tr; +#else +#define JMIXER_FUNC_16 *(ap++) += (((Sint32) sp[FP_GETH(tmpPos)]) * vol) / 256; +#define JMIXER_FUNC_8 *(ap++) += (*volTab8)[vol][sp[FP_GETH(tmpPos)]]; +#endif + +#define JMIXER_NAME jvmMix_Mono_C_FW +#define JMIXER_NEXT FP_ADD(tmpPos, tmpDelta); +#define JMIXER_ENDCOND (FP_GETH(tmpPos) < endPos) +#include "jmix_c.h" + +#define JMIXER_NAME jvmMix_Mono_C_BW +#define JMIXER_NEXT FP_SUB(tmpPos, tmpDelta); +#define JMIXER_ENDCOND (FP_GETH(tmpPos) > endPos) +#include "jmix_c.h" + +#undef JMIXER_INIT +#undef JMIXER_FUNC_16 +#undef JMIXER_FUNC_8 + + +/* Stereo / Linear Interpolation + */ +#define JMIXER_INIT const Sint32 vol_l = (chn->chVolume * mixer->globalVol) / 256, \ + vol_r = (chn->chVolume * mixer->globalVol) / 256; +#ifdef JMIXER_INTERPOLATE +#define JMIXER_FUNC_16 tl = (((Sint32) sp[FP_GETH(tmpPos)]) * vol_l + tl) / (256 * 2); *(ap++) += tl; \ + tr = (((Sint32) sp[FP_GETH(tmpPos)]) * vol_r + tr) / (256 * 2); *(ap++) += tr; +#define JMIXER_FUNC_8 tl = ((*volTab8)[vol_l][sp[FP_GETH(tmpPos)]] + tl) / 2; *(ap++) += tl; \ + tr = ((*volTab8)[vol_r][sp[FP_GETH(tmpPos)]] + tr) / 2; *(ap++) += tr; +#else +#define JMIXER_FUNC_16 *(ap++) += (((Sint32) sp[FP_GETH(tmpPos)]) * vol_l) / 256; \ + *(ap++) += (((Sint32) sp[FP_GETH(tmpPos)]) * vol_r) / 256; +#define JMIXER_FUNC_8 *(ap++) += (*volTab8)[vol_l][sp[FP_GETH(tmpPos)]]; \ + *(ap++) += (*volTab8)[vol_r][sp[FP_GETH(tmpPos)]]; +#endif + +#define JMIXER_NAME jvmMix_Stereo_C_FW +#define JMIXER_NEXT FP_ADD(tmpPos, tmpDelta); +#define JMIXER_ENDCOND (FP_GETH(tmpPos) < endPos) +#include "jmix_c.h" + +#define JMIXER_NAME jvmMix_Stereo_C_BW +#define JMIXER_NEXT FP_SUB(tmpPos, tmpDelta); +#define JMIXER_ENDCOND (FP_GETH(tmpPos) > endPos) +#include "jmix_c.h" + +#undef JMIXER_INIT +#undef JMIXER_FUNC_16 +#undef JMIXER_FUNC_8 + + +/* Post processing functions + */ +#define JMIXER_NAME jvmPostProcess_U8_C +#define JMIXER_TYPE Uint8 +#define JMIXER_FUNCTION \ + if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ + if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ + *(sp++) = (t + JVM_ADD_16) >> 8; +#include "jmix_post.h" + + +#define JMIXER_NAME jvmPostProcess_S8_C +#define JMIXER_TYPE Sint8 +#define JMIXER_FUNCTION \ + if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ + if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ + *(sp++) = t >> 8; +#include "jmix_post.h" + + +#define JMIXER_NAME jvmPostProcess_U16_C +#define JMIXER_TYPE Uint16 +#define JMIXER_FUNCTION \ + if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ + if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ + *(sp++) = t + JVM_ADD_16; +#include "jmix_post.h" + + +#define JMIXER_NAME jvmPostProcess_S16_C +#define JMIXER_TYPE Sint16 +#define JMIXER_FUNCTION \ + if (t < JVM_LIMIT_16_NEG) t = JVM_LIMIT_16_NEG; else \ + if (t > JVM_LIMIT_16_POS) t = JVM_LIMIT_16_POS; \ + *(sp++) = t; +#include "jmix_post.h"