gix / foo_scrobble

foobar2000 component for last.fm scrobbling
MIT License
417 stars 12 forks source link

Support for other scrobbling services #1

Open jackm opened 6 years ago

jackm commented 6 years ago

I'd like to make a feature request for this component to support other scrobbling services, such as libre.fm

I don't claim to know everything that would be required to implement this feature, but I imagine that allowing the user to specify the scrobbling URL or select from a pre-defined list of services would be necessary.

I am unsure if most other scrobbling services have an API that supports authorizing apps the way that Last.fm's scrobbling 2.0 API does. This may mean that there should be a fallback to password authentication in this case.

dgasaway commented 4 years ago

For what it's worth, ListenBrainz appears to support the 2.0 API. The plugin may just need an option to specify the server URL. https://listenbrainz.readthedocs.io/en/latest/dev/api-compat.html

EliasAlucard commented 3 years ago

Libre.fm support would be nice. As for Libre.fm itself, it's basically in maintenance mode at this point, and its features and functionality is far from that of Last.fm and ListenBrainz, however, Libre.fm is also open source and it's the only one of these scrobbling services not supported by foobar2000 and most other audio players on Windows. On Android, both Last.fm Simple Scrobbler and Pano support Libre.fm as well as Last.fm and ListenBrainz, so Android scrobbling isn't a problem, but on Windows, it's difficult to get the scrobbling working on all three services.

On that note, it'd be cool if your plugin could also support ListenBrainz scrobbling. I know there's foo_listenbrainz2, and it works fine (although it doesn't support scrobbling split artists, which foo_scrobble handles very well), however, one plugin should be enough for scrobbling, instead of having to install separate plugins for every scrobble website.

dgasaway commented 3 years ago

Thanks for pointing out foo_listenbrainz2.

gix commented 3 years ago

If ListenBrainz does indeed support the 2.0 API this should be straight forward (at least in an either-or mode, not scrobbling to both). Last time I looked (which has been some time ago) Libre.fm did not support token authentication, but this seems to have changed? Not much documentation available.

EliasAlucard commented 3 years ago

The ideal is of course that foo_scrobble can scrobble to Last.fm, ListenBrainz and Libre.fm all three at the same time. You're saying this can't be done over some technical issue, gix?

gix commented 3 years ago

You're saying this can't be done over some technical issue?

Not a technical issue, just more effort compared to just using a different API URL. Stuff like the UI and internal caching have to be done separately per scrobble API.

EliasAlucard commented 3 years ago

You're saying this can't be done over some technical issue?

Not a technical issue, just more effort compared to just using a different API URL. Stuff like the UI and internal caching have to be done separately per scrobble API.

Okay, have you had a look at SLS and Pano? Doesn't really seem to be an issue as both of them scrobble to Last.fm, Libre.fm and ListenBrainz all at the same time.

https://github.com/simple-last-fm-scrobbler/sls https://github.com/kawaiiDango/pScrobbler

It'd be cool if you could take a few cues from how they go about it, and add similar functionality to foo_scrobble. But both of them are GPL licensed so if you want to reuse their code I guess you have to switch license to GPL also, which you should do anyway.