A while back I wrote this post describing my efforts in looking for a way to rate iTunes shortcuts anytime with a quick shortcut on Mac. After upgrading to Snow Leopard, I found the steps to enable this site wide was a bit different, thus this post was created.
First, use Automator to create the Services needed. Services will be available no matter what app is in the foreground.
- Open Automator
- Create a new “Service”
- Under “Utilities” under the Library, add “Run AppleScript” as the first and only step in the Automation
- Paste the following code in place of “(* Your script goes here *)”
tell application "iTunes"
set the rating of current track to 20
end tell
- Save under the name “Rate as 1 star”
- Change “20″ to “40″ then Save As “Rate as 2 stars”
- Change “40″ to “60″ then Save As “Rate as 3 stars”
- Change “60″ to “80″ then Save As “Rate as 4 stars”
- Change “80″ to “100″ then Save As “Rate as 5 stars”
That finishes up the Automator work. Just be sure you used “Save As” and not “Save”, you don’t want to overwrite your services, but create 5 different services.
Now, go to System Preferences, Keyboard, Keyboard Shortcuts. Select “Services” on the left window, and in the right window you should see (at the bottom) the 5 services you created.
You can click in the white space to the right of the services (not intuitive really, but there is a little spot on the right you can double click to edit the short cuts for all the items in that list.)
Once you add a shortcut there you should be able to use the short cut from anywhere!
Be warned, I found it very tricky to find a short cut that worked for me in all apps, since some apps or services (mainly iTunes) had shortcuts similar to them. (Snapshot utility for example is Cmd-shift-4, which may be a shortcut you wanted to use.)
I found that the Cmd-Option-Shift worked for me best.
UPDATE: Add Growl Notifications to show that the song was indeed rated!
Well, this is an easy and quick addition to the Automator services. I constently found myself switching to iTunes to see if the song was rated… kind of defeted the purpose of adding the shortcuts!
I realized (in somewhat of a “duh” moment) that I could just use Growl to add a little note for each of the ratings. I already had Growl installed (it’s a standard install for any Mac of mine.) And best of all Growl is very Automator friendly, so it just took a few seconds to add a pop-up Growl notification for each Rate as ? Service!

5 Comments
Thanks for the post. I found Control-Command-# worked well for me.
Thanks for your tip! I played around with it and have an addendum for those of who enabled half star ratings in iTunes (http://hints.macworld.com/article.php?story=20081220090352648)
You can change the numbers in the applescript to reflect half stars. The chart below is the number is applescript, the stars it reflects and the shortcut I chose to use. It’s pretty nuanced but I really like my half star ratings and was glad to be able to modify your tip to accommodate it. An easy way to remember the shortcut is to multiply the rating you want by 2 (1.5 stars =3, 2 stars = 4, etc).
10 | .5 star | cmd + cntrl + 1
20 | 1 star | cmd + cntrl + 2
30 | 1.5 stars | cmd + cntrl + 3
40 | 2 stars | cmd + cntrl + 4
50 | 2.5 stars | cmd + cntrl + 5
60 | 3 star2 | cmd + cntrl + 6
70 | 3.5 stars | cmd + cntrl + 7
80 | 4 stars | cmd + cntrl + 8
90 | 4.5 stars | cmd + cntrl + 9
100 | 5 stars | cmd + cntrl + 0
Like this post very much. But it seems that the Services I created using Automator always ran after a delay(Usually a long time). How do you solve this?
My lag time is around 2 – 4 seconds. If thats what your getting, I don’t know what can be done to reduce that. I think it’s just the overhead of the whole automater + services framework. It’s easy to script this stuff, but it’s not the most optimal I’m guessing from a programming point of view.
If your lag time is much higher than that, I’d say take a look at what’s hogging your CPU or Memory using Activity Viewer? Just a guess though.
Just a note. The service won’t show up in the applications unless you select “no input” in the ‘Service receives selected’… that’s above where you paste the Applescript. That’s what had me wondering what did I do wrong for a while. Now works!