Remote Control iTunes with ASP.NET and C#

Now that I have an iPod and more and more of my library consists of DRM'd songs, iTunes is fixing to be my new player of choice when it comes to playing music on my server. The only thing that has kept me from ditching WinAmp is the fact that it has a really cool plugin called AjaxAmp. This nifty little thing lets you remotely control WinAmp from any browser in the home.

I vaguely remembered that iTunes had a COM API that would let you do some remote execution as well, so this week I decided to give it a crack. After some initial prototyping, I came up with the following model:

Diagram of communication between iTunes, a C# application, an ASP.NET web service, an ASP.NET AJAX web application, and your favorite AJAX enabled browser.

All the tiers are currently implemented, but it only has basic functionality. You can start, stop, and change tracks. Also, the browser uses AJAX to refresh the currently playing tracks. Next will come generating play lists and editing them. I'll be releasing the code soon in an article so those who want to tinker, can.

UPDATE: I have posted an update to this article here

Posted on Mar 11
Written by Wayne Hartman