jmshrv / finamp

A Jellyfin music client for mobile
Mozilla Public License 2.0
2k stars 130 forks source link

Don't display lyrics when the track is instrumental #856

Open MustThinkOfAName opened 3 months ago

MustThinkOfAName commented 3 months ago

LRCGET since version 0.3.1 started using a tag [au: instrumental] to express that a track is purposefully without lyrics. I personally think it's pretty useful.

While it would be trivial to do a library scan and delete any .lrc file that only has that tag; I think it would make a nice addition to Finamp.

I'm not sure if it's out of scope as there is no official standard to notify that a track is instrumental; or if that change should instead be pushed to Jellyfin?

Chaphasilor commented 2 months ago

Hey, thanks for the suggestion!

Since Finamp only uses the data provided by the Jellyfin server and doesn't look at the tags itself, you would indeed need to create a feature request for this at the Jellyfin server repo (or contribute it yourself!).

Right now there's no way for Finamp to tell.

However, if there are no lyrics provided for a track, Finamp should disable the Lyrics button already and show an "error" message if lyrics are already shown. So I'm wondering, what exactly is your setup here?

MustThinkOfAName commented 2 months ago

Thank you to you for your quick answer :)

As for my setup, I use LRCGET to automatically (or as much as possible) fetch all the lyrics to the audio files on my server. Historically, it would simply skip instrumental tracks but that behavior was troubling as it be hard to discern wherever a track was instrumental or simply did not have lyrics referenced to it. So they pushed an update so that instrumental tracks will still have a .lrc file assigned to it but that file would only contain [au: instrumental].

Current Finamp shows an icon with a crossed microphone when a track has no .lrc file associated with it. I think it could be nice to show that icon only when the .lrc file contain [au: instrumental] and show no icon when no .lrc files exist. (hence why that issue could indeed more be for finamp than for jellyfin)

Chaphasilor commented 2 months ago

I see. Would you mind uploading a sample lyrics file to I can check if Jellyfin exposes the instrumental status somewhere? If it's properly exposed (and we don't need to parse it ourselves), we could consider changing the behavior. We could also keep the current icon for no lyrics, and add a music note icon and the text "Instrumental" instead of "Lyrics", but we'll have to see once we get that far ^^

MustThinkOfAName commented 2 months ago

Obviously! I'll attach it here. (Github won't allow .lrc files to be attached. I'll rename it into .lrc.txt. Nonetheless the fileitself just contains [au: instrumental])

As far as I know, Jellyfin treats it as a lyric itself and prints [au: instrumental].

Thank you again :)

07 - Kennedy.lrc.txt