Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can I make the media keys (play/pause, skip) buttons on my macbook control MPD, instead of iTunes?

Also, can I make the apple remote not open iTunes? Right now, the MPD client I'm using (theremin) can be controlled with the remote, but iTunes opens when I press a button.

Btw, I can't disable iTunes in parental controls because it needs to work on my administrator account, but its okay if the solution causes iTunes to not work.

share|improve this question
up vote 1 down vote accepted

I don't know about the Apple Remote (though I think there's a free app out there that lets you customize it) but I can help you with the media keys. I did this on an external keyboard using ControllerMate ($15) but I would imagine you could do the same with the free hotkey manager Sparkle: you need to point the key to an AppleScript that in turn runs a shell script that tells MPD what to do. This is not too difficult; I learned to write AppleScript and shell scripts just for this purpose, and it took me a couple of hours all told.

My MPD is on a different computer, and if yours is too you need to make sure that publickey authentication is disabled so you can ssh in without a password. (Alternately, I suppose you could install mpc on your Mac, but I was too timid to do that.) Install MPC on the computer with MPD (and make sure you've got the environment variables right). Then on the Mac, write and save a shell script that tells bash to ssh into your MPD machine and tell mpc to do something. For "toggle" (play/pause) this is mine:

ssh -l USERNAME "export MPD_HOST=; mpc toggle --no-status"

For some reason I had to put MPD_HOST there. It should be trivial to write scripts for next and previous tracks; if you don't know the mpc commands check out mpc's man page.

My applescript is more complex than yours would be because it decides whether to control MPD or iTunes based on the applications I'm running. On a basic level all you need is

do shell script "path/to/"

which you can save as a .scpd. It's easy in either ControllerMate or Sparkle to tie a key to an AppleScript, so you should be all set.


share|improve this answer
Thank you very much, I've been waiting a long time for an answer :) – Jeffrey Aylesworth Jan 28 '10 at 0:11

As an update, notice that now you also can control MPD with a fork of Theremin client: While the revived client supports media keys, it also inherits the music player interface from ye olde Theremin, giving you MPD's library and queue.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .