/waylyrics

Primary LanguageRustMIT LicenseMIT

Waylyrics

tg-group

Simple universal on screen lyrics made with GTK4 and ❤️.

Build/Install

Check INSTALLATION.md

Requirement

  • A player supports MPRIS well.
  • In particular, a wm allows you set windows as top-level one's.

Recommended Players

online:

local:

MPRIS-unfriendly Players

Player OSD issue
netease-cloud-music-gtk X gives 0 position
Firefox X do not provide position call
Chrom* X break the "unique" gurantee for TrackID
youtube-music X break the "unique" gurantee for TrackID
qqmusic O no info other than title/artist avaliable
flutter-netease-music X no mpris support

Directories

Typically,

~/.cache/waylyrics/XX/...
~/.config/waylyrics/...
~/.local/share/waylyrics/themes/...

Approach

Current approach my seems dirty:

  1. get the likely actived player when none is connnected, and disconnect from one only if it's not avaliable more
  2. keep sync with 2s interval and 20ms refresh for lyrics
  3. for Qcm, Feeluown-netease, ElectronNCM, we could get song id directly
  4. use the length-matched result (or first result if former is not found) of search_song and sync START in each run, fetch lyric only when needed

Alternatives

For Sway users, you may want use waybar-netease-music-lyrics.

YesPlayMusicOSD have great lyrics support

BruceZhang1993's lyricsSeeker is still WIP, but it may have better-looking and better integration with KDE.

Copay's caraoke-plasmoid is currently Plasma-only, though it is easy to remove plasmoid components

Credit

License

FOSSA Status