Re: [Banshee-List] Scoring question



@Freddy-N, you're right, Banshee doesn't currently calculate score strictly based on the the play and skip counts.

>�4. Calcutate Score as: Score = SkipCount? 100 * (PlayCount / (PlayCount +
> SkipCount)): 0
>
> Never use percent of played song. Never use rounding or implicit typecast
> (int)(double) to determine PlayCount or SkipCount.

In the current implementation, rounding and typecasting are never used to determine PlayCount or SkipCount. �To determine Score, your algorithm would still need rounding and casting because C# won't let you assign 100 * (PlayCount / (PlayCount + SkipCount)) to Score, which is an integer. �Your algorithm does simplify things by ignoring the percent completed, but how does that simplification benefit the user? �Personally I think the current implementation is more accurate. �Doesn't it make sense that a song's score would be higher if you listen to 95% of it before pressing the next button instead of 5% or even 60%?

Also, I have a question about your test case:

>�4. Press shortly after half of the song the "Stop" button and start a new
> song. -> Third song stops. Then new song plays.
...
>�3. Song: �PlayCount=1, SkipCount=1, Score ~51

I can't reproduce this, and there are several reasons this shouldn't be possible:

- if you pause a song and manually start another song, the score/playcount/skipcount of the first song shouldn't change because OnPlayBackFinished() is never triggered.

- if you stop a song (with a multimedia keyboard or remote, for example), or press the next button, Banshee will either increase the PlayCount or the SkipCount depending on how much of the song you listened to, but it will never increase both (seeTrackActions line 92).� A score of ~51 would make sense, though, because you listened to 51% of the song.

@Brian, the Score algorithm used to use Math.Floor for rounding, so a score of 99.5+ would have been rounded down to 99. �Now it uses Math.Round, so 99.5 would round up to 100. �So, if a song has one skip, its score could still be 100 if it has 199 plays. �In theory, that is. �I don't have any songs that meet that criteria, so I guess I can't be sure. :)

Michael



On Wed, May 11, 2011 at 8:54 PM, Brian Lucas <bcl1713 gmail com> wrote:

As an aside there is also a bug in the current implementations math that won't let the score reach 100 that I never figured out. Its upper limit is somewhere in the high nineties I believe but my memory might be failing me.

On May 11, 2011 7:52 PM, "Brian Lucas" <bcl1713 gmail com> wrote:
> The logic behind percentage being used is songs you may like with long
> annoying outros or "skits" tagged on the end. The more you listen the more
> you like. :) I won't be offended if this gets nixed though. As I said before
> this is quite old code and my job prevents me from being as involved as I
> once was.
> On May 11, 2011 7:13 PM, "Freddy-N" <freddy-neumann arcor de> wrote:
>> [UPDATE]
>>
>> After reading the souce code from TrackInfo.cs, I see that there is a
>> misunderstanding in the use of PlayCount and SkipCount. PlayCount is not
> the
>> total count of plays, it is the count of non-skipped plays. The total
> count
>> of plays is PlayCount+SkipCount.
>>
>> In calculating Score the old value and an additional variable
>> "percentCompleted" is taken into account.
>>
>> Score(n+1) := f(Score(n), PlayCount, SkipCount, percentCompleted)
>>
>> This makes things much more complicated. Score can't be re-calculated from
>> PlayCount and SkipCount.
>>
>>
>> So I don't know if it is a good idea to use percentCompleted in
> calculating
>> Score.
>>
>> --
>> View this message in context:
> http://banshee-media-player.2283330.n4.nabble.com/Scoring-question-tp3497316p3514141.html
>> Sent from the Banshee Media Player mailing list archive at Nabble.com.
>> _______________________________________________
>> banshee-list mailing list
>> banshee-list gnome org
>> http://mail.gnome.org/mailman/listinfo/banshee-list (unsubscribe here)

_______________________________________________
banshee-list mailing list
banshee-list gnome org
http://mail.gnome.org/mailman/listinfo/banshee-list �(unsubscribe here)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]