Skip to content

feat: 10-band equalizer, customizable crossfade, movable miniplayer, and static lyrics view - #63

Merged
ajisth69 merged 2 commits into
mainfrom
feat/eq-crossfade-miniplayer-lyrics
Oct 19, 2026
Merged

ajisth69 merged 2 commits into
mainfrom
feat/eq-crossfade-miniplayer-lyrics

Conversation

@ajisth69

Copy link
Copy Markdown
Member

Summary

This PR introduces 4 major feature additions and enhancements:

1. 10-Band Equalizer & Studio Master Clarity DSP

  • 10-Band Equalizer: Sliders for 31Hz, 63Hz, 125Hz, 250Hz, 500Hz, 1kHz, 2kHz, 4kHz, 8kHz, 16kHz with ±12dB range and 0.1dB precision.
  • Presets: Flat, Bass Boost, Studio Master, Audiophile Acoustic, Vocal Boost, EDM / Electronic, and more ported from LastWave-Native.
  • Studio Master Clarity: Quick DSP enhancement targets (Air & Sheen, Vocal Forward, Sub Punch, De-Mud Midrange, Bass Tightener) applied via mpv \lavfi\ audio filters.
  • Dock Integration: Equalizer trigger button added to the player dock.

2. Customizable Crossfade & Gapless Lossless Support

  • Customizable Duration: 3s to 12s slider in Playback Settings with discrete 1-second divisions.
  • Dual-Engine Perceptual Fader: Equal-power sin/cos volume curve across primary and standby libmpv instances.
  • Early Lossless Pre-Resolve: Pre-resolves remote streams 30s before track completion to eliminate audio gap on lossless FLAC streams.
  • Conflict & Crash Hardening:
    • Automatically bypasses crossfade in WASAPI Exclusive mode to prevent audio device lock contention.
    • Serializes standby player initialization through _serializedMpv\ to prevent Windows libmpv heap corruption.
    • Guards against async race conditions during pause, seek, and queue changes.
    • Synchronizes audio output devices and active equalizer DSP filters across players.

3. Floating, Movable Miniplayer

  • Independent floating miniplayer supporting drag-to-move positioning anywhere on desktop.
  • Integrated controls for transport, progress scrubber, and volume.

4. Static Lyrics View & Line-by-Line Sync Improvements

  • Clean presentation for un-synced lyrics without plain text clutter.
  • Enhanced line-by-line matching and multi-provider fallback.

Verification

  • \dart analyze lib\ passed with 0 errors and 0 warnings.

…and static lyrics view

- Add 10-band equalizer with presets and Studio Master Clarity DSP filters ported from LastWave-Native
- Implement customizable 3-12s perceptual crossfade with early lossless pre-resolve and WASAPI Exclusive / MPV concurrency protection
- Support detached, floating, movable miniplayer with persistent positioning
- Enhance lyrics view with clean static presentation and improved line-by-line sync
@ajisth69
ajisth69 merged commit 03d5084 into main Oct 19, 2026
3 checks 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.

1 participant