W. Doug Bolden

XMMS

First up, the "Other Woman"

I will be honest with you. Ever since my computer restart and I switched to Kubuntu 5.10 ("Breezy Badger"), I had been a moderately diehard Amarok user. The reasons for this were many. My media library has over 15,000 songs in it in several formats (ranging from WAV files that old friends sent me of their demo tapes, MP3s from all across the net, OGGs that I have copied from my own personal disk collection, FLAC bootlegs from concerts, and probably more if I dug into it. Amarok had a nice, integrated media library support. It also had excellent ID3 and Ogg ID tag support, built in minibrowser that would either search for lyrics (through a variety of good websites, like Lyrc.com.ar) or show you a Wikipedia article about the band currently playing. It had a moderate "guess" function if tags were inadequate.

It did have two big problems. First was an arbitrary scoring system based on how long a song is allowed to play. You are not able to choose a criteria for the song, it has a single method. Also, since it was based on length of play time, this meant that longer songs (say, something from the Yes repetoire) could be impacted harsher if you stop at the beginning than shorter clips (say, out of the Rancid collection). It also gave the same points to a song that was stopped as well as switched, though in "intelligent" music selection, it would seem that the latter is the bigger indication of preference.

The second big problem was that it was kind of shoddy in the way that it handled music. Though it claimed to handle Podcasts, it simply couldn't. Some mp3s would cause it to "jerk and go". There was always a few seconds of overlapping with songs, and songs that were "stopped" would take a second or two to actually stop playing. All these problems were actually the fault of the engine, but when you marry your program to an engine, you will face the consequences of judgement. If the engine behind something is busted, then I am not going to praise it for being a great frontend.

There were other minor problems. Occasionally, it would hang whenever you skipped to the end of a song to go to a next one, I am assuming because of the database. It also would eat up a ton of resources to write to the tags of songs if you were doing more than one or two. I am not sure what the issue was here. It would fight with Gamin, which is used by Kubuntu to keep track of file system changes.

The final blow came when I upgraded to Dapper (Kubuntu 6.06) and Amarok 1.4. At this time, they swtiched their main engine from GStreamer to Xine. This works in theory, but it has one major flaw. Xine has buffer problems with oggs of all things (and apparently a simple "correction" will do it, but the xine crew has YET to implement it). This means, that my gigs of legitimate OGGs are less playable than my gigs of illegitimate MP3s (and legitimate MP3s). I simply could not stand for it. I switched to XMMS.

The Golden Oldie

I had used XMMS before. It had, in general, been my primary player. Something about all the other Linux based media players had pissed me off. And, to top it off, XMMS was graphically inspired by WinAMP (the elder, the newer WinAMPs beat it out, but I kind of like the older WinAMPs). This means it was essentially the same interface I had been using in my Windows days.

My only problem with XMMS stemmed from the fact that my media library was huge even a year ago. It has become quite cumbersome to have 10-12,000 files loaded in a playlist window. If I changed anything, I had to remember precise changes, or go through and rebuild the window, which took a while and would sometimes lock up things (I have more RAM now).

I knew that going from Amarok to XMMS would be hardest in that I could no longer search and sort my songs. I would have to manually open folders, taking away Amarok's easy going "play as you want with minimal typing" style. Luckily for me, I came across Madman. It is a media library system designed to work with XMMS. It actually has (once you get used to the difference) a slightly superior way of searching for music than Amarok's. It has its own playlist editor so you can build up playlists and then load them into XMMS. And it has a much better scoring system than Amarok (though I have not played with it). It has as much or more problems editing multiple tags as Amarok, though, and takes much longer to update the database (which it does not do automatically).

You can see a screenshot of the two working together by clicking on the link or looking down below.

This means I get a database system AND I get XMMS superior playback and equalizer support. Roughly the same RAM stamp. Not too bad.

The Problems and the Future

There are problems. One of the major complaints about XMMS is that it relies on gtk 1.* and has some fairly blah skins to choose from. This is not a problem for me. If I want pretty, I will switch to a Mac. I am more interested in simple programs.

The problem that bugs me the most is that it seems to have problem sorting by track number1. In fact, its playlist window (which isn't based on columns but on simply displaying track information) could be definitely reworked to allow a quick sort based on various factors. As it, by the way, you can still accomplish this by rewriting how you want song title displayed. It just requires you to edit that, reload your playlist, and resort.

I think as Madman improves, then the media library aspect will improve. That's cool.

The system is moving towards XMMS2, by the way. This is a server-client model. I have developer's release of it, and have been testing it, but haven't got very far with it.

One Quick Hack: Stop After Current

XMMS is missing two things that I loved in Amarok, a button to "stop playing after current song" and a Queue manager. I have no worked out the Queue manager system yet (besides using the playlist editor as the Queue and using Madman's playlist as the playlist). But I have worked out a method for making XMMS stop.

The commandline "xmms --toggle-advance="off"" needs to be run somehow. I am using KDE's neat little "add non-KDE app" feature and set it down in my Panel so that I click it. You can use a script or make a plug in or whatever you want.

Now go to the song change plugin. I do not remember if it comes with XMMS by default, or if you have to get it. There may be various plugins for it. I am unsure. You just need a song change plugin. Turn on the option to run a shell command when a song starts. Then, set this option to "xmms --toggle-advance="on"".

What this does, you see, is it stops the playlist after the current song. Then, next time music is played, it turns on playlist advancing back on.

Screenshots

1: As far as I know, the following trick helps to sort XMMS by track number, without any fancy patching or recompiling by source code. Simply go into how the track title is displayed and add, somewhere, as your track number listing, the following:

%0.2n

If you have many videogame soundtracks or other CDs that might have more than 99 tracks, you can go ahead and make that:

%0.3n

What this does is displays the track number with either 2 or 3 characters by default. It appends leading 0s to it. Then, when you sort by titlename, it will sort it by the extended title number and you don't get track 10 following track 1.

Written by W Doug Bolden

For those wishing to get in touch, you can contact me in a number of ways

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

The only request is that you let me know if you are using something from this page (mostly for my own curiosity). This license only applies to original works by W. Doug Bolden (i.e. me). All quoted and referenced works, be they movies or books or other websites or whatever, are subject to their original license or copyright and are the property of their owners. I have made a strong effort to properly attribute them, so please respect me and them by doing the same.

"The hidden is greater than the seen."