- Programming Language: Perl
- Engine: GStreamer / MPlayer / CLI tools
- Age: 5 years
- Pros: Truly customizable interface
- Cons: Custom (unstable?) tagging library
GMusicBrowser has the distinction of being the only Perl-based program in the list; in fact, with some notable exceptions, it’s one of few popular Perl-based programs I see at all in the popular Linux software ecosystem, the language having been supplanted by Ruby and Python and C#.
Perhaps that’s why, despite its power, GMusicBrowser tends to languish in obscurity: it managed to elude my notice in both previous audio shootouts, despite being around since 2005. This is a shame, since I think it would have been a serious contender as it is now.
Conventional wisdom has it that programs written in C[++] are fast, followed by bytecode-compiled languages (Java, C#), with scripted languages (Python, Perl) bringing up the rear. Though there are a number of problems with that “wisdom”, suffice it to say that there’s been no apparent correlation between language and speed observed so far. GMusicBrowser is no different; in fact, it seems downright speedy. And, as seems appropriate for such a hacker’s language, GMusicBrowser is chock full of options.
Like only one other player in this comparison (Deadbeef), GMusicBrowser has the ability to group playlist entries. It comes with some out-of-box defaults which are subpar—it doesn’t appear to have a simple Artist – Year – Album heading like Deadbeef or foobar2000—but is theoretically extendable with its own playlist markup language, which I did not attempt to do for this comparison. You can see a variety of layouts on GMusicBrowser’s site, including some user-contributed layouts to download. You can see just how powerful the layout editor is in GMusicBrowser; I just wish that customizing weren’t quite such a convoluted process.
As I mentioned, its options are manifold: its library setup is standard, but still better than Banshee’s or Rhythmbox’s (despite the lack of a change-watching feature) in that you can set an arbitrary list of sources. Though it can use GStreamer as its playback engine, as with most GTK+ players, GMusicBrowser also gives you the ability to use MPlayer as its backend, as well as various and sundry command-line players if you have them installed. It’s a nice feature for those who don’t care to have GStreamer installed.
One poor design decision on the developer’s part is to make icon themes particular to his application, rather than simply inheriting the current system theme. By default, the new and popular “Elementary” icon theme is used, and none of the other appeared to work, but that may very well be a function of the code’s developmental status or poor packaging from my source.
And, of course, where would a decent player be without plugins? GMusicBrowser has a small selection of them, some more useful than others, but they cover the typical range, from music social services like last.fm to contextual artist/album information to even a ripping feature.
Tagging is something of a sore subject in GMusicBrowser. The developer’s page warns that the program use his own custom tagging library, and that users should “use at your own risk”. It’s a full-featured tagging library, even to the extent that GMusicBrowser offers mass-tagging (intelligently editing tags across multiple files), but the warning about potential instability or file-destroying bugs leaves a sour taste in my mouth.