Thursday, January 3, 2008


I've been searching for a way to make using iTunes more bearable. There are only two reasons I keep it around: I need it to sync with my iPhone, and I need it to keep track of my playcounts (I don't rate my music, I just use playcounts). It's a terribly slow and bulky music player, and I would ditch it for Winamp in a heartbeat if not for the reasons I just mentioned. Winamp is much much faster and has features I need like, global hotkeys, jump-to dialog, better visualizations, and smooth fade on play/pause.

Thank God there's AMIP. AMIP is like the Swiss Army knife of plugins - it can do almost anything and is compatible with every popular music player. You need to download the version of AMIP for your player and the AMIP Configurator. Out-of-the-box you get the extremely useful search/jump feature, much like Winamp's jump-to dialog. Just press the hotkey to bring up the search/jump box, start typing the song you want and see the results filter down as you type, then hit enter to play the song and make the box go away.

AMIP's original purpose was to automatically announce the song your were playing to IRC, which is something I have no interest in. I am however, very interested in AMIP's ability to act as a server and the SDKs available to write your own client. In particular, the Java SDK makes it extremely easy to write a Java AMIP client.

You may be wondering what this means. Who cares if AMIP can act as a server? Why would you want to write a client? Well, it means that you have a substantial amount of control over your music player. It means, if you want, you never have to look at your player's slow ugly UI again; you can just keep it minimized and interact with it through your own homegrown frontend, personalized to show exactly the info you want with only the controls you want. It means you can log much more about your music listening habits, not just how many times you played each song, but when you played it, what other songs you played it with, and how much of it you listened to. It means you can control your player over a network, across your house on your LAN or across the internet (if you really wanted to).

No comments: