jaedb / Iris

Discover, explore and manage your music library across multiple sources with this beautiful web-based interface. Iris is a Mopidy frontend extension.
Apache License 2.0
1.13k stars 132 forks source link

[Feature request] Integrate LastFM service #216

Closed jaedb closed 6 years ago

jaedb commented 7 years ago

Build full OAuth integration of LastFM (similar to Spotify).

This will allow us to like tracks (#215) and also enable scrobbling what you're listening to. Further investigation required as the LastFM API docs are often full of broken links, especially the authorization process.

jaedb commented 7 years ago

Correction: Mopidy-Lastfm would handle scrobbling, so we wouldn't need to build this into Iris.

ibrokemypie commented 7 years ago

It would actually be better to re-implement this since the other project seems to have stagnated and has various issues, such as lacking support for proxies, failing completely when missing internet (opposed to caching or even just retrying connection) and being unable to connect to any other services such as libre.fm

jaedb commented 7 years ago

I'm not expecting integrating LastFM into Iris will be able to resolve those issues. Infact using Iris for scrobbling would introduce one (potentially larger) issue:

The scrobble event would be triggered by each connected client. Therefore, if you were logged in to multiple browsers or devices you would get duplicated scrobbling. This would sway your stats and dirty up your LastFM listening history (and thus all recommendations, etc).

There would also be issues with firing scrobble events when the Iris window was not in focus. Some browsers delay websocket and ajax requests until focus is restored, so there is another layer of unpredictability there.

So the initial LastFM integration to Iris will look to avoid providing scrobbling functionality, however if I can find a way to overcome the above then it could be implemented into Iris.