Bug 130542 - Dynamic playlist repopulates with all the same artist.
Summary: Dynamic playlist repopulates with all the same artist.
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 130543 130544 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-07-10 03:41 UTC by wally
Modified: 2006-11-13 01:15 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of setup (165.15 KB, image/jpeg)
2006-07-10 13:12 UTC, wally
Details

Note You need to log in before you can comment on or make changes to this bug.
Description wally 2006-07-10 03:41:07 UTC
Version:           1.4.1-SVN 560315 (using KDE KDE 3.5.3)
Installed from:    Compiled From Sources
Compiler:          gcc 4.1.1 
OS:                Linux

When doing a repopulate in a Dynamic Playlist, the songs that are populated are all from the same artist when a Smart Playlist is the source playlist.

Example, I have a Smart Playlist called Favorites, with the following setup:

Match any:
Rating is Not Rated
Rating is greather than 2.0

Match All:
Comment does not contain "Exclude"
Genre is not Comedy

Order by, limit, and expand by are off.

I created a Dynamic Playlist, set "Remove played tracks", "Mark history', Played tracks: 5, Upcoming: 24, and selected only the "Favorites" Smart Playlist.

When I hit repopulate, it populates it with all the same artist, but a 'random' artist each time.  It also adds songs to the playlist as songs are played by groups of the same artist, same as the Repopulate button.
Comment 1 Alexandre Oliveira 2006-07-10 03:54:16 UTC
Change the name of the smart playlist (ie, it sucks, I know check bug #113356). It's using the built in Favorites smart playlists, and there's one playlist for each artist.
Comment 2 Alexandre Oliveira 2006-07-10 03:56:17 UTC
*** Bug 130543 has been marked as a duplicate of this bug. ***
Comment 3 Alexandre Oliveira 2006-07-10 03:59:14 UTC
*** Bug 130544 has been marked as a duplicate of this bug. ***
Comment 4 wally 2006-07-10 05:28:13 UTC
Reopening, as I tried renaming the smart playlist and it didn't help.  Hope I understood correctly.

Original name was:  Favorites
New Name:  Favorites Smart Playlist

Updated the Dynamic Playlist to reflect the new Smart Playlist name, same issue.
Comment 5 Alexandre Oliveira 2006-07-10 06:57:53 UTC
You forgot to remove Favorites (under Collection) from the lists of playlists that are sources for your dynamic playlist.
Comment 6 wally 2006-07-10 13:12:54 UTC
Created attachment 16941 [details]
Screenshot of setup

No, I don't believe so.  Here's a screenshot of how it's set right now.

You can see the Dynamic Playlist is using "Favorite Smart List" only, and the
playlist contains all songs by Yes after hitting Repopulate.
Comment 7 Alexandre Oliveira 2006-07-10 13:18:43 UTC
In your screenshot, expand the "Collection" folder under Smart Playlists, and "Favorites" will probably be marked.
Or maybe Expand By Artist is selected on your smart playlist.
Comment 8 wally 2006-07-10 15:02:39 UTC
Expand by Artist was on, so I disabled it to no effect.  I double-checked the Dynamic Playlist, only "Favorite Smart List" was selected; I expanded out any other collapsed options to make sure.
Comment 9 wally 2006-07-12 03:38:17 UTC
Workaround, as suggested by Alexandre:

Delete both Smart Playlist and Dynamic Playlist.  Recreate the Smart Playlist *WITHOUT* expand on.  Create the Dynamic Playlist as normal.
Comment 10 Kevin Knerr 2006-10-09 02:24:44 UTC
I have found this bug as well using a smart playlist based on ratings. However, using the comments above I've been able to pinpoint the isssue more accurately.

When the smart playlist has "expand by artist" checked, the dynamic playlist preselects all artists under "Favorite Tracks"--but doesn't select the top level "Favorite Tracks" checkmark.

Unchecking "expand by" in the smart playlist and then selecting "Favorite Tracks" (or better yet, "Collection") twice (once to inlude the top level, then once to clear everything) causes the Dynamic playlist to work as expected.

I did not have to delete and recreate either playlist--just edit the smart playlist and then the dynamic playlist.

Just for completeness, I tried expanding by other fields in the smart playlist.

Expanding by album caused the dynamic playlist to choose a single album at random. If no tracks met the filter requirements, there would be a warning dialog, otherwise only the tracks from that album would be included by the dynamic playlist.

Expanding by genre caused the dynamic playlist to include some (but not all) entries under the Collection->Genre smartlist in its definition. After clearing "Collection", the playlist populated with tracks that should have been excluded.

Bottom line for users for now is to exclude "Expand by" when defining a smart playlist. (And to ensure that no other subcategories are checked in the dynamic playlist.)
Comment 11 Darren L. Ankney 2006-10-19 19:40:30 UTC
I think maybe this is related to a bug/wish that I was going to post.  I'm not sure if it is intended behavior or not, but the default dynamic playlist "suggested songs" seems to give heavy favor to certain artists ... 

Like I have both Led Zepplin boxed sets.  When I do suggested songs starting from Pearl Jam, every other song (or sometimes even more than that) becomes Led Zepplin.  I have MANY other artsists that last.fm states as being similar to Pearl Jam, so you would think a wide variety would appear... (Kinda like similar artist radio does on last.fm)

This may be related to the context browser showing lots of songs from the same artist under suggested songs even if I have every artist that is listed under similar artist.
Comment 12 Seb Ruiz 2006-11-13 01:15:16 UTC
SVN commit 604494 by seb:

Refactor of dynamic mode. This revised implementation solves a number of bugs. The logic of adding tracks from a dynamic mode is now delegated to the DynamicMode object, and is not done within the playlist. When a dynamic mode is loaded, a cache of 200 elements is create from the playlist sources. By caching a subset of the possible tracks to be inserted, there is no longer a requirement to execute complex SQL statements on each track change or playlist repopulation. Additionally, by grabbing random tracks from this cache, items are no longer fetched from just one source, but all of them. Once these cached tracks have been inserted into the playlist, they are removed from the cache list in order to avoid duplicating song insertions. Once the cache has been depleted, it is simply regenerated. 200 elements is approximately 12 hours worth of music, so the set should be sufficiently large to handle the user's requirements.

I've done quite a bit of regression testing, but the more the merrier :). The only feature which needs to be fixed is the Suggested mode of dynamic playlists, but this should be easily rectifiable.

BUG: 134159
BUG: 137212
BUG: 107693
BUG: 130542
BUG: 133269
BUG: 113120


 M  +233 -14   dynamicmode.cpp  
 M  +51 -6     dynamicmode.h  
 M  +12 -204   playlist.cpp  
 M  +3 -4      playlist.h  
 M  +1 -1      playlistbrowser.cpp