//--------------------------------------------------------------------------- // // 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__