diff --git a/src/effects/Biquad.h b/src/effects/Biquad.h index 788bb4a4e2d9aa95d1139a3ea496e580abeed46e..0f6ebf23503f165e94bc1f3cebe48657d654bdd8 100644 --- a/src/effects/Biquad.h +++ b/src/effects/Biquad.h @@ -1,5 +1,10 @@ #ifndef __BIQUAD_H__ #define __BIQUAD_H__ + +#if 0 +//initialisations not supported in MSVC 2013. +//Gives error C2905 +// Do not make conditional on compiler. typedef struct { float* pfIn {}; float* pfOut {}; @@ -10,6 +15,22 @@ typedef struct { float fPrevOut {}; float fPrevPrevOut {}; } BiquadStruct; +#else +// WARNING: This structure may need initialisation. +typedef struct { + float* pfIn; + float* pfOut; + float fNumerCoeffs [3]; // B0 B1 B2 + float fDenomCoeffs [2]; // A1 A2 + float fPrevIn; + float fPrevPrevIn; + float fPrevOut; + float fPrevPrevOut; +} BiquadStruct; +#endif + + + void Biquad_Process (BiquadStruct* pBQ, int iNumSamples); void ComplexDiv (float fNumerR, float fNumerI, float fDenomR, float fDenomI, float* pfQuotientR, float* pfQuotientI); bool BilinTransform (float fSX, float fSY, float* pfZX, float* pfZY);