jeffvli / sonixd

A full-featured Subsonic/Jellyfin compatible desktop music player
GNU General Public License v3.0
1.85k stars 74 forks source link

Parse lyrics and display them in bigger window box #151

Closed jacktheripper19 closed 2 years ago

jacktheripper19 commented 2 years ago

Is your feature request related to a problem? Please describe. The ability to parse lyrics from .lrc file or embedded metadata/tags and display them along with a bigger display for the currently playing song.

Describe alternatives you've considered This feature is already implemented in Elisa the media player from KDE: https://invent.kde.org/multimedia/elisa/-/merge_requests/231

jeffvli commented 2 years ago

Did you want the lyrics to appear inside the Sonixd client or be passed into the MPRIS spec?

jacktheripper19 commented 2 years ago

I don't know what benefit you get from passing lyrics into MPRIS but showing them inside Sonixd would be a good first step. The way I imagine it for the ui would be either:

jeffvli commented 2 years ago

Thanks for the clarification. I wasn't quite sure where you wanted the lyrics since you mentioned Elisa media player. I'll look into adding lyrics support like how you mentioned.

jeffvli commented 2 years ago

Started to take a look at this for 0.12.0.

Subsonic

Has support for lyrics using the /getLyrics endpoint but there's no way of knowing a song has existing lyrics until that specific endpoint is called.

In the list view for songs, add an icon in a new column to indicate the existence of lyrics. When clicked a pop up window shows up with only the lyrics and could be closed to go back to the previous view.

That means that adding a new column to the list view wouldn't be possible unless /getLyrics was called for every song in the list which would not scale well. I'll look into adding it into the cover art hover like you specified as well as eventually adding a new context menu option to display a modal of the song details.

Jellyfin

Currently no way to parse lyrics? https://features.jellyfin.org/posts/285/add-lyrics-to-songs

jacktheripper19 commented 2 years ago

I don't know if this could help but from my search I found tuon music box, a similar client only on linux that has this feature implemented. Maybe looking into their implementation could inspire.

jeffvli commented 2 years ago

image

Added a separate button to display the lyrics modal (only appears if the song has lyrics). I decided to separate it from the cover art since I couldn't find a good way to style it together. The cover art hover has since been removed, and clicking it now brings up a modal of the full-size image.