Add TILT spectral-tilt knob plus grid zoom/fade and curving controls

- TILT knob (-1..1, 0=flat) boosts highs / cuts lows about the log-frequency
  centre so high frequencies become more visible in the display
- Add GRID ZOOM, GRID FADE, and CURVING knobs; refine BARS/LEDS snapping
- Fix README MODE knob placement description
This commit is contained in:
Armin 2026-08-14 02:55:28 +02:00
commit ca9555af13
7 changed files with 176 additions and 15 deletions

View file

@ -31,6 +31,8 @@ public:
void setFalloffRate (double rate) noexcept { falloffRate = rate; }
void setBarReleaseTau (double seconds) noexcept { barReleaseTau = seconds; }
void setNumBands (int n) noexcept;
void setTilt (double amount) noexcept { tilt = amount; }
double getTilt() const noexcept { return tilt; }
double getGraceSeconds() const noexcept { return grace; }
double getFalloffRate() const noexcept { return falloffRate; }
@ -71,4 +73,10 @@ private:
double barReleaseTau = 0.2; // seconds for the live bar to fall (release)
double minDb = -48.0; // dBFS-equivalent floor (bands below this -> 0)
double maxDb = 0.0; // dBFS-equivalent ceiling (bands at/above -> 1)
// Spectral tilt: +1 fully boosts the highs and cuts the lows, -1 does the
// opposite, 0 is flat. The gain is applied symmetrically about the band at
// the centre of the log-frequency range.
static constexpr double maxTiltDb = 18.0;
double tilt = 0.0;
};