I can't figure out a way to get iTunes to create a playlist where every song in the list is a different unique artist, and no artists or songs are repeated. Is this possible?

(using iTunes 10, 64-bit, Windows 7)

  • Did you want the songs of each artist to be random? Commented Sep 17, 2010 at 22:05
  • Yes, the songs and artists should be random. You shouldn't see the same song by the same artist twice on a list, nor should you see any duplicate artist appearing on the list. Commented Sep 19, 2010 at 16:39

4 Answers 4


Through iTunes, what you are asking is not possible. However, I thought that it should be possible, and fairly easy to do through a plugin or interface to itunes,

So I did what I promised!

alt text

It's not a true iTunes plugin, as I couldn't find any real sdk or information on writing them, but its a small WPF that interfaces with iTunes through COM. I'm working on refining it and I hope to have it up on SourceForge soon.

This is done through a COM library provided by iTunes which works in .NET. Information about the library can be found here.

  • Brilliant! This is looking great! Can't wait to try it out! Commented Sep 25, 2010 at 13:08
  • 1
    its up on sourceforge. let me know how and if it works for you. sourceforge.net/projects/iplayrandomizer/files/setup.zip/… use the support links on the sourceforge project to let me know of any problems. i'll try to fix them asap
    – xdumaine
    Commented Oct 9, 2010 at 1:54
  • I am already working on updating the app. There are (many) known bugs. I'll try to re-release. Follow me on twitter @iPlayRandomizer (just for the app) or @XOver9000 (for me)
    – xdumaine
    Commented Oct 19, 2010 at 18:52
  • It took about 5 minutes to get through 100 songs, with nothing in the blacklist, but it works as advertised. Nice job! For a future release, it would be nice if it were able to pull from an existing playlist as its pool of songs to randomize from, rather than my entire iTunes library. Commented Oct 20, 2010 at 1:46
  • 1
    It's on CodePlex now - if you're interested, updated and some bugs fixed iPlay.CodePlex.com
    – xdumaine
    Commented Feb 23, 2011 at 13:31

On windows, it might be possible through the iTunes COM interface. I never tried it, but here is an example


Based on the logic capabilities with smart playlists, to answer your question: No, this is not possible.

The logic works like this:

  1. Take all songs
  2. Narrow down the selection by applying rules (these are conditional statements)
    • Conditional statements apply only to the selection from the whole, not from what has already been selected
  3. You tell iTunes where to select the items, and how to limit the selection (minutes, songs, etc)
    • This is where you would apply the "unique artists" rule - though currently it is not an option. The logic would work by keeping a list of artists "selected" and when a song is chosen at random, its artist is checked against that list of "selected" artists, and if it is not in the list, it is chosen, and the artist is added to the "selected" list.

I can't find one, and I'm not sure if its possible - but this SHOULD be able to be accomplished through an iTunes plugin.

So in short, no, it is not currently possible.

  • It's unfortunate, because it seems like such a simple request. It's hard to imagine that there isn't a large demand for this. Essentially a "jukebox that never repeats the same song or same band twice". Commented Sep 22, 2010 at 3:56
  • I agree, definitely. I'm going to a code-a-thon with some coworkers soon, and I was thinking about looking into writing a plug-in to do this. If anything comes of it, I'll update.
    – xdumaine
    Commented Sep 22, 2010 at 12:55

It's too bad you're not running OSX, or you could use an AppleScript like this one

If you're so inclined, perhaps you can code up something reading the script code referenced and using akurtser's suggestion to try the COM interface to iTunes?

Here's Doug's Script's windows resources for similar options for Windows iTunes users.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .