Is there a precedence list somewhere? You know, this applies before this.
And what the differences are between say ~nodup=[Artist],[Name] and ~limit=-1,1,[artist]
I think things happen in the order you write them. If you begin with 2 hours of music and then impose limits, you'll end up with less than 2 hours of music at the end.
~nodup=[Artist],[Name] just means that you won't get *the same track* by the same artist more than once. ~limit=-1,1,[artist] means that you won't get the same artist more than once. ~nodup=[Artist] is like ~limit=-1,1,[artist], but you can't use the ~nodup feature to get the same result as ~limit=-1,3,[artist], which gives you at most 3 tracks by any one artist...

I'm puzzled though. The original never had more than two songs per artist, except within the first 5 or so songs.
That's cause the ~limit=-1,2,[artist] entry does exactly that - limits the results to a maximum of 2 songs per artist. I think it must have been a fluke that the duplicate artists all ended up in the first 5...
Hope that helps
