ddddxxx / LyricsX

🎶 Ultimate lyrics app for macOS.
Mozilla Public License 2.0
4.73k stars 390 forks source link

Issues when using Spotify Connect #312

Closed ceIia closed 4 years ago

ceIia commented 4 years ago

Hey there. I just got LyricsX fresh from the App Store.

Everything is working fine in the app, but I noticed a strange behavior in the app when playing music on my Amazon Echo using Spotify Connect: lyrics stop updating automatically. It will still sync the previous song's lyrics (assuming you have some loaded) with the correct timestamp of the playing song though, just not detect it's a new song.

Current playing sound (COME THRU):

Screenshot 2019-11-24 at 02 44 43

LyricsX displaying lyrics from a song that was a few tracks before (WANTED U):

Screenshot 2019-11-24 at 02 46 04
ghost commented 4 years ago

same here while playing on a gramafon using Spotify connect. you can manually search the song that is playing, that it is working fine

ceIia commented 4 years ago

Hey, found out something: when using Spotify Connect to my iPhone, it works perfectly. The bug only appears when using Spotify Connect to Amazon Alexa devices. Maybe there are more devices specific behaviors, but that's all the information I have.

Lv-Max commented 4 years ago

Same here, when played from alexa, the lyrics stop working. Until switch to other device rather than alexa. 一样的情况,使用spotify coneect时切到echo dot放的时候无法搜索歌词, 除了echo dot 其他都正常。

ddddxxx commented 4 years ago

Sorry for delayed response. The following script should print name of current track. If not, Spotify has a problem and I can't help.

$ osascript -e 'tell app "Spotify" to get name of current track'

If the script works as expected, please try v1.5.2-beta.1.

ghost commented 4 years ago

the script does not print the name when playing on connect, when playing 'local' it works fine

ceIia commented 4 years ago

When playing on iPhone via Spotify Connect it outputs correctly. When playing to an Alexa Device, no output.

ddddxxx commented 4 years ago

The bug has been reported at Spotify Community. We can hope that a future Spotify release will fix it.

ShikChen commented 4 years ago

The bug report in Spotify is already there for half a year. Is it possible to resolve this issue by querying the Spotify API?

A similar idea is proposed in https://github.com/ddddxxx/LyricsX/issues/141. It seems that there is a WIP version at https://github.com/ddddxxx/MusicPlayer/blob/master/Sources/MusicPlayer/Players/iOS/SpotifyiOS.swift.

ddddxxx commented 4 years ago

@ShikChen LyricsX never use Spotify Web API. The iOS version currently use official Spotify SDK (also the WIP version at MusicPlayer submodule).

Can confirm that The Spotify Web API will resolve this issue (found this). Unfortunately It won't come anytime soon. There are more important things to do, like refactoring with Combine, rewrite lyrics window with SwiftUI, iOS version, lyricsx-cli for linux, etc.

Created ddddxxx/MusicPlayer#4.

ddddxxx commented 4 years ago

When using Spotify Connect, does the system Now-Playing widget shows player info? If so, please try v1.5.2-beta.3 (and follow the instruction from release note). It can read player info from system now playing widget.

ShikChen commented 4 years ago

When using Spotify Connect, the now-playing widget shows the progress and the app icon correctly, but there is no song name displayed.

Note that osascript -e 'tell app "Spotify" to get id of current track' shows the correct track id. I tried v1.5.2-beta.{1,2,3} as suggested above, but the song name is still empty in LyricX.

ceIia commented 4 years ago

Hi! I'd like to add that - apparently - this seems to also be an unexpected behavior over at Spotify. See issue on their forums.

ghost commented 4 years ago

yesterday I received a new version of the Spotify app on my Mac and I noticed it is working fine now!

ceIia commented 4 years ago

i have noticed the same thing as well, spotify seems to be showing up correctly in the notification center’s now playing, and lyricsx gives me lyrics correctly when playing on alexa. hurray!