whoeevee / EeveeSpotify

A tweak to get Spotify Premium for free, just like Spotilife
2.1k stars 163 forks source link

[FEATURE REQUEST] Auto-hide Lyrics If No Lyrics Found #253

Open NotDarkn opened 1 month ago

NotDarkn commented 1 month ago

Is this issue appropriate?

Is this issue unique to EeveeSpotify?

Have you searched the existing issues?

Describe the request.

Hi again!

This request is to basically auto-hide (or remove) the Lyrics box when it's unable to find Lyrics corresponding to the song, or when it says "Couldn't load the lyrics for this song."

I know feature requests are usually not accepted, but I believe this could be a rather easy feature to implement (at least looking at it from the surface..)

While this isn't something that needs to be added, I think it'd be a nice touch to add as I'm pretty sure this already is implemented in the original app? Anyways, thanks for making EeveeSpotify, and I hope this gets implemented (or at least read).

whoeevee commented 1 month ago

Hey! It's a really nice feature, but it's a challenge to implement.

Tracks on Spotify have has_lyrics property that determines whether lyrics are available for a track. EeveeSpotify has to overwrite this property (otherwise, the app won't load lyrics for songs that only have lyrics on Genius, for example). It doesn't know if the lyrics are available until it tries to fetch them. If the tweak is unable to load lyrics from both the primary source and Genius (if fallback is enabled), the "Couldn't load the lyrics for this song" message will be displayed.

To hide the lyrics card, too many UI stuff with ScrollCollectionViewManager, NowPlayingScrollViewController, and possibly other classes are required. I believe it's not a significant problem and is a rare case when a song has no lyrics on Genius.

NotDarkn commented 1 month ago

Hey! It's a really nice feature, but it's a challenge to implement.

Tracks on Spotify have has_lyrics property that determines whether lyrics are available for a track. EeveeSpotify has to overwrite this property (otherwise, the app won't load lyrics for songs that only have lyrics on Genius, for example). It doesn't know if the lyrics are available until it tries to fetch them. If the tweak is unable to load lyrics from both the primary source and Genius (if fallback is enabled), the "Couldn't load the lyrics for this song" message will be displayed.

To hide the lyrics card, too many UI stuff with ScrollCollectionViewManager, NowPlayingScrollViewController, and possibly other classes are required. I believe it's not a significant problem and is a rare case when a song has no lyrics on Genius.

I see, at first I had imagined that it would be easy to implement since it looked like a pretty simple feature to add by the looks of it, but I didn't know there were more to it behind the scenes than I thought.

Maybe someday it'll be added? But I do get that this isn't really a significant problem, so.. thanks for telling me!

p.s: i'll keep this open if anyone wants to add it themselves in a pr (or if it just gets closed by a collaborator)

3xynos7 commented 1 month ago

image

It shows Fallback: No song found but also shows wrong lyrics.

asdfzxcvbn commented 1 month ago

spotify changed its behavior in recent versions, this was attempted while fixing the recent lyrics issue, some new methods were hooked to try to get this working, however this actually turned out to be impossible with genius fallback, there is too many moving parts to get this working currently tbh

well we did get it working, but it freezes the whole UI for like a second

NotDarkn commented 3 weeks ago

spotify changed its behavior in recent versions, this was attempted while fixing the recent lyrics issue, some new methods were hooked to try to get this working, however this actually turned out to be impossible with genius fallback, there is too many moving parts to get this working currently tbh

well we did get it working, but it freezes the whole UI for like a second

theoretically, you could make it an experimental option? i'm sure some users, like me, would be fine with it freezing the UI for a second or two. not like we'd be CONSTANTLY looking at the UI anyways

asdfzxcvbn commented 3 weeks ago

spotify changed its behavior in recent versions, this was attempted while fixing the recent lyrics issue, some new methods were hooked to try to get this working, however this actually turned out to be impossible with genius fallback, there is too many moving parts to get this working currently tbh well we did get it working, but it freezes the whole UI for like a second

theoretically, you could make it an experimental option? i'm sure some users, like me, would be fine with it freezing the UI for a second or two. not like we'd be CONSTANTLY looking at the UI anyways

you would really prefer the UI freezing over just not scrolling down to see the missing lyrics text box? to me it seems a little silly.. how many songs do you see with no lyrics?

NotDarkn commented 3 weeks ago

spotify changed its behavior in recent versions, this was attempted while fixing the recent lyrics issue, some new methods were hooked to try to get this working, however this actually turned out to be impossible with genius fallback, there is too many moving parts to get this working currently tbh well we did get it working, but it freezes the whole UI for like a second

theoretically, you could make it an experimental option? i'm sure some users, like me, would be fine with it freezing the UI for a second or two. not like we'd be CONSTANTLY looking at the UI anyways

you would really prefer the UI freezing over just not scrolling down to see the missing lyrics text box? to me it seems a little silly.. how many songs do you see with no lyrics?

i have a whole playlist just full of instrumental songs, lol..