mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-13 22:35:10 +01:00
68 lines
1.4 KiB
C
68 lines
1.4 KiB
C
//---------------------------------------------------------------------------
|
|
//
|
|
// 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__
|