I've been holding a media player war on my laptop for the past several months. After being a somewhat satisfied iTunes user for several years, I found that the constant updates to the player were exceeding my system's ability to cope. iTunes is a major resource hog, something I can't afford to have clogging my system constantly. I have music playing around 100% of the time my computer is active (don't believe me? Give my last.fm profile a look), so I need something light and fast, that is easy on the CPU whilst in the background.
My two obvious options were Winamp and Foobar2000. Winamp's current format is very much like iTunes, but more feature rich and attractive. It is superior to iTunes in nearly every way, including iPod compatibility. There are thousands of plugins and skins available online. Winamp offers an included web browser, which I would never use, but is nice to have. Podcast subscription is top notch, and video playback is far better than that found in iTunes.
![]() |
And then there was Foobar. A blogger once said:
Use WMP if you want your player to work like WMP,
Use iTunes if you want your player to work like iTunes
But use Foobar if you want your player to work like anything.
It isn't much of an exaggeration; Foobar is infinitely more customizable than any other media player. There are several user interfaces, the foremost being the Default UI, ColumnsUI, and PanelsUI. I had initially settled with PanelsUI, but couldn't get used to the playlist based browsing. Additionally, the panels config is mouse based with very little input from the keyboard. Even worse, it was resource intensive. There are some fantastic configs for the UI, though, and it should not be written off entirely.
I ended up using the DefaultUI. It is simple, easy to use, low on resources, and very customizable to a point. My monitor resolution isn't fantastic, so I needed something compact. Luckily, Foobar allows the insertion of any number of tabbed containers, in which can be stored any of the panels accessible under the interface. For instance, I can create a tabbed containter with two tabs, the first contains album art and the second could contain metadata. I can switch between these tabs depending on what I want to view at the time. Tabbed containers allow the player's components to be compressed into the space one component (panel) would normally occupy, thus slimming the player significantly.
But to get the player's playlist view that slim, I had to do some tinkering. In my old iTunes setup, I had columns for everything. My standard setup might include Track No., Disc No., Title, Album, Artist, Date, Rating, Genre, Format, Bitrate, Date Added, and all other manner of headings. Consequentially, I had a very, very wide library view (see Winamp screeshot for an idea). I would have to eliminate most of these.
![]() |
Foobar had me covered. The titlebar of the program and the status bar are both directly editable and can include anything you want to display about the current track. Any information about that the track can be displayed in any format you choose. To edit the display of the bars, I had to take a crash course in Foobar's own titleformat syntax. On the titlebar, my ideal display was the Track Artist heading and the current song, separated by a hyphen and followed by the date in brackets:
Radiohead - Idioteque [2000]
I ran into an issue when the %track artist% field was empty. I had originally set %album artist% as the first field, but I already have the album artist displayed under the playlist heading for each album, and redundancy equivocates to a waste of space. What did not have displayed anywhere was the track artist. There usually is no difference, but on my many Techno and Trance compilation albums, I had no way of displaying the track artist at the time. I tag my compilations' %album artist% field as either the mixer of the album or "Various Artists" if there is no clear mixer.
So I inserted the track artist tag as the first field in the titlebar. Many of my artists don't have any track artist listed, however. The titlebar would display:
? - Idioteque [2000]
I remedied that with this string:
$if2(%track artist%,%album artist%) - [%title%] ['['%date%']']
the "if$2" operator tells the program: "If there is a track artist, display it. If not, display the album artist." by this method:
if$2(x,y) / If X contains at least one present field, execute/display x, otherwise execute/display Y.
So any and all tracks with a missing %track artist% field revert to the %album artist% tag. My next target was the Playlist Group Heading (seen in the example as "Radiohead - Kid A [MP3]" in the grey text above the tracks). If I could display the artist and album there, I would have no need for the columns. I did so with this string:
[%album artist% - ]%album% ['['%codec%']']
Which groups the tracks in the playlist by Artist/Album/Codec as well as displaying the header. At his point, I had all my major fields displayed without their respective columns. So I set about creating a suitable layout. I use the Facets browsing interface, which is similar and far superior to iTunes' browser, so I set that in a tab (seen in the screenshot as "library"). Also in the library tab, I placed all the controls, buttons, and seekbars. I also set the album art and the visualizer into their own tab. In the final tab, I placed the playlist manager and the spectrum together. Beneath the entire container I put my playlist view.
My end result (see screenshot) was better than anything I could hope for from Winamp, so I am sticking with it. I also get all the other benefits of Foobar; comparability with all major codecs, low resource usage, and a massive base of user supported plugins and components.


Comments (1)
Your blog reminds me of two of your uncles. I'm glad you are pleased with your Foobar.
Posted by Gramalie | May 30, 2008 9:14 PM
Posted on May 30, 2008 21:14