Banshee 1.0 Alpha 1

It is my immense pleasure to announce the first preview release of the next generation of Banshee. This Banshee 1.0 Alpha 1 release is a culmination of so much work by so many awesome contributors.

The Banshee logo

Now, first things first. This is going to be a long post, so let me link to the crucial bits first for the lazy enthusiasts out there:


Before I dive into the details of the release I would like to highlight few people in particular who have really spent a lot of their own time molding Banshee recently.

  • Scott Peterson – Scott has been a code and ideas machine. He’s committed huge amounts of work to many areas of the new codebase, all while going to school full time as a drama major at NYU, and working on a number of other related projects we’ll eventually sweep up into Banshee.

  • Alexander Hixon – Alex sort of came out of nowhere a couple of months ago and started hacking on the new Banshee by reviving the old Equalizer patch. Alex is also responsible for making Audio Scrobbling work again.

  • Will Farrington – Will has been hanging out in our community for a while, but a couple of months ago he started submitting patches and getting familiar with the codebase. He’s new to C# and some of the technical concepts around GTK/GNOME/Mono, but he’s been learning quickly and making valued contributions.

  • Gabriel Burt – Having Gabriel on the Desktop Team at Novell working on Banshee with me has been fantastic. We’ve made so much progress in so little time. From to our new database and Xesam/Query layers, Gabriel is at the heart of it all.

A Short History

This is the first release that shows off the hard work we’ve done on rewriting the core of Banshee. There were a number of critical flaws in previous releases due primarily to the fact that writing custom data models for the GtkTreeView was not possible until very recently in Gtk#.

We took some much needed time to redesign the database layer of Banshee to be able to deliver powerful model/query/cache level features and provide a framework to build on for years to come.

I decided to ditch the GtkTreeView and it has paid off. On top of this model sits a slick new list view rendered using Cairo. We control 100% of the drawing, so we can take this thing anywhere we want in the future – things you can only dream of with the GtkTreeView. You’ll already notice some nice GUI “bling” when using the view – try reordering columns.

With all of these core architecture changes, what we have now is a truly flexible framework for developing our prized Banshee. Here’s a somewhat dated diagram of how the different components all fit together.

That said, we still have a ton of work to do. This release does not have feature parity with previous releases. We’ve still got some more core changes to make (namely, finishing the new hardware layer) and a number of plugin features to port to the new core. See the release notes for details on what features are not yet available in this release.

Screenshot. Just one.

Banshee 1.0 Alpha 1

New Features

Just a quick overview of new features. You should really read the release notes after this.

  • Artist/Album Browser – Yes. Finally. Probably the most requested feature over the past three years has been the ability to filter a source by Artist and Album selections. The album view features glorious cover art previews, of course.

  • Listen with Peace of Mind – Now that Banshee is built on a solid data model, we can drive playback independent of what source you have in view. This means you can play a song in one source and switch to another source without having the playback switch to the new source once the song you started playing finishes. Playback continues from whatever source you start playing from.

  • The Play Queue – Really this is just a small UI layer on top of the dedicated source playback mentioned in the previous bullet. But it’s pretty nice. If the queue is populated, it forces itself to always be the dedicated playback source. Once an item plays from the queue, it is removed. When the queue is empty, playback resumes from your library.

  • Integration – is everywhere in Banshee, and we’re not done by a long shot. The radio extension will change the way you listen to music. Try it now.

  • Software Equalizer – At least it’s entertaining to play with, though it’s hard for me to be a real fan of software eq. I’m told though that it can help a lot when you’re stuck with a less than ideal sound system.


The new Banshee has loads of impressive performance improvements that really should be the subject of a separate detailed writing. With that in mind, I’ll just touch on each point.

  • Faster Startup – For me, on average it takes 1.5 seconds to fully “boot” Banshee. The key here is that startup time is no longer a function of the size of your collection. While there are still many things to optimize (just connecting to DBus appears to take about 1/5 of a second), this time is impressive compared to previous Banshee releases (startup time was proportional to the size of your library).

    For curious users, starting Banshee from the command line with the --debug argument will print a summary of exactly how the startup time breaks down. This will help us pinpoint services to improve later, leading to even faster start up.

  • Decreased Memory Footprint – Again, regardless of the size of your collection, Banshee should have a relatively constant memory footprint that is much reduced from what you might be used to with previous Banshee releases. I’ll talk numbers in a separate post.

Try it now!

One huge thing to note about this release, and all releases to follow – it can be installed and used in parallel with previous Banshee releases. This means you can try the new stuff out without ditching the old! So there should be nothing stopping you from trying it!

Your existing Banshee library will first be copied and then migrated to the new database format. While it is not backwards compatible, the new releases will not mutate any data used by previous Banshee releases.

It’s safe to package, install, and use side-by-side with previous releases. I will be submitting the new release to openSUSE 11 tomorrow and we may ship with both package sets, depending on when we actually can make the final 1.0 feature parity release. I say this to emphasize it’s safe to use… now.

More to come

We’ve got so much more planned. Remember, this is just the first alpha release leading up to the 1.0 release. What will that be? As soon as we reach feature parity with our current stable series – that’s when – and it’s not too far off either. In the mean time we’ll also be adding new features, so stay tuned, and try the releases.

UPDATE: I forgot to mention some resources on the Banshee Wiki that might be useful for those who want to dive in and try this preview release from source tarball or trunk. Quite important, these links!

Digg It

This entry was posted in uncategorized and tagged , , . Bookmark the permalink.

29 Responses to Banshee 1.0 Alpha 1

  1. John MCHugh says:

    nice is upnp on the cards for the 1.0 release?

  2. Most likely not for 1.0, but certainly very soon after.

    1.0 is mostly about reaching feature parity on top of our new core architecture so we can then really begin to develop great new features that take advantage of all the powerful things it offers. upnp is one of the first and most important additions I want to make after 1.0.

  3. Livio says:

    The Cairo-based treeview uses theme’s colors?

  4. Of course. The widgets blend in well with regular GTK. It’s a top priority.

  5. Schalken says:

    I love Banshee developers!

  6. Guy Lunardi says:

    Dudie, you and the community have been working so hard on this release. It’s is really like you said “paid off”. Congratulations! I really love it: Intuitive, Easy-to-use yet powerful, Elegant with so many little details that people will have to discover for themselves by trying it out. Digg it!

  7. Michael says:

    Very, very nice release! Thanks for all the work!

  8. hahahahahahahahahahahha

    ahhhhhh hahahahahah


    wicked :) now it all makes sense :)

  9. 6205 says:

    What about Banshee version in final openSUSE 11.0 ?

  10. Zonker says:

    Very nice — I’m enjoying it already. :-)

  11. Michael Koby says:

    I want to congratulate everyone on the Banshee team on a job well done.

    Banshee is one of the best music players available on Linux and this release shows vast improvements and a good solid step forward. I hope everyone on the team is extremely proud of themselves as they deserve it.

  12. Oliver says:

    Looks amazing! Can I just ask what theme you’re using in the screenshot there?

  13. If I understand correctly, Using Cairo also helps in the cross-platform compatibility effort because it is available for windows right?

  14. Oh, the new banshee logo is cool too.

    Props to Aaron, Gaburt, Scott, Alex and Will along with the other folks contributing parts.

  15. Topher Cyll says:

    I can’t wait to try out this release. Play queue and O(1) startup are *awesome.*

  16. Thank you everyone for your kind words. We’re certainly excited and proud of the release and the great things to come.

    @6205: Banshee 1.0 releases will be in openSUSE 11 very shortly. It will ship with openSUSE 11 final.

    @Oliver: The GTK theme is a slightly modified version of Gilouche. I made the modifications to take advantage of some of the new features in the Clearlooks engine. I’ll be submitting the changes to openSUSE 11. As for the rounded corners and subtle gradients in the lists, those are actually custom to Banshee due to our new Cairo layer that I mentioned. You won’t get that in other GTK apps ;) It is designed to blend in nicely though with the rest of GTK.

    @Josiah: Well, GTK itself is fully portable, so even if we stayed with the GtkTreeView, that would work fine on Windows. However, Cairo+GTK works well on Windows as well. So I guess what I mean is that just because we use Cairo, it doesn’t /help/, but it certainly doesn’t /hinder/.

    We’re not ready to officially announce Windows support, but here’s a quick UI preview:

    That build was actually built on Linux – the same build I would install normally. It runs unmodified on Windows on both Mono and .NET runtimes.

  17. Lostincyberspace says:

    I was wondering if you were going to work in Lyric plugin or something similar sometime soon as it is one of the few features keeping me with amarok.

  18. Grant says:

    Just installed open opensuse 10.3 via one click If you get crash with message

    Exception in Gtk# callback delegate
    Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
    System.DllNotFoundException: …. like I did

    you just need to #zypper install xorg-x11-libX11-devel

    The new interface looks really sweet.

  19. Joe Smith says:

    Congrats on the release guys! Looking forward to trying it out! :)

  20. Brad Jensen says:

    I love Banshee!

    You guys are awesome.
    Thank you!

  21. jojomonkey says:

    aaron & banshee developers,

    man…! it’s f’ing beautiful. 1-click didn’t work for me, missing Banshee.Services, but src compiled clean. interface is great, love the new album/cover listing, and the fade in graphics is sweet.

  22. Pingback: paul cutler’s blog » Blog Archive » Foresight stuff from around the web

  23. Brad Jensen says:

    I’ve been using the new Alpha of Banshee and was wondering if this will get fixed..

    Say I have one album with more than one disc to the album.
    I name the album-tag the same on all discs, not including the stupid (disc 2), (disc 3) and such at the end of the album-tag..

    In the “track viewer”, this is what Banshee shows now, and in this order:

    track=1 disc=1
    track=1 disc=2
    track=2 disc=1
    track=2 disc=2

    This is what Banshee should show:

    track=1 disc=1
    track=2 disc=1
    track=1 disc=2
    track=2 disc=2

    Thanks again for the great music manager,
    Brad Jensen

  24. @Brad: Banshee 1 Alpha 1 sorts by track and disc exactly like you said, however, you need to actually set the disc index tag, not some text in the album field. There is actually a metadata property in all tag formats for disc index. You can set it using the track editor in Banshee.

    Here’s proof:

  25. Brad Jensen says:


    You mean this tag?

    - I already have those tags set, as you can see from that screen shot.. and Winamp on Windows sorts my tracks perfectly. :/

    Also, here is what it looks like even though I have the disc number meta data filled in like shown in the easytag screen shot:

    - now, in the alpha version i can’t get the meta tag editor to work without having banshee crash, if i hit the E key on the keyboard or i right click and go to it, or even if i click it from the menu at the top, banshee alpha always crashes when i try to open it.

    So, here is a screen shot of the meta editor in banshee 0.13.2:

    - in that window i see nothing in either tab that deals with the disc number meta data like u said in the comment above,,

  26. Pingback: Aaron Bockover » Banshee: and the second alpha rolls along

  27. John Calcote says:

    Aaron, I’m finally getting truly converted to Linux after all these years. I’ve been developing on linux for several years now, but only on a secondary machine. For personal use, I’ve stayed with Windows because of all it does for me “transparently”. For instance, I can play any type of file using most all players, WMP, QT, iTunes, etc. Whenever I’ve tried in the past to move to Linux for my music needs, I’d run into one brick wall after another regarding formats. Now, I have tunebites, which will let me convert anything to anything on my home Win32 box. What format do you recommend as one that will simply be supported forever by the free software world? –thanks! John

  28. Livio says:

    IMO, that tree widget should land directly in GTK, because it is awesome.
    F-Spot is going to use it too, in a great way.

    I also have in mind modifications to Totem’s sidebar, using this widget.

  29. Aleksey says:

    First an official part for Banshee developers: Congrats on the release!)

    Now that wished to tell:
    I agree with Livio about tree widget… I think should land directly in GTK/

    p.s: new banshee logo very nice! ))

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>