MusicPlayerDaemon / mpdscribble

a MPD client which submits information about tracks being played to a scrobbler (e.g. last.fm)
GNU General Public License v2.0
117 stars 15 forks source link

Add ListenBrainz support #29

Open Forage opened 3 years ago

Forage commented 3 years ago

It would be great to have the option to scrobble tracks to ListenBrainz in addition to or instead of Last.fm.

splintersuidman commented 3 years ago

@Forage For you information, ListenBrainz has an API that is compatible with Last.fm:

Clients supporting the old version of the AudioScrobbler API (such as VLC and Spotify) can be configured to work with ListenBrainz by making the client point to http://proxy.listenbrainz.org and using your MusicBrainz ID as username and the LB Authorization Token as password.

I am using this to scrobble to Listenbrainz, and it works just fine.

I don’t know whether there are any features of Listenbrainz for which it would be worth to have special support by mpdscribble.

animaldaydream commented 3 years ago

I don’t know whether there are any features of Listenbrainz for which it would be worth to have special support by mpdscribble.

MusicBrainz ID submission, which is the most requested feature on every ListenBrainz scrobbler.

It makes scrobbling unambiguous by using a MusicBrainz-mapped UUID for the artist, album, and track. That way the local file can have any metadata on the artist, album and title fields and it will still be mapped correctly to the relevant entry on MusicBrainz.

It's pretty much the one reason people want to migrate to ListenBrainz (other than it being fully FOSS, of course).

alastair commented 2 years ago

Hi, ListenBrainz developer here. We were just talking with another mpdscribble user in our chat who was also interested in having MBIDs submitted to ListenBrainz (and as a result of this conversation we found a bug in our compat API). We also accept all metadata added to files (such as by picard or beats), so if that data was available in the MPD database then an LB-specific client could also submit this. We may have some available time to help contribute to this feature, although we're not strong C++ developers, and one immediate requirement that I see is a json library to construct the message. Do you have any preferences for a library that we could include to construct json, or are you open to hand-crafting messages?

MaxKellermann commented 2 years ago

I like boost::json a lot, but it's not easily available; most Linux distributions don't have it. It could be integrated as git submodule, but that adds a different kind of cruft. MPD uses yajl, but that's cumbersome. If not boost::json, then I guess the nlohman JSON library is the second best choice.

badlandspray commented 2 years ago

@alastair Any news on this?

FLchs commented 3 months ago

Is it still something planned ?

rooiratel commented 3 months ago

For those that want something that works right now, an alternative that I have been using for a while now is : https://codeberg.org/elomatreb/listenbrainz-mpd

mxjeff commented 3 months ago

mpdscribble is not directly supporting ListenBrainz, though ListenBrainz exposes a Last.FM Compatible API for ListenBrainz, making mpdscribble a possible client for ListenBrainz.

[listenbrainz]
url = http://proxy.listenbrainz.org/
username = user
password = token