Add per-band frequency control and static EQ curve overlay

This commit is contained in:
Gelyk 2026-08-29 15:42:21 +02:00
commit 8e9eb733cb
5 changed files with 172 additions and 11 deletions

View file

@ -30,6 +30,14 @@ struct FilterBand
Filter left, right;
};
// Computes the total summed magnitude response (in dB) of a series filter chain
// at `numBins` log-spaced frequencies from 20 Hz to 20 kHz. Uses the current
// gains, frequencies and Q values and the same coefficient maths as the audio path,
// so it exactly matches what is heard.
void computeEQResponse(const FilterBand::Type* types,
const float* gains, const float* freqs, const float* qs,
int numBands, double sampleRate, float* outDb, int numBins);
// Simple background "realtime" analyser: it keeps a circular ring buffer
// of the most recent input, computes an FFT magnitude spectrum periodically
// in a background thread, and exposes the result thread-safely for the UI.