Special Offers

Feature

Review: Exaile Media Player

One of my favorite open source applications is Amarok, a music player with an intuitive interface that makes boring tasks such as organizing large music collections less troublesome. The only problem with Amarok is that it's a KDE application and I'm a GNOME user. Although there's nothing wrong with running KDE programs on GNOME, they take a long time to start, since they need to load the KDE libraries and components they depend on first. I've found a good alternative in Exaile, my new favorite media player for Linux.

Exaile is similar to Amarok, but it's based on GTK+ (the GIMP Toolkit), the same GUI toolkit GNOME uses, and thus it loads almost instantly on GNOME and integrates nicely with it. The first impression the program makes is that it's a clone of Amarok, at least from an interface point of view; if you're an Amarok user, you'll feel right at home.

I tried both the stable version, 0.26, and the beta 0.27, and didn't have any stability problems with either. I recommend you install the beta version and report any bugs you find to help the project become even better.

Everything you expect to find in a media player these days is present in Exaile, as well as some unique and intriguing features. For instance, Exaile offers tabbed playlists -- which means you can have multiple playlists open at one time -- and downloading of guitar tablature for the currently playing song from Fretplay. My favorite feature is the built-in Shoutcast directory browser (Figure 1), which allows you to listen to Internet radio broadcasts. This functionality is already offered by programs such as streamtuner, but it's handy to have it integrated in a media player.

Information about your music collection is stored in a SQLite database. The program can handle large libraries -- it had no problem loading my collection of about 2,300 Ogg Vorbis, MP3, and Flac files. Amarok supports MySQL and PostgreSQL along with SQLite, but I prefer to avoid the overhead of running a full-blown database server on my desktop system just for the music library. SQLite is fast and lightweight and doesn't need to have a daemon running all the time.

Click to enlarge

When you run the program for the first time it asks you to select the directories holding your music files; you can easily change that later in the Library Manager (available in the Tools menu). If you want some directories to be excluded from your music library, you can drag and drop them to the Blacklist Manager (also available in the Tools menu). The program can optionally watch for new directories by utilizing the Gamin file alternation monitor program, which is installed by default in Ubuntu. This option is available in the Preferences.

Exaile uses the GStreamer engine for audio playback. You can play the audio formats of your choice by installing the appropriate GStreamer plugins without having to manually recompile the whole program. For example, since most Linux distributions don't support proprietary formats such as MP3 by default, you can add this functionality to Exaile (and other GStreamer-based programs) by installing the Ugly Plug-ins package. Audio CD playback is supported as well, as are iPods and last.fm; you can also submit tracks played on your iPod to last.fm. Exaile grabs album covers from Amazon.com automatically and can also fetch information about the current track from Wikipedia, as well as lyrics, as shown in Figure 2.

Click to enlarge

The project offers pre-built packages for Ubuntu Dapper and Edgy Eft. Debian users running the Unstable branch (also known as Sid) can install it by running sudo apt-get install exaile. To enable MP3 support in both Debian and Ubuntu run sudo apt-get install gstreamer0.10-plugins-ugly. I installed Exaile on a laptop running Arch Linux by grabbing the PKGBUILD from Arch's User-community Repository and building a package myself. Exaile is also available in the FreeBSD ports as audio/exaile. Binary package installation is preferable, especially on distributions such as Slackware that don't include GStreamer, due to the long list of Exaile's dependencies, so make sure to read the documentation before you try this.

Exaile version 0.27 beta implements a plugin system that's designed to enhance the program by letter third-party developers add functionality to the package. It comes with these plugins:

Alarm clock: wakes you up with your favorite music

Desktop cover: shows the album covers on the desktop

Serpentine plugin: adds support for using Serpentine to write audio CDs with the songs in the current playlist

Streamripper: allows you to record radio broadcast; requires Streamripper

Libnotify: informs you when a new song starts using the libnotify desktop notification library

I was impressed enough by Exaile that I made it the default audio player on all my desktop and laptop systems. Amarok is great and I still recommend it if you use KDE, but GNOME users should give Exaile a shot.

Don't forget quodlibet

i prefer quodlibet

Posted by: Anonymous Coward
on January 08, 2007 08:42 PM

i think quodlibet performs better with music library of > 10K files. Also I highlight that quodlibet has a unique feature: search through your music library with regular expression syntax...wow<nobr> <wbr></nobr>:-)

Re:Doesn't support JACK

Posted by: Anonymous Coward
on January 08, 2007 11:37 PM

You can get gstreamer apps output to jack, but it's rather complicated. But hopefully not for long anymore: see <a href="http://gstreamer.freedesktop.org/releases/gst-plugins-bad/0.10.4.html" title="freedesktop.org">the release notes for GStreamer Bad Plug-ins 0.10.4</a freedesktop.org>!

Re:Divided

Posted by: Anonymous Coward
on January 10, 2007 12:34 AM

iTunes on windows sucks even more, according to your standards: it runs far from optimal. Yet this seems to be no real problem for most, in fact it is presented as 'good' because it allows you to choose.

More Python junk

Posted by: Anonymous Coward
on January 09, 2007 07:35 AM

I have yet to get any Python application to install and run flawlessly. There is always some problem - the wrong Python version, some missing module, or something completely incomprehensible. To make things worse, most Python applications seem to come with their own installation idiosyncrasies which puts them outside the usual packaging mechanisms. Finally, to add insult to injury, the performance of Python's applications tends to be pitiful, when compared with their C/C++ counterparts.

Re:More Python junk

Posted by: Anonymous Coward
on January 11, 2007 01:54 AM

I haven't tried Exile yet but have you looked at their Downloads page? All required dependencies are listed there, even the optional ones. The developers have fully disclosed what you need to get this to run. The rest is up to you or file a bug if it still doesn't work.

Re:More Python junk

This means that you need to install the python module named mutagen, which is usually named python-mutagen in the distributions.

You should be a little more humble before ranting about things you obviously don't know. Next time be more polite and simply ask for help. Tip: learn how to use your distribution's package management system.

Re:More Python junk

Posted by: Anonymous Coward
on January 09, 2007 11:59 PM

Python applications are supposed to run on any platform. They never do. You always need something else, quite frequently unspecified. Python application almost never run the first time right (if at all), can almost never be ported to other platforms without nontrivial, mostly undocumented, environment changes, and when they do run, they are dog slow, Python being an interpreted piece of crap.

BMPx for the win...

Posted by: Anonymous Coward
on January 10, 2007 01:28 AM

None of these apps compare to BMPx, the grandpappy of all audio playing software. BMPx is the best thing since sliced bread. It supports Gstreamer, Last.fm, Shout/Icecast, SVG skins, and any audio format (OGG Vorbis/AAC+/WMA/MP3 etc.) that's supported by Gstreamer, plus it has an efficient DBus implementation. You just can't beat all of that, BMPx rocks!

Re:BMPx for the win...

Posted by: Anonymous Coward
on January 17, 2007 03:41 AM

What the parent post doesn't tell you: the BMPx project also has a policy of breaking every other release, completely redesigning the GUI every three or four releases, refusing to find MusicBrainz metadata for albums with certain characters in the title (nothing taxing, try Coldplay's "X&Y"), ignoring bug reports or closing them if you can't give feedback immediately, and generally not being very well organised.

Re:BMPx for the win...

Posted by: Anonymous Coward
on January 29, 2007 09:44 AM

You forgot to add how bmpx seems to require a complete reindexing of the entire x-thousand files worth of metadata every time you sneeze, and sits at the lead of the top CPU list even when you're just sitting there in idle. Oh, and it has a love of depending on packages not yet integrated into any distribution<nobr> <wbr></nobr>...