Skip to content

DRAFT: Multi-player, Multi-lyric source enhancements (IN PROGRESS)#40

Open
BrianCArnold wants to merge 3 commits into
raitonoberu:masterfrom
BrianCArnold:master
Open

DRAFT: Multi-player, Multi-lyric source enhancements (IN PROGRESS)#40
BrianCArnold wants to merge 3 commits into
raitonoberu:masterfrom
BrianCArnold:master

Conversation

@BrianCArnold
Copy link
Copy Markdown

I'm not a Go developer, so I'm still working on how to do what I want to do, but generally the idea is to list multiple players in the configuration and multiple lyric source configurations, so that if the hosted or Spotify lyric sources don't provide lyrics, but the user has .lrc files present, it will use those as a backup.

Also, looking into changing how the query data is passed to the lyrics providers, so that we can check the local file sources to make sure that the album, artist, and song title are present, and also if the path of the local MPRIS player specifies a specific file path, check that file path for a matching .lrc file.

If any Go developers have ideas on how to make it listen to multiple players, please let me know, I'm a C# guy.

… is the last option. Also, local now checks if the mp3 path from xesam has a lrc at that exact path.
…g to decide whether to log. Also, loads multiple players now (mpris, browser, spotify, ...) but I don't think it's pushing all the events to the same channel? Need to write something so that it handles the first item in the player list when its playing and sends data, that way we can say 'get something from the browser if they browser is playing, but if a local app is sending MPRIS data, then use that data, etc., etc.,' This will allow users to specify that they want Spotify as an app, Strawberry locally, and Jellyfin in a browser to all provide information, and to use the top listed one first if they all send data. Also, it can now provide lyrics from multiple sources, local, hosted, spotify, etc.
@sanderr
Copy link
Copy Markdown

sanderr commented May 30, 2024

Looking forward to this. I especially love the part "if the path of the local MPRIS player specifies a specific file path, check that file path for a matching .lrc file." The current local provider is a bit too naive for my library, and this should solve a large part of that. I was considering to create a PR for that myself when I discovered this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants