A few days ago, my friend Tod said to me, "You know what I'd like to see on the player? I'd like to see it shuffle in such a way so that every artist was equally weighted. That way, just because I've got lots of albums by the same artist, they wouldn't come up in the shuffle more often than any other artist".
A moment's reflection and I realized that it could be done with the current player features. It might be a bit of a pain to set up, but you can do it with playlist properties.
Here's how it's done:
- Create a new playlist called "(Equally Weighted Artists)". Tag it with the properties "Always Randomize", "Automatically Repeat", and "Ignore as Child".
- Under this playlist, create a new playlist for each artist on your player. It must be a
new playlist, not a copy of an existing one. On my player, this amounts to about 250 playlists. This would normally be a pain in the ass to do, but there's an easy shortcut so you can do this one in about ten seconds (more below).
- Into each artist playlist, put the loose songs by that artist, copied from the "Artists" soup views. Again, there's an easy shortcut, more below.
- For each of these new artist playlists, tag the playlist as "Always randomize" and "Play 1 track at random". Again, there's an easy shortcut to this, more below.
Now, when you play this playlist, it will give you a randomized playlist with exactly one random song by each artist. On my player, I would be able to listen to about 250 songs before I heard the same artist repeat.
There are some caveats to this:
- You need to have your Artist tag filled out correctly for each artist. I noticed that I've got some classical artists tagged as Lastname, Firstname but others tagged as just Lastname. So I need to fix those up or else they'll show on my artist shuffle twice.
- When that 250-song run is finished, it will simply repeat as-is because of
this bug. When you reach the end of the list you have to reselect it so it generates a new shuffled list. Hopefully the empeg guys will fix that bug soon and we'll be able to have it run continuously. But for me, it's not much of an issue because my shuffles rarely get thought 250 songs before I've selected a different playlist for some other reason.
- If you have only a single song by a given artist, that song will come up once every single time you play this playlist. This is essentially the "opposite weighting" of what a regular shuffle would do. But hey, it's exactly what Tod asked for: All artists equally weighted! Be careful what you wish for!
Okay, I promised I would tell you some shortcuts to creating these playlists...
Here's the deal. Doing this in Emplode is a complete pain because when you drag a soup view onto a playlist, it drops only the songs and does not create subfolders. Also, when you group-select playlists in Emplode, they gray out the "Play N tracks at random" option, so I can't easily set that option for all 250 playlists.
The solution? Use JEmplode. The latest "prerelease" JAR file (which has to be downloaded separately because it's not official yet) contains easy ways to do all of these things. You see, I've been badgering Mike about these features over the last few days.
So here's how to do it in Jemplode:
- Do a full install of Jemplode from
http://www.jempeg.org/installers-20b11/ .
- Check to make sure Jemplode works (remember, it's ethernet and serial only, and serial requires some configuration tricks to get it to work).
- Grab the most recent JAR file from
http://www.jempeg.org/jemplode20.jar and copy it atop the existing JAR file where you installed Jemplode.
- Run it and create a new playlist called "(Equally Weighted Artists)". Tag it with the properties "Always Randomize", "Automatically Repeat", and "Ignore as Child".
- Open the "Artists" Soup view.
- In the right-hand pane, select all artists (click on an artist in the right hand pane then press ctrl-A).
- Select Edit/Copy from the main menu.
- In the left-hand pane, click on the "(Equally Weighted Artists)" playlist.
- Select Edit/Paste from the main menu.
- It may take a moment, but eventually, you'll get a bunch of new playlists under the "(Equally Weighted Artists)" playlist.
- All these new playlists should be selected by default. If not, do the Ctrl-A thing on them.
- Select Edit/Properties from the main menu.
- Change the properties to "Always Randomize" and "Play 1 track at random". Uncheck the repeat and ignore-as-child options.
- Hit OK, it will take a moment to apply this to all the playlists.
- If necessary, scroll down the list and consolidate artists that ended up in two playlists. I had to do it for a few. Not many. Make a mental note to correct those tags later...
- Synch, and try it out.