I want to create a SmartList for a given artist...
Building such smartlists is easier than it seems—if you can 'think like the smartlist'...
The rules are the easy part—they generally define the 'population' to be selected from (in this case, an artist).
The modifiers can be more challenging, as they determine how files are chosen. Here it helps to understand the list will be created one step at a time, with each modifier operating on the list resulting from the previous modifier. Modifiers also respect the order of the list, so Limit, Mix and Remove Duplicates operations will result in the file(s) occurring first being retained. With this in mind, it's easier to 'walk through' the process required to get the desired results. Although there may be different approaches to this case, this is one sequence of modifiers that might work for you:
- Shuffle (so the end results will vary on refresh)
- Remove duplicates of [Name] (for the bonus points)
- Sort by [Rating] descending (so the higher rated files are first in the list)
- Remove duplicates of [Album] (the one kept will the first in the list)
- Sort by [Date] ascending (assuming this is what you want)
The resulting smartlist is:
[Artist]=[your selection] ~sort=Random ~nodup=[Name] ~sort=[Rating]-d ~nodup=[Album] ~sort=[Date]
...cycling back through the discography.
The only way I've figured out how to do something like this is by using an external script to execute (i.e., play) the smartlist the desired number of times. That's a bit awkward, and it will produce duplicates. I suppose the duplicates could be avoided by setting global variables to indicate a has been selected, then use that to exclude it from further iterations...