/*--------------------------------------------------------------------------- // // 3 Band EQ :) // // EQ.H - Header file for 3 band EQ // // (c) Neil C / Etanza Systems / 2K6 // // Shouts / Loves / Moans = etanza at lycos dot co dot uk // // This work is hereby placed in the public domain for all purposes, including // use in commercial applications. // // The author assumes NO RESPONSIBILITY for any problems caused by the use of // this software. // //----------------------------------------------------------------------------*/ #ifndef __EQ3BAND__ #define __EQ3BAND__ /* ------------ //| Structures | // ------------*/ typedef struct { /* Filter #1 (Low band) */ double lf; /* Frequency */ double f1p0; /* Poles ... */ double f1p1; double f1p2; double f1p3; /* Filter #2 (High band) */ double hf; /* Frequency */ double f2p0; /* Poles ... */ double f2p1; double f2p2; double f2p3; /* Sample history buffer */ double sdm1; /* Sample data minus 1 */ double sdm2; /* 2 */ double sdm3; /* 3 */ /* Gain Controls */ double lg; /* low gain */ double mg; /* mid gain */ double hg; /* high gain */ } EQSTATE; /* --------- //| Exports | // ---------*/ extern void init_3band_state(EQSTATE * es, int lowfreq, int highfreq, int mixfreq); extern double do_3band(EQSTATE * es, int sample); #endif /* #ifndef __EQ3BAND__ */