Wed 02 Feb 2005

iTunes controller

Today, rather than doing anything useful, I wrote an Araneida-based Web application to control a running instance of iTunes. Picture the scenario: our office server is an iTunes platform, serving up the tracks. But there are 4 of us! How do we all skip songs?1

Well, up until today I was SSHed into the server, using some shell scripts to Applescript iTunes. That's no good for anyone not logged in as me, though; they can't talk to my running iTunes process.

However, by running this little app in a Lisp (tested with OpenMCL2; might work in others) on the server, we all get a sweet little Web interface.

Here is the Lisp file; you'll need Araneida itself, asdf-loadable. You'll also need these shell scripts in your path (or you can edit the Lisp file to call osascript directly). The license is the modified BSD license, I guess! I've also logged a project page.

1 Yes, there are plenty of apps to do remote control of iTunes; I did this one specifically because I wanted multiple users, and because I've been using Araneida for another project — I was entirely right in thinking that it would only take me a couple of hours of work. Awesome.

2 If I ever get fed up with the sluggishness of shell scripts calling Applescript, I'll use OpenMCL's Objective-C integration to hit iTunes direct…


Posted at 2005-02-02 15:14:16 by RichardLink to iTunes controller