Ratings on the Fly

So far, the program I’ve written does this: Monitor the current track, and how much of it has been played. Wait for a click on the Next (» ) button, and when it occurs, rate the song up or down according to the modifier: abs((amount played / song length) * 15) - 5 Thus, when a song is skipped immediately, it loses 5 rating points, songs that are clicked at the end receive a +10 modifier. The only problem is that this is only triggered when this program wants the next track. I need a robust method of…I’ve just thought of something. I’m getting close to getting this to work - when the song is changed, the track id is used to find the song in the library, and the last known rating modifier will be applied to the song’s rating. It just doesn’t do that yet!


Done! iTunes AutoRater runs in the background, monitoring the currently playing song in iTunes. When the song changes, it up- or down-rates it according to how long the song played for. What I will(may?) do is merge this code with that for iTunesRater, so that you can rate songs, and it will also Auto-Rate them. Maybe I won’t do this, since these two are separate tasks. I wonder if the current ratings are a little aggressive: -5/+10 seems like a big change. I’ll take feedback, and in a future version (perhaps I’ll make this a preferences panel, where you can choose the maximum rating changes. Anyway, version 0.1 is available. Caveat User! (Back up your iTunes Library regularly!)