Skip to content
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

Libre FM support #76

Open
codeinabox opened this issue Mar 31, 2014 · 10 comments
Open

Libre FM support #76

codeinabox opened this issue Mar 31, 2014 · 10 comments

Comments

@codeinabox
Copy link

Is it possible to add support for scrobbling to Libre FM? Whilst I am a firm supporter of Last FM, it would be handy to have a contingency plan

@svenackermann
Copy link
Owner

Hi,
I checked the documentation of libre.fm and actually it would be kinda easy to give you an option to use libre.fm instead of last.fm for scrobbling since libre.fm uses a similar API.
Unfortunately, libre.fm does not provide all the methods that last.fm provides and the important method to get the current "loved" status for a track is missing. Thus, I have no possibility to check if the current track has been loved in the past.
However, the methods to authenticate, to report the now playing track, to love/unlove and to scrobble are available, so anything except the loved status would work.

Also, it seems that libre.fm is still in an experimental status (lots of open bugs, poor documentation, broken links on homepage).
If the method to get the "loved" status becomes available (I asked the developers), I will think again about adding support, but since then I don't think that'll make much sense.

Anyway, thanks a lot for your suggestion!

Sven

@svenackermann
Copy link
Owner

Still no progress on libre.fm about the requested features, so I close this now

@rubin110
Copy link

Would appreciate seeing this implemented without the loved options. It would also be great to be able to log into both last.fm and libre.fm.

@svenackermann
Copy link
Owner

Getting the loved status is kind of a prerequisite for the other features. Also, there are more problems with the integration than the loved status. Again, the site and integration API still looks too experimental to me.

@codebykat
Copy link

Another +1 for this. last.fm has been going downhill for the past while. I agree with you that libre.fm has some missing features, but since it can act as a scrobbling target I'd love to see it as a power-user feature.

@svenackermann
Copy link
Owner

Unfortunately libre.fm seems to be even less stable than last.fm: their site is completely down at the moment (HTTP error 500). I still do not see any progress on libre.fm and the features I need from them, so I have no chance to help you.

@codebykat
Copy link

I understand, just wanted to comment so I'd get a notification if this ever got reopened. :)

The 500 was just poor timing I guess, though I agree with you that their service doesn't appear particularly stable either. (Homepage now says they're migrating the database to address some recent issues.)

It might be moot, as the best(?) answer might be adding a line to /etc/hosts and letting everything that thinks it's posting to Last.fm get redirected to Libre instead. But nothing in the universe is actually documented, so... WHO KNOWS.

@svenackermann
Copy link
Owner

Unfortunately, it's not as easy as replacing the URL. Libre.fm tried to provide a scrobbling API similar to the one of last.fm, but they're missing some fundemental things. It's only a subset of the last.fm API. Playing around with /etc/hosts is also not an option for most users (that don't even know what that is).

@mattl
Copy link

mattl commented Sep 27, 2016

What are we missing? We'd be happy to work with you to support whatever is needed.

@svenackermann
Copy link
Owner

Hi @mattl , nice to hear from you.
I'm not sure, I think you added the "loved" field in the "getInfo" method, but support for CORS was still missing. last.fm sends the "Access-Control-Allow-Origin: *" (and whatever else is needed to support cross-domain requests) for each request to their webservice. I need that because I call your webservice from origin "chrome-extension://npngaakpdgeaajbnidkkginekmnaejbi" (which in fact sets origin "null" in the request as far as I know).
But even if you add this, I have absolutely no time at the moment to implement the connection on my side, pull requests are very welcome. I'm also not exactly sure how to display the data (loved status, play count, ...) from both webservices. Maybe I would just divide the heart that shows the loved status in 2 parts: left is last.fm, right is libre.fm.
All services I need are:

  • auth.getSession
  • track.getInfo (with attributes loved, listeners, playcount, userplaycount, url, artistUrl, albumUrl)
  • track.love
  • track.scrobble
  • track.unlove
  • track.updateNowPlaying

Thanks for your help,
Sven

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

No branches or pull requests

5 participants