/*---------------------------------------------------------------------------1//2// 3 Band EQ :)3//4// EQ.H - Header file for 3 band EQ5//6// (c) Neil C / Etanza Systems / 2K67//8// Shouts / Loves / Moans = etanza at lycos dot co dot uk9//10// This work is hereby placed in the public domain for all purposes, including11// use in commercial applications.12//13// The author assumes NO RESPONSIBILITY for any problems caused by the use of14// this software.15//16//----------------------------------------------------------------------------*/1718#ifndef __EQ3BAND__19#define __EQ3BAND__2021/* ------------22//| Structures |23// ------------*/2425typedef struct {26/* Filter #1 (Low band) */2728double lf; /* Frequency */29double f1p0; /* Poles ... */30double f1p1;31double f1p2;32double f1p3;3334/* Filter #2 (High band) */3536double hf; /* Frequency */37double f2p0; /* Poles ... */38double f2p1;39double f2p2;40double f2p3;4142/* Sample history buffer */4344double sdm1; /* Sample data minus 1 */45double sdm2; /* 2 */46double sdm3; /* 3 */4748/* Gain Controls */4950double lg; /* low gain */51double mg; /* mid gain */52double hg; /* high gain */5354} EQSTATE;555657/* ---------58//| Exports |59// ---------*/6061extern void init_3band_state(EQSTATE * es, int lowfreq, int highfreq,62int mixfreq);63extern double do_3band(EQSTATE * es, int sample);646566#endif /* #ifndef __EQ3BAND__ */676869