Skip to content

fix(music): stop EQ boosts clipping and add a normalization switch - #181

Merged
A-EDev merged 5 commits into
mainfrom
fix/music-eq-headroom
Oct 25, 2026
Merged

A-EDev merged 5 commits into
mainfrom
fix/music-eq-headroom

Conversation

@A-EDev

@A-EDev A-EDev commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

Part 4 of 22 of the music player plan (Android parity). Stacked on fix/music-playback-recovery (PR #180); review and merge in order.

  • The music EQ turns the curve down by its highest boost before the filters (Android's EqFilterMath, 257 points) and ends in Android's soft clipper, so boosts no longer distort.
  • Music loudness normalization has a switch (setting music_loudness_normalization, on by default).
  • Downloads keep the song's loudness value (migration 0018_downloads_loudness.sql, a nullable column), so offline songs play at the streamed level.

Related issue

Change type

  • Bug fix
  • Feature
  • Refactor or maintenance
  • Documentation
  • Build, packaging, or CI

Validation

  • pnpm test: 445 tests passed, 0 failed
  • pnpm build: passed
  • cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check: clean
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features: no new warnings against main (compared at the top of the stack)
  • cargo test --manifest-path src-tauri/Cargo.toml --all-targets --all-features: 783 passed, 0 failed (all sync_* suites included)
  • I smoke-tested the affected desktop behavior. macOS, combined build: Bass Boost preset shows an auto preamp of -8.9 dB.
  • OS/device: device testing by the owner. The checks above ran on macOS 27 (Apple Silicon MacBook Pro, 120 Hz) in a dev build of the whole stack; Windows and Linux were not run.

Screenshots or recordings

Risk and compatibility

  • Migration 0018 adds a nullable downloads.loudness_db column. Songs downloaded before stay un-normalized.
  • No new secrets, private data, telemetry, or broad Tauri permissions were introduced.
  • User-facing documentation was updated where needed (changelog entry in v0.1.0-beta3.txt).
  • Dependency and lockfile changes are intentional and limited to this PR. No dependency changes.
  • Breaking changes and upgrade steps are clearly documented. No breaking changes.

Copilot AI balanced review requested due to automatic review settings October 24, 2026 14:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@A-EDev
A-EDev force-pushed the fix/music-playback-recovery branch from d125bfc to 63c3852 Compare October 25, 2026 19:29
@A-EDev
A-EDev force-pushed the fix/music-eq-headroom branch from 40c292a to 9c646cd Compare October 25, 2026 19:29
@A-EDev
A-EDev changed the base branch from fix/music-playback-recovery to main October 25, 2026 19:29
@A-EDev
A-EDev merged commit a7ec695 into main Oct 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants