As folks who read this blog know, I’m always checking out new ways to access, sort through, catalog, and otherwise enjoy my music files. As a long time Mac user (at least since they dumped their old OS and started using BSD), iTunes has really been the slickest, easiest to use and most fully functional music player available to me. But Apple’s incessant attempts to impose more ingenious and arguably ever more diabolical forms of their DRM (digital rights management) upon me in order to limit what I can do with my own music have basically forced me into an as-yet unending search for a better, free and open solution.
My desktop at work runs Ubuntu (8.10) which means I can happily use Amarok to control my music library. Among other things which make Amarok cool, I can have it connected to my MySql server so that my library is stored in a real database (not an XML file like iTunes or even SQLlite like some other players) which really makes sorting through huge amounts of music really fast (and even possible where at some point the XML file model really just fails to deliver). I can’t run Amarok on OS X (at least not easily) yet, so I’ve had to keep looking. I also use Rythmbox a lot on the Ubuntu machines and I like it’s clean interface. It’s real easy to use – easier maybe, than iTunes so I started to look around for a port to OS X. I found one guy who claimed to have succeeded to build it on OS X after much trouble, but his steps weren’t documented and somebody else suggested Banshee. Banshee is a music player written in C# and made available to a vast number of platforms through the magic of Mono. Mono is a Novell sponsored (yes, Novell is still around – they bought the German Linux SUSE and now compete with Redhat Linux for enterprise customers) project that provides an open source implementation of Microsoft’s .NET. Mono has been very interesting to us at work lately as a possible means to get some of our .NET code to run on the Mac, so the fact that the player is actively being developed by two Novell programmers was very interesting to me.
First off, to get Banshee running on OS X you’re going to need an Intel Mac running 10.4 or 10.5, they have no plans to cater to PowerPC users (and it would probably run way too slow on one anyway). Then you’ll need to install Mono 2.0.1. This is a big package (about 300 Mb installed), but the only issue of note is that by default OS X doesn’t install with X11, and if you haven’t installed that optional X windows package, some of the stuff that comes with Mono will bark during the install (and not work of course). Since you don’t need X11 to run Banshee it doesn’t really matter too much. I installed Banshee 1.4.1.
Banshee looks and feels a lot like Rythmbox, the default music player on the Ubuntu Linux distribution. There’s probably a lot of cross-pollination going on between these two open source projects, though I really can’t speak to any of that. On the face of it, the players work very similarly and share a lot of graphical elements. The most recent Rythmbox on my Ubuntu machines is fairly stable if a little slow (at least when compared to my MySQL based Amarok, maybe not when compared with iTunes), but sadly Banshee isn’t. I’m not sure where the problem lies, whether it’s in Mono or Banshee itself, but it has crashed far too many times for me to consider Banshee a seriously viable alternative to iTunes at this point. I can’t pin down what’s making it die, and I can listen to hours of music and it won’t happen, but once in a while it just up and crashes, sometimes when I’m mucking around in the program making me think I did something wrong, and sometimes when I’m in an entirely different program which pretty much absolves me I should think.
Things I like about Banshee include the uncluttered layout, everything seems to have a place and it makes sense on the screen where it is. The top of the player has all the control functions (play/pause/volume/shuffle mode) and a little image of the currently playing track. CPU use is a steady 12.5% and uses only 58Mb Ram. iTunes is all over the place – as low as 11% briefly, then jumping up to as high as 34% briefly, and it hogs almost 90Mb of Ram!? I like the little counts in (elipses) next to each class of music. ie: “Unheard tracks (17875)”, you can choose to manually rescan your music directory to reflect changes on disk (for instance after adding or removing files from the folder where you keep your music), iTunes just gives you a stupid symbol that the file is gone. Yes, I know its missing, all those annoying missing files indicators are a pain when you manually maintain your music library or regularly add music to it outside of iTunes (Apple thinks no-one would ever want or need to do this I suppose).
Things I don’t like about Banshee: lack of right click context menus – I want to right click on elements and affect them, but right clicking does nothing, sorting by track is funky – for some reason the graphical sorting icon is not always visible in the column header for track column – it’s just blank and you don’t know you can click it. If you click in just the right place when the icon is missing, it will work, otherwise nothing happens and it just seems like you can’t sort by clicking on the track column header at all, how can I download artwork for just one album at a time? It seems like I can only choose to download for everything all at once? Also, when rescanning the library, it automatically attempts to download all artwork again. As far as I can tell the position slider at the top left (to select a specific point in the currently playing mp3) doesn’t work at all or I’m doing something wrong. Edit | Properties has no keyboard shortcut!? I use this all the time in iTunes (apple-i) to get info about the track I’ve highlighted – having to click on the Edit menu and then click properties is a pain. Also, that properties window always opens too small and I have to enlarge it every time, can’t the size I set it to last time be memorized somehow? A complete solution has to offer some way to import a CD, but it appears that the only way to do this in Banshee is to check a preference box to “automatically import” CDs upon insert – I want to choose an option to import it or not. There is no (obvious) indication that a CD has been inserted. Banshee, being an open source program offers .ogg as the default import format. This is great, but I keep all my music in .mp3 right now and I don’t see a way to configure Banshee to use the lame library to import as mp3. The podcast system seem half-baked in that the date of incoming podcasts are displayed incorrectly (01/01/0001), and double clicking a podcast doesn’t download it which would be the most intuitive thing to do. You have to go up to a menu item to download it first. Another oddity is probably specific to OS X and the behavior for minimize: normally when you minimize a program in OS X, you end up with two icons in the dock one of the program itself and one with a little thumbnail of the window at the right end of the dock. Normally, clicking the program icon in the dock again will maximize the running program again (removing the thumbnail). Banshee won’t maximize when you click the program icon, you have to click the thumbnail instead.
Some of my complaints about how the interface works may be misdirected because a little more investigation reveals that a lot of the functionality of Banshee is provided through plugins and as such, are not in the core code anyway.
Having more than one computer in the house is pretty common now, but I don’t know how common it is to have those computers all be running different operating systems. In my setup I’ve currently got OS X (10.5) on my own machine, Ubuntu (8.0.4) on another with multiple accounts set up (kids and occasionally me), and another Windows XP for the wife. Another Ubuntu machine is currently not set up but might be deployed again at some point.
If I ran all Macs, all Linux, or all Windows machines I might never have bothered to look for another player. I’d be happy to just use Amarok or Rythmbox in Linux, or iTunes on the Mac and Windows. But as it happens, Apple decided to make it impossible to share music to non-iTunes 7+ players when iTunes 7 came out (iTunes 8 is current). That meant that as soon as I updated iTunes on the Mac or Windows machine I could no longer access my shared music from a non-Mac or Windows machine running iTunes. This is because Apple decided to go to a key encryption scheme to keep folks from file sharing except to other iTunes users. Even though I like iTunes a lot, I could no longer use it in my house or at work and still have access to music located on the Mac or Windows machines when running Ubuntu. That got me looking for open source audio sharing programs.
Turns out Apple basically wrote the book on audio sharing with iTunes with DAAP (Digital audio access protocol), and most of the other players that implement that kind of thing use some variation or reverse engineering of Apple’s idea to get it done. A program called Tangerine for instance will run on Windows, Linux, or OS X and share up a directory of music using a form of DAAP akin to that which was found in iTunes 4 (so that non-iTunes DAAP aware players can access it).
As it happens I’ve also been looking at getting a Synology NAS box which has an open form of DAAP built in (I think it’s based on firefly), but quick research indicates that performance with a large music library is lackluster. If I do go this route, my problem will shift from one of possibility to performance, but I really don’t want/need a big powerful server on at all hours of the day and night just to play music.
Right now it looks like Banshee is neck and neck with Songbird as a soon-to-be viable alternative to iTunes, but neither is quite there yet.