Is there a way to see all songs in iTunes which have "Skip when shuffling" option enabled?

2

1

The iTunes application allows a track to be marked as "skip when shuffling", meaning it will never be played when the iPod is in shuffle (i.e. random) play mode.

It is possible to set up a smart playlist to find all tracks by genre, play count, last played, etc. but there doesn't seem to be an easy way to see which tracks have been marked as "skip when shuffling".

Does anyone have ideas about how I could query this information?

LeopardSkinPillBoxHat

Posted 2009-10-27T04:27:41.940

Reputation: 365

What is your platform (Mac OS X or Windows)? Should be possible with AppleScript on Mac OS X, maybe some other way on Windows. – Chris Johnsen – 2009-10-27T05:49:48.030

@Chris - I am using Windows. – LeopardSkinPillBoxHat – 2009-10-27T23:24:46.120

Answers

3

If you are on Mac OS X, you could try the following AppleScript. It finds all the unshuffable tracks of the source you pick and puts them in a new, “dumb” playlist.

If you are on Windows, then maybe you could adapt the ‘logic’ of this script to whatever COM language you have at hand. See Windows Solutions section of Doug's AppleScripts for iTunes.

I don't have an iPod, so I could not test it with iPod tracks, but it worked to find "unshuffable" tracks in my normal library.

-- Pick a source (main library/iPod)
tell application "iTunes" to set allSources to sources
set possibleSources to {}
repeat with aSource in allSources
    using terms from application "iTunes"
        if kind of aSource is in {library, iPod, device} then -- shared library, unknown
            set end of possibleSources to contents of aSource
        end if
    end using terms from
end repeat
set sourceStrs to {}
set n to 1
repeat with aSource in possibleSources
    using terms from application "iTunes"

        tell aSource to set end of sourceStrs to "" & n & ". " & name & " (" & id & "/" & persistent ID & ")"
    end using terms from
end repeat

choose from list sourceStrs without multiple selections allowed
set theSourceStr to first item of result
text 1 through ((offset of "." in theSourceStr) - 1) of theSourceStr as integer
set theSource to item result of possibleSources

-- Make a new (dumb) playlist to hold the found tracks
tell (current date) to ¬
    set playlistName to "Unshuffables on " & short date string & " at " & time string
using terms from application "iTunes"
    tell theSource to set unshuffablesPlaylist to make new playlist with properties {name:playlistName}
end using terms from

-- Find all "unshuffable" tracks and add them to the new playlist.
using terms from application "iTunes"
    repeat with aPlaylist in library playlists of theSource
        duplicate (tracks of aPlaylist whose shufflable is false) to unshuffablesPlaylist
    end repeat
end using terms from

Chris Johnsen

Posted 2009-10-27T04:27:41.940

Reputation: 31 786

Sorry you couldn't directly use the code. If I had a Windows machine handy I might try my hand at iTunes' COM interface. I have a feeling that the core of that AppleScript (make playlist, find unshuffable tracks, add them to the new playlist) is possible through COM with either JScript or VBScript. – Chris Johnsen – 2009-10-28T03:16:01.853

0

Most definitely! Although you cannot directly create a smart playlist to contain only unchecked items, there is a bit of a 'work around' to make one.

  1. First, create a smart playlist to match the following rules, with the key emphasis on "Match only checked items":

    playlist 1 rules

  2. Then create another with these rules, where the "Checked Items" is the playlist you just created.

    playlist 2 rules

Josh Hunt

Posted 2009-10-27T04:27:41.940

Reputation: 20 095

“Skip when shuffling” (select a track, Get Info, Options tab) is not the same as “checked” (the check mark before the name of a track in list view). – Chris Johnsen – 2009-10-27T07:11:10.160

Thanks Josh, but Chris is right. I already have a playlist to pick up "unchecked tracks" but it's "exclude from shuffle" that I'm having trouble with. – LeopardSkinPillBoxHat – 2009-10-27T23:26:18.613