FS#7754 - Better Data collection for Most Played.

Attached to Project: Rockbox
Opened by Jeton Aliji (jeton) - Tuesday, 11 September 2007, 14:54 GMT
Last edited by sideral (sideral) - Monday, 18 April 2011, 13:31 GMT
Task Type Patches
Category Database
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


The Database seems to consider as "played" the songs that are played only 1-3 seconds (i.e. while skipping them).

A better solution would be to have a sort of scrobbling option, where we can set a certain amount of time when the song should be considered as "played". In percentage maybe , 50% or less.
This task depends upon

Closed by  sideral (sideral)
Monday, 18 April 2011, 13:31 GMT
Reason for closing:  Fixed
Additional comments about closing:  Since r29250 we don't log DB changes unless the track has played for at least 15 seconds (or is shorter and has completed playback without being interrupted). (SWCODEC only, alas -- for HWCODEC tagtree_track_finish_event cannot discern between automatic and user-triggered track change.)
Comment by Xinlu Huang (polygonal) - Tuesday, 11 September 2007, 22:32 GMT
I think conditions to what is considered as played might be controversial... Although this can be easily modified in function tagtree_unbuffer_event in apps/tagtree.c, so you can change what is written back to database to whatever you like.
Comment by Jeton Aliji (jeton) - Wednesday, 12 September 2007, 12:03 GMT
The problem is that I sometimes push the Next button and a song starts, and in a period of seconds a go to the next one. Rockbox counts that song as played...
Comment by Xinlu Huang (polygonal) - Wednesday, 12 September 2007, 14:13 GMT
Well, then what is considered as played if I have a bunch of 1-2 second pieces (yes I do have them)?

Although I personally don't really have any use for this, I have a quick dirty patch for your personal use (if you want it) - if only 1.5 second or less is played, this patch considers the song as unplayed and do not update any runtime statistics. And you can modify the 1.5 second to whatever you want (the time is counted in milliseconds, so replace 1500 with 2000 if you want 2 seconds of grace period). The patch is totally untested, but I don't see any harm to it.

Comment by Jeton Aliji (jeton) - Wednesday, 12 September 2007, 14:17 GMT
Thanks for the patch. As I don't know to create a custom build I'm gonna ask cpchan or chrisjs to add it to their build.

This actually was the idea, to give the user an option to choose the time when a song is considered as played. uses this method for the scrobbling of the songs you play.