Pages

Jun 17, 2010

mpdgui

Graphical client for Music Player Daemon (MPD)

This project was born because I wanted to learn Swing. Also thumbnail view for audio library is something that looks cool, but none of existing MPD clients (that I know of) provides that view.

In addition to Swing and Substance as LAF, this application uses Google Guice as dependency injection framework and EventBus to communication between components. Finally, for connection with MPD server, it uses javampd library.

When I started working on this project, the last version of javampd was 1.3. Currently available version 3.2 is backward incompatible and can't be used. Also I've made small changes to this library, so if you want to build this project, you have to get source code for this library in version 1.3.1 from my repository or you can download compiled javampd-1.3.1.jar.

Screenshots


Build instructions

This project is build by Maven, so all required dependencies are declared in pom.xml file and will be downloaded from the internet. Unfortunately, javampd and Substance are not available from any public Maven repository - you have to manually download and install them in your local Maven repository. Alternatively, in pom.xml is declared my private maven repository which holds those libraries, but this server has slow connection and is often offline. You can try it before manual downloading.

Assuming that you have those two libraries installed, or my server works, enter:
$ mvn package
to build this application.

If build was succesfull, two jars will be created in target directory:
mpdgui-VERSION.jar
and
mpdgui-VERSION-jar-with-dependencies.jar
The first jar requires all dependencies to be available on classpath to run this application. Second jar has all dependencies inside so it's easier to distribute and execute but it's a little bigger.

Enter
$ java -jar mpdgui-VERSION-jar-with-dependencies.jar
to launch application. You can change default settings (MPD host, port and Substance skin) by context menu available on right mouse click.

Compiled jar with dependencies is available to download here.

TODO

On my TODO list waits integration with Last.fm, and few functions available in most MPD clients as search and file system browser.

Retrieving thumbnail from the internet currently don't work, but this is planned as part of last.fm integration. You can see actual images if in your home directory exists .covers directory created by Sonata. This also means that unless you create this directory and copy images by hand, this will work only on Linux as Sonata doesn't work on Microsoft Windows.

From less technical things - name for this app would be nice, but this will have to to come rather from other users than me.

If you like this app, or rather whould like it if it was more feature complete, drop a comment bellow. There is a lot things to do, so developers are welcome to contribute.

The most important part now is code refactoring - EventBus and Google Guice were added later during development and not all is designed to work with them - this has to be fixed before any new features will be added.

No comments:

Post a Comment