TuneController
TuneController provides a modular plugin-based Qt interface to several music players. Currently, it contains built-in support for iTunes, XMMS, and WinAmp. It is also possible to retrieve song information from a file, which can be made to work with virtually any decent media player.
The interface is still under heavy development: only song and state change notifications are supported at the moment, but the idea is to support remote controlling media players as well in the near future. The API might therefore still change quite significantly.
Besides the ability to compile the interface as a dynamic library, a project file is included for compiling the complete interface directly into your Qt application, which is easy for deployment. An example plugin and application are included in the package.
The development version is available in my Git repository:
git clone http://git.el-tramo.be/tunecontroller.git
To build the library and the examples on Unix or Mac OS X, run the following commands:
./configure
make
The configure script takes extra parameters to be able to detect player support. Run ./configure --help to get a list of options. Under Windows, simply run qmake instead of configure.
You can browse the development version through the Git web interface.
Documentation can be found here.
The original announcement, together with some comments and tips from other people can be found here.



[...] TuneController is a modular plugin-based Qt interface for talking to media players such as iTunes, XMMS, and WinAmp. The provided functionality is currently limited to notifying of player state and song changes, but other features (such as remote controlling, queueing, …) will be added in the future. [...]