Bug 121587

Summary: Play counter should only be increased if the track has been played completely
Product: [Applications] amarok Reporter: Hans Meier <ma2412ma>
Component: Collections/LocalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Hans Meier 2006-02-08 11:52:15 UTC
Version:            (using KDE KDE 3.5.1)
Installed from:    SuSE RPMs

Right now, the play counter is increased even when only listening to a track for a few seconds and then pressing "stop". However, it would be more sensible to only increase the play counter if the song has been played completely (this is also the behavior of iTunes).
Comment 1 Alexandre Oliveira 2006-02-09 21:17:26 UTC
It's intended to work that way, so, it's not a bug.
Comment 2 Hans Meier 2006-02-10 10:27:22 UTC
OK. However, it doesn't make much sense that way, because I often scan a lot of tracks just for a few seconds, and they get counted, which IMHO shouldn't be the case. As I've already mentioned, maybe amaroK should follow the behavior of iTunes here.
Comment 3 Ben Almes 2006-05-16 03:40:20 UTC
I'm definitely supporting the itunes behavior here. I understand the track rating is based somewhat on play counts, but amaroK shouldn't increase the count if the track isn't played through. It messes up my playlists.. :)
Comment 4 Shane King 2006-05-16 04:42:56 UTC
The iTunes behaviour is stupid, if you have some track with silence at the end that you skip over it doesn't count as a play. I much prefer the winamp style of counting as soon as the song starts. IMO a reasonable compromise would be last.fm style behaviour: half way through or 4 minutes in, whatever comes first.
Comment 5 Hans Meier 2006-05-16 11:34:07 UTC
Shane, your suggestion is perfectly OK - the only thing that is annoying right now is that the play counter is increased now matter how long the song was played (i.e. for all times t>0) - that way quickly scanning the first 5 seconds of a track increases the counter, which doesn't make sense at all. It should be changed to e.g. min(t=4min, t=(length of track)/2) (other suggestions?).
Comment 6 Ben Almes 2006-05-16 13:47:01 UTC
IMO it should be calculated in percentage, not in minutes. If you listen to live shows/podcasts or other long files, it shouldn´t count after 4 min. I agree it doesn´t need to be played through completely.

Why not make this customizable, isn´t that what KDE is all about? ;)
Comment 7 Hans Meier 2006-05-16 14:03:35 UTC
Very good idea - the user should be able to set the desired value (in % played) maybe?
Comment 8 Chris Peikert 2007-02-25 01:46:32 UTC
The last.fm behavior is very sensible -- no matter what you're listening to (podcast/live show/etc), once you've listened for 4 minutes you've heard it!

Please don't make this any more complicated than it needs to be with minute customizations etc..
Comment 9 Eduardo Argollo 2007-03-08 15:13:24 UTC
I think the simplest way is just to add an option in preferences to let the user decide if the song counter is increased when the song begins or ends. Maybe later on it could be a percentage function of the song time but I think it would be ok just with a simple checkbox in the preferences.

By the way I also would like to have this feature changed for just increasing the counter in the end of the songs. I also offer myself to try to help this development although I would need some guidelines in order to find the exact place in the sourcecode.
Comment 10 Eduardo Argollo 2007-03-08 15:15:36 UTC
*** This bug has been confirmed by popular vote. ***
Comment 11 Stefan Becker 2007-05-05 11:39:17 UTC
Actually the current behavior is also a bug: If the playback fails for some reason, it is still counted as "played". VERY annoying :-/

At least on my system amarok has problems with continuous playback without gaps: it sometimes fails to open the sound device when starting to play the next track. I guess there is either a "sync()" missing or there is no way to ensure that all the old audio data is processed when "close()" returns so that the next "open()" will succeed.
Comment 12 firepol 2007-07-04 21:09:01 UTC
the easiest implementation (OMO) would be to let the user customize the *consecutive listening time*. percentage requires some math, maybe it would be to hard to implement (developers have a real life also, right? let's keep things easy to implement). personally I would count a song as played when one of these 2 conditions is true: 1) song is played entirely OR 2) song is listened consecuitvely for at least X time. I would personally put 40 seconds for "X", as default. With "consecutively" I mean that the counter (trigger to mark the song as played) would restart each time the user scans (forward, or rewind) the song.
Comment 13 firepol 2007-07-04 21:14:52 UTC
i almost forgot... this feature i think can be realted also to LAST.FM. send to last.fm the data of the played song after the same X seconds configured for counting it as played.
Comment 14 Hans Meier 2007-07-05 08:20:22 UTC
Great idea firepol! Still a percentage would be better since there could be a 20 second song in theory, and then 40 seconds would be an invalid value. When Amarok is playing a song, it should know about its length (shouldn't it?), so calculating e.g. 40% of the total length should be no problem. Resetting this counter when forwarding/backwarding is a good idea though.
Comment 15 Seb Ruiz 2007-07-05 15:10:30 UTC
a) I doubt we will ever have an option to adjust this parameter
b) last.fm has rules for when to submit data - whichever comes first: 50% or 4 minutes of playtime. We can't change these rules
Comment 16 Dan Meltzer 2008-07-27 02:58:46 UTC
We now only increment playcount if more than half of the song has been played.