Skip to content

fix(mpris): enrich metadata across equivalent players#2928

Open
arqueon wants to merge 1 commit into
AvengeMedia:masterfrom
arqueon:fix/mpris-source-quality
Open

fix(mpris): enrich metadata across equivalent players#2928
arqueon wants to merge 1 commit into
AvengeMedia:masterfrom
arqueon:fix/mpris-source-quality

Conversation

@arqueon

@arqueon arqueon commented Jul 24, 2026

Copy link
Copy Markdown

Summary

  • keep the active MPRIS source stable and prefer a controllable player over informational mirrors
  • group equivalent playing sources and use the richest peer for stable title, artist, and album metadata
  • let TrackArtService borrow artwork from an equivalent MPRIS source
  • show the stable album value in the native media player

Why

Browsers and desktop integrations can expose multiple MPRIS players for the same playback. One source may provide working transport controls but incomplete metadata, while another exposes the artist, album, or artwork. Selecting only the first playing entry leaves the native DMS media UI with missing information.

The fix is provider-agnostic: it operates only on MPRIS state and capabilities and adds no site-specific lookup or scraping.

Impact

DMS remains the owner of player selection and transport. The native media surfaces and any plugin consuming MprisController or TrackArtService can use richer metadata without switching control to a read-only mirror. Single-source players keep their existing behavior.

Validation

  • Qt 6 qmllint passed for all three changed QML files
  • live reload completed without new QML errors
  • verified with simultaneous controllable, metadata-rich, and read-only MPRIS sources: artist and album remained correct and TrackArtService.artReadyFor() returned true
  • confirmed the patch adds no provider, domain, or HTML-scraping logic

@arqueon
arqueon marked this pull request as ready for review July 24, 2026 19:22
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