New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support proxying stars to last.fm, listenbrainz #2058
base: master
Are you sure you want to change the base?
Conversation
Download the artifacts for this pull request: |
Some things to note:
|
@kgarner7 I was interested in this PR and tried running it, but it looks like it uploads all buffered stars only on start. Does it upload periodically, like every x hours? I tested it only for ~30minutes. and btw nice work<3 |
Ugh...looks like I forgot to make the channel for proxying stars, so it would only do it at the beginning. Thanks for catching it! |
core/agents/listenbrainz/agent.go
Outdated
} | ||
|
||
func (l *listenBrainzAgent) CanStar(track *model.MediaFile) bool { | ||
return track.MbzTrackID != "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The field got renamed to MbzRecordingId
#2279 , so this needs to be adapted in this PR.
Another way to handle the situation of missing MBID would be to use the metadata lookup endpoint first. See:
https://listenbrainz.readthedocs.io/en/latest/users/api/metadata.html#get--1-metadata-lookup-
https://listenbrainz.readthedocs.io/en/latest/users/api-usage.html#lookup-mbids
As this using the same mapping that LB would also apply when submitting a listen without IDs I think it would be consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Personally, I'd rather not try and guess the correct metadata (that's basically what the endpoint does) for stars/loves, but I'll defer to Deluan on this.
So what is blocking this, guys? Are there any plans to support two-way sync? |
I'll review it for next release.
There are no plans to support two-way sync, as both Last.fm and ListenBrainz APIs do not expose timestamps. |
Can this do something similar to lightweight music server?(lms) |
I don't know.... What does it do? :) |
Synchronizing 'love' feedbacks |
This PR adds the ability to forward stars/favorites from Navidrome to Last.FM and ListenBrainz-based backends. I extended the existing agents to support accepting stars. By default, forwarding stars is disabled.
Resolves #1547.