My playlist in iTunes has been, for the most part, doing reasonably well. I had put it together because iTunes didn’t have any functionality to play songs you rated better more often. Then, iTunes was updated to include Party Shuffle that had that functionality, unfortunately it had an annoying tendency to repeat songs in short time frames.
So I kept my old playlist with its ability to play better songs more often, but still cycle through my entire library. The problem was that I eventually got tired of old songs (even though they may be really good!), and had to manually pull them out of the playlist. I ended up resorting to using a specially playlist to include songs older than X months.
I’ve created a new set of playlists now that will generate what I want. First, i have a lower reliance on star ratings now; if a song has 3 or more stars I group them together as good songs, and if they have a rating of 2 stars I group them together as bad songs. I don’t include any songs with a rating of 1 star (these I count as songs that don’t belong in my library, but are there for whatever reasons), and also have a special category for unrated songs.
Next, I create smart playlists for the “good” songs based on when the song was added, currently I have 1) within the last year, 2) within one to two years, and 3) greater than 2 years. From these three playlists, a playlist with a selection of 2 star songs (from whenever), and a playlist with a selection of unrated songs; I extract songs in a specific ratio (by keeping the size of each playlist in the ratio with relation to each other) and that is my master playlist.
A couple of notes on this, first my 2 star playlist is not sorted by date added. It consists of all songs that are rated 2 stars and it is just there to add variety (like my previous playlist). Eventually I will cycle through all of them. Secondly, I added a Has Not Been Played In X Days clause to ever playlist so that the song will be removed from the playlist and a new one added after it has been played. Finally, on the more recent playlists, I have an additional clause to select least often played songs because I want my play counts to eventually all be at about the same plateau.