From 782e98061bd2318bc92cff5c374df063070baf49 Mon Sep 17 00:00:00 2001 From: tryptz Date: Wed, 1 Apr 2026 21:34:14 -0400 Subject: [PATCH] fix: address all CodeRabbit review findings from PR #477 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Engine & algorithm: - Use default shelf Q (1/√2) in calculateBiquadResponse for shelf filters - Compute normalization offset on measurement frequency grid to avoid bias - Try stale cache for all fetch errors in autoeq-importer, not just timeouts Audio pipeline: - Pass postProcessingQuality (preserves Dolby Atmos override) in api.js - Persist custom band frequencies in equalizerSettings storage - Restore custom frequencies on _loadSettings instead of regenerating defaults - Export clamped preamp value in applyAutoEQBands text output - Propagate filter type and Q values through equalizer import chain - Update freqRange after importing custom filter frequencies - Remove return in finally block that hid LOSSLESS fallback failures Data consistency: - Normalize artist IDs with String() in blockArtist/unblockArtist Lint & code quality: - Annotate empty catch blocks (Atmos codec probes) - Remove unused catch parameters Accessibility: - Add aria-label and for attributes to all AutoEQ form controls - Add role="status" aria-live="polite" to feedback spans - Update filter type documentation to reflect shelf support - Hide parametric-only sections by default to match active tab UI: - Move AutoEq button directly under graph - Hide shared button in Parametric/Speaker modes - Replace hardcoded white legend dot with theme-adaptive color-mix - Add pointer-events:none and focus-within to profile delete button --- index.html | 34 +++++++++++++++++++--------------- js/api.js | 6 ++++-- js/audio-context.js | 8 +++++--- js/autoeq-engine.js | 41 ++++++++++++++++++++++++++++++----------- js/autoeq-importer.js | 12 ++++++------ js/equalizer.js | 30 +++++++++++++++++++++++++++++- js/player.js | 14 +++++++++----- js/settings.js | 6 ++++-- js/storage.js | 39 +++++++++++++++++++++++++++++++++++++-- styles.css | 9 ++++++--- 10 files changed, 149 insertions(+), 50 deletions(-) diff --git a/index.html b/index.html index 4b8e51a..2ee1c42 100644 --- a/index.html +++ b/index.html @@ -4046,8 +4046,8 @@

Parametric EQ — Manual Control

  1. - Each band is a peaking filter with frequency, gain, and Q - (width). + Each band supports peaking, low-shelf, and high-shelf filter + types with frequency, gain, and Q (width).
  2. Drag nodes on the graph to adjust frequency and gain @@ -4162,6 +4162,7 @@ + @@ -4180,6 +4181,7 @@ id="autoeq-headphone-search" placeholder="Search model (e.g. HD 600)..." autocomplete="off" + aria-label="Search headphone model" />
    @@ -4194,11 +4196,10 @@
    -
    - +
    -
    - +
    @@ -4313,6 +4314,7 @@ id="autoeq-profile-name" class="autoeq-profile-name-input" placeholder="Profile name..." + aria-label="AutoEQ profile name" maxlength="50" /> - +
    @@ -4542,6 +4544,7 @@ id="speaker-profile-name" class="autoeq-profile-name-input" placeholder="Profile name..." + aria-label="Speaker EQ profile name" maxlength="50" />