I ran across this nifty little blog post that lets you control a remote Mac’s iTunes via iChat. I decided to customize the script a bit and added a way to search for songs. Here’s my addition to the stock AppleScript:
else if (theMessage begins with "song " and theMessage is not "song ")
or (theMessage begins with "s " and theMessage is not "s ") then
set cLength to (count (first word of theMessage)) + 1
set query to texts cLength thru -1 of theMessage
tell application "iTunes"
set theSongs to (search playlist "Library" for query)
try
set songID to persistent ID of (item 1 in theSongs)
play (first track of (get some playlist whose special kind is Music)
whose persistent ID = songID)
set theResponse to "Playing song request. "
on error
set theResponse to "Did not find any songs. "
end try
end tell
set theResponse to theResponse & getCurrentiTunesTrack()
I also added “aliases” to the previous and next commands (“p” and “n” respectively), but that was pretty trivial, so I won’t include it here. This is the first AppleScript I’ve written, so I’m probably making some noobish mistakes, but it was pretty cool. Now I can chat with my Mac Mini and tell it what to play!
