Adjusting when iPod/iTunes considers a song "played"?

This is probably imposible, but...

Is there any way to have the iPod and iTunes consider a song "played" after hearing less than the full song?

I have a smart playlist which is made up of songs I haven't played in the past 60 days. However, when I skip through a song it's not marked as played and not purged from the list on sync. Because of this, my playlist becomes front-loaded with songs I find myself skipping through over and over.

Ideally, I could set a parameter to mark a song as played after xx seconds of play.

Is anyone aware of a hack of this sort?

by Tim on Feb 22, 04 | 1:32 pm


It isn't impossible-

in iTunes: drag the audio scrubber (in the progress bar) to the end of the song and let it finish. This will mark it as played. You also can use applescripts to adjust the playcount. (ie- add +1 to a large group of songs to remove from your "not played" list)

on iPod: press the center button and drag the audio scrubber (in the progress bar) to the end of the song and let it finish

by dfbills on Feb 22, 04 | 1:50 pm

What David wrote is probably the best way. I don't think there's a way to make the time required to make a song "played" shorter. That would be a nice feature though. Say you could adjust the time or percentage of a song that you had to listen to in order to make it played.

Although, I think that the theory behind forcing to you listen to the whole song is a good one. That way, you only reward songs you like with a play count if you listen to them in full.

You could alternatively mark those songs which you skip over with a comment and have the playlist in question exclude them.

by Taco John on Feb 22, 04 | 3:40 pm

It would be nice if you could define a threshold, say 20%, which would count as played. (Similar to what an email program does with viewed messages.) But, that is not the case- at least not yet!

by dfbills on Feb 22, 04 | 3:42 pm

Yes, I suppose a simple workaround is the scrub-to-the-end or assigning one-star to the song and filtering for that, but often I'm skipping though songs while driving or working out with the Pod strapped to my arm. In neither event is the workaround trivial, thus my dreaming up of the impossible hack.

But hey, it sure beats the capability of my 2G iPod to track played songs, which was zip.

by Tim on Feb 22, 04 | 8:03 pm

Here is a simple AppleScript that will skip to the end of the currently playing song and thus increment the play count. If you weren't yet playing it will start playback as well. Save it as as compiled script and put it in your ~/Library/iTunes/Scripts folder for easy access.

tell application "iTunes"
set player position to (finish of current track) - 0.01
end tell

by Stephen Jonke on Feb 24, 04 | 10:46 pm

The spacing in that script didn't come out right - the middle two lines are indented, but it will auto format in ScriptEditor, so just copy and paste.... Also, FYI, I have this script assigned to the skip forward button on my Keyspan Digital Media Remote so skipping forward will increment the play count. Of course this doesn't help with the iPod.

by Stephen Jonke on Feb 24, 04 | 10:51 pm

very nice- I never thought of the remote

by dfbills on Feb 24, 04 | 10:56 pm

Regarding the original question, just increase the played count of the song while its playing with this:

tell application "iTunes"
if player state is not stopped then
tell current track
set played count to (get played count) + 1
end tell
end if
end tell

by DougAdams on Feb 26, 04 | 9:29 am

Wouldn't it be nice if there was a 'Skip Count' in iTunes? If you hit 'next' when the song is playing, it should increment the 'Skip Count'.

AND it would be exceptionally nice if iTunes used a 'real' backend database instead of writing out the library files after it plays every song. I *think* that's the cause of all slowness for iTunes (at least on my box.)


by David Peterson on Mar 01, 04 | 12:53 pm

Dave: I agree- I moved my iTunes library from external firewire to internal drive and saw a marked decrease in digital skipping.

by dfbills on Mar 01, 04 | 2:20 pm

I grapple with the same problem, and here's my approach:

1) I have a smart playlist called Dusty Tunes that's all my music, rated two-or-more stars, not played in the last 30 days. To filter out soundtracks, intros, etc., I add the text "notmix" to the comments field of those items (using one of Doug's awesome scripts).

2) While I sit at my desk, am driving, doing chores, I usually listen Dusty Tunes down to zero before moving onto a more general playlist, a favorites, or an all live set (as examples). While I do this, I skip over songs I have no interest in hearing, and do not want to update their last played date or their play count.

3) After I am back at my Mac, I sync the iPod and look at anything still lurking in Dusty Tunes that I must have skipped. I knock all of those remaining tracks' ratings down (3 to 2, and 2 to 1). The twos will then stay for another trial, and the ones will be banished to the hinterlands.

4) I really avoid tinkering with the play counts and the date played fields. I think they should reflect my actual listeing, and I don't like skewing the results. I have a Least Played Greats list, for example, that relies on knowing that a 5-star song I've only listened to thirteen times is lonely.

I really agree with the skip count suggestion - it would be a helpful field to use to keep the plaque out of the playlists.

Thanks for everyone's suggestions - this site has really added to my enjoyment of my iPod.


by RB3 on Mar 03, 04 | 2:44 pm

Glad you're enjoying!

by dfbills on Mar 05, 04 | 5:47 pm

'Skip Count' in iTunes? If you hit 'next' when the song is playing, it should increment the 'Skip Count'.

Couldn't you Applescript that and just use one of the lesser-used fields of the song's info?

by Nafai on Apr 12, 04 | 10:35 am

You must be logged in to post comments.


try this
red line

red line
red line
sites we like
red line


Powered by pMachine