I got tired of waiting for my patches to be merged into mafw-lastfm, so I continued with my project which I decided to name maemo-scrobbler.
maemo-scrobbler is a scrobbler application (last.fm/libre.fm) for the Nokia N900 that listens for events coming from the official media player app through MAFW.
The inspiration (and some code) comes from mafw-lastfm which does basically the same thing, but lacks some features. However, the code-base of maemo-scrobbler is completely different as I wrote it from scratch. First, I wrote a simple libscrobbler library which uses libsoup and a test application that can be easily run on the desktop. This way I was able to test the main use-case throughly.
Compared to mafw-lastfm, maemo-scrobbler has:
-
Support for multi-scrobbling (both last.fm and libre.fm at the same time)
Includes a song queue per service.
-
Improved song queue handling
Since internally it uses libscrobble (which is independent of MAFW), the important code can be easily tested on desktop sw, and it has been done so… throughly.
It doesn’t matter how flaky your network is, or that the servers are down, the songs will be submitted.
-
Permanent storage
The song queue is not lost, even on crashes, device reboots, or software updates.
-
Video clips are ignored
Small feature, but important.
In other words: maemo-scrobbler Just Works™
It’s now on extras testing, please give it a try and vote up.
For more info and the source code, check in github.
Good thing. One question: does it supports offline scrobbling, e.g I listen music all day long and when it finds a network it scrobble package of sounds? It’s very useful for mobile devices and realized yet in the majority desktop scrobbling libs.
@taburedko Of course it supports that! That’s the main use-case
It’s following the recommended heuristics from last.fm:
If a hard failure occurs at the handshake phase, the client should initially pause for 1 minute before handshaking again. Subsequent failed handshakes should double this delay up to a maximum delay of 120 minutes.
So you can be sure that all the queued songs will eventually be submitted.
The only thing missing to make the submission perfect is to listen to NetworkManager to retry when a network connection is present. This way you can be sure that songs will be pushed as soon as possible.
This so much for taking your time to release this app. I think it would come in handy for a lot of music player project who would not need to code last/libre fm support into their app. The closest thing to this server is mpdscrible which works with mpd. But this library is much more matured and the ability to work across all platform is really cool. btw are u on twitter or identica?
@bigbrovar Thank you! Yes, ideally I think there should be a D-Bus service hat uses libscrobbler, then all clients need to do is send a D-Bus message. I have discussed this with Marc-André Laureau who knows more about D-Bus than I do, and there doesn’t seem to be an easy way to do that.
In the mean time for the N900 I think this is more than enough.
And yeah, http://{identi.ca,twitter.com}/felipec
Duuud. Does it work on any maemo thingies?… like mmm… my uber cool n810? I’m tired of listening to music on my n85 and not being able to update me last.fm profile
Unfortunately no. Only the ones with MAFW (N900). I believe there’s another project for N8X0, and for N85 there must be something.
Have you tried mobbler?.
Me quedaré con puro Canola y el plug-in de last.fm entonces
Me quedaré con puro Canola y el plug-in de last.fm entonces
Pingback: Pinguins Móveis » Blog Archive » Pinguins de feriado