Bug 301829

Summary: APG length can not be longer than 99 songs
Product: [Applications] amarok Reporter: Jorge A. Jaramillo G. <jajaramillog>
Component: Playlists/Automated Playlist GeneratorAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: normal CC: jajaramillog, stharward
Priority: NOR    
Version: 2.5.90 (2.6 beta)   
Target Milestone: 2.7   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.7
Sentry Crash Report:

Description Jorge A. Jaramillo G. 2012-06-13 17:58:03 UTC
When using APG with a length constraint, playlist lengths over 99 songs always produces an error "The playlist generator created a playlist that doesn't match all constraints". Any other length constraint under 99 songs works perfectly. 

Reproducible: Always

Steps to Reproduce:
1. Open the APG tool. 
2. Create a new p-redefinition.
3. Add a playlist length constraint.
4. Set playlist length preferences "more than" any number greater than 99 or "equal to" any number greater than 100. Match bar is set to "exactly".
5. Execute APG predefinition.
Actual Results:  
Amarok produces the error "The playlist generator created a playlist that doesn't match all constraints" and populates the playlist with a number of song so much lower than expected.

Expected Results:  
Amarok should create a playlist with more than 100 songs.

This error was also present in the version 2.5 of Amarok but it did not in the 2.4 version. I'm using Kubuntu 12.04 with x86_64 architecture.
Comment 1 Myriam Schweingruber 2012-08-04 12:12:43 UTC
Soren: please keep the default assignee, else this bug disappears from our updates and filters. Subscribing should be enough.
Comment 2 Soren Harward 2012-11-08 22:25:50 UTC
Git commit e725f3364f56d2d3db7258217a132c03cccc6038 by Soren Harward.
Committed on 08/11/2012 at 22:35.
Pushed by stharward into branch 'master'.

Whole bunch of APG improvements and bugfixes

See ChangeLog for details
Related: bug 283618, bug 293616, bug 294743

M  +7    -0    ChangeLog
M  +2    -0    src/CMakeLists.txt
M  +2    -1    src/browsers/playlistbrowser/APGCategory.cpp
M  +7    -1    src/playlistgenerator/ConstraintFactory.cpp
M  +3    -13   src/playlistgenerator/ConstraintGroup.cpp
M  +2    -6    src/playlistgenerator/ConstraintGroup.h
M  +2    -2    src/playlistgenerator/ConstraintNode.cpp
M  +2    -6    src/playlistgenerator/ConstraintNode.h
M  +3    -17   src/playlistgenerator/ConstraintSolver.cpp
M  +1    -3    src/playlistgenerator/ConstraintSolver.h
M  +7    -1    src/playlistgenerator/PresetModel.cpp
M  +2    -1    src/playlistgenerator/PresetModel.h
M  +4    -3    src/playlistgenerator/TODO
M  +2    -26   src/playlistgenerator/constraints/Checkpoint.cpp
M  +2    -4    src/playlistgenerator/constraints/Checkpoint.h
M  +1    -1    src/playlistgenerator/constraints/Matching.h
M  +5    -13   src/playlistgenerator/constraints/PlaylistDuration.cpp
M  +2    -2    src/playlistgenerator/constraints/PlaylistDuration.h
A  +281  -0    src/playlistgenerator/constraints/PlaylistFileSize.cpp     [License: GPL (v2+)]
C  +22   -19   src/playlistgenerator/constraints/PlaylistFileSize.h [from: src/playlistgenerator/constraints/PlaylistLength.h - 071% similarity]
A  +193  -0    src/playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui
M  +11   -11   src/playlistgenerator/constraints/PlaylistLength.cpp
M  +2    -2    src/playlistgenerator/constraints/PlaylistLength.h
M  +1    -55   src/playlistgenerator/constraints/PreventDuplicates.cpp
M  +1    -5    src/playlistgenerator/constraints/PreventDuplicates.h
M  +1    -21   src/playlistgenerator/constraints/TagMatch.cpp
M  +1    -5    src/playlistgenerator/constraints/TagMatch.h
M  +1    -12   src/playlistgenerator/constraints/TagMatchComparer.cpp
M  +1    -2    src/playlistgenerator/constraints/TagMatchSupport.cpp
M  +1    -25   src/playlistgenerator/constraints/TrackSpreader.cpp
M  +1    -5    src/playlistgenerator/constraints/TrackSpreader.h

http://commits.kde.org/amarok/e725f3364f56d2d3db7258217a132c03cccc6038