Bug 292648

Summary: Dynamic Playlist ignores lastplay sometimes
Product: [Applications] amarok Reporter: Eric Mesa <ericsbinaryworld>
Component: Playlists/Dynamic PlaylistsAssignee: Amarok Developers <amarok-bugs-dist>
Severity: minor CC: dietrichmathias, maddiemadan, ralf-engels, sledge.sulaweyo
Priority: NOR    
Version: 2.6-git   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
Latest Commit: Version Fixed In: 2.8
Bug Depends on: 286642    
Bug Blocks:    

Description Eric Mesa 2012-01-28 02:13:18 UTC
Version:           2.5.0 (using KDE 4.7.4) 
OS:                Linux

Have a playlist set up that has 
match all: 
{Not label: Christmas
and lastplay>14days}
Match any:
rating: >4
or score>50

MOST of the songs are >14 days.  Some are not.  Now, related to the bug I list in additional information, I think it might have to do with "the internal buffers are kept quite long to prevent frequent costly searches over the whole database".  The reason I think this is the issue is that I tend to see this happen most often when I have Amarok open all weekend.  Because I tend to notice songs are repeating in <14 days because I just heard the song recently

Reproducible: Always

Steps to Reproduce:
1. make playlist like the one I haev
2. listen for a long time
3. songs come up that are not lastplay:>14 days

Actual Results:  
songs come up that are not lastplay:>14 days

Expected Results:  
songs should not come up that are not lastplay:>14 days

This sounds similar, but is not quite the same as this bug: https://bugs.kde.org/show_bug.cgi?id=286642
Comment 1 Eric Mesa 2012-05-03 17:23:27 UTC
If I can get confirmation of whether or not this is similar to the bug linked above and the problem is "the internal buffers are kept quite long to prevent frequent costly searches over the whole database" I would be OK with this bug being closed.
Comment 2 Mathias Dietrich 2012-06-12 10:43:34 UTC
I can confirm this issue in Amarok 2.5.90.
Comment 3 Myriam Schweingruber 2012-06-15 07:01:43 UTC
Most likely the same cause indeed. Marking the dependency.
Comment 4 Mayank Madan 2012-12-01 07:52:03 UTC
Can reproduce this bug in v2.6.0-421-gf66a306
Comment 5 Ralf Engels 2012-12-18 18:47:14 UTC
Could you please start amarok with the "--debug" parameter, press repopulate and send me the relevant output.
The dynamic playlist will print out some debug information that might help me to narrow the problem down.
Comment 6 Ralf Engels 2013-02-07 15:25:55 UTC
Git commit 093177d4d8f86098b75d4a2ff28e23d4d0ceba6d by Ralf Engels.
Committed on 06/02/2013 at 18:38.
Pushed by rengels into branch 'master'.

Update Dynamic playlist. Get rid of energy optimizing code

The dynamic playlist always used to optimize the generated tracks
by different ways.
However the new biases all have hard conditions. The user also
used to see it like this and was confused if a "pretty good" result
was generated.

The new algorithm will generate an empty list if the conditions
cannot be fullfilled
Related: bug 286642, bug 304374, bug 301716

M  +4    -0    ChangeLog
M  +10   -37   src/dynamic/Bias.cpp
M  +17   -31   src/dynamic/Bias.h
M  +46   -411  src/dynamic/BiasSolver.cpp
M  +21   -69   src/dynamic/BiasSolver.h
M  +6    -7    src/dynamic/BiasedPlaylist.cpp
M  +2    -1    src/dynamic/BiasedPlaylist.h
M  +7    -2    src/dynamic/TrackSet.cpp
M  +9    -7    src/dynamic/biases/AlbumPlayBias.cpp
M  +2    -2    src/dynamic/biases/AlbumPlayBias.h
M  +14   -15   src/dynamic/biases/EchoNestBias.cpp
M  +2    -3    src/dynamic/biases/EchoNestBias.h
M  +7    -11   src/dynamic/biases/IfElseBias.cpp
M  +3    -4    src/dynamic/biases/IfElseBias.h
M  +51   -39   src/dynamic/biases/PartBias.cpp
M  +3    -5    src/dynamic/biases/PartBias.h
M  +5    -4    src/dynamic/biases/QuizPlayBias.cpp
M  +2    -2    src/dynamic/biases/QuizPlayBias.h
M  +4    -5    src/dynamic/biases/TagMatchBias.cpp
M  +2    -2    src/dynamic/biases/TagMatchBias.h
M  +6    -6    src/services/lastfm/biases/LastFmBias.cpp
M  +2    -3    src/services/lastfm/biases/LastFmBias.h