After just under two weeks of hard work, I hereby present Banshee 1.0 Alpha 2!

The Banshee logo

We’re going to be cranking out the releases leading up to the final 1.0 release every one to two weeks, so get used to this!

A Public Screening

You might be wondering what we can accomplish in two weeks? How about full video management and playback?

Banshee 1.0 Alpha 2: All about the video
Banshee 1.0 Alpha 2: all about the video

While the feature is very new, it’s rather complete and solid. We expect to add more goodies on top of this, and I’m sure much bug fixing and tweaking will follow, but I’m quite excited to have finally landed this. We were able to very easily add the video library management by leveraging the power of our new underlying data model.

We will be adding a slick new video collection view in the future to allow you to browse and view your video collection with thumbnails and previews.

Other notable improvements

A number of other smaller features and bug fixes landed in Alpha 2, including:

  • Play Count, Skip Count, Last Played, and Last Skipped columns are updated
  • Improved column handling in the new list view
  • The Bookmarks extension was ported to the new core
  • i18n works again
  • Improved support for dark GTK themes

For more details on the video support and other changes since Alpha 1, read the release notes. Also don’t forget to read about the previous release which has lots of new juicy feature overviews if this is your first time reading about the Banshee 1.0 alpha releases.

Miscellany

Digg It!

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:

Kudos

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 Last.fm 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.

  • Last.fm Integration - Last.fm is everywhere in Banshee, and we’re not done by a long shot. The Last.fm 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.

Performance

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

I had the privilege this morning of being the guest “speaker” for the multimedia-themed openSUSE GNOME community meeting where I discussed some of the high level plans for the future of Banshee and what that may mean for openSUSE 11.

I discussed the incredible performance and memory usage improvements, the new model/view, the album/artist browser, the playback queue, our fantastic new Xesam-based search and smart playlist infrastructure, and so on.

As a result of feedback from the meeting, I wrote a guide for building Banshee from trunk on openSUSE 10.3+.

And here are some related links:

And of course, if you’re interested in making your voice count in openSUSE, please join the meetings!

I am building nightly, or semi-nightly, packages from the inkscape-current tarballs in the openSUSE Build Service. If you follow Inkscape and are running openSUSE 10.3, you may wish to subscribe to my home project repository and update your inkscape package from there:

http://download.opensuse.org/repositories/home:/aaronbockover/openSUSE_10.3

Enjoy! The latest builds have been very awesome, I’m loving the new dockable tool windows, though they do need a lot of UI work still.

It was brought to my attention this evening that something rather critical was missing from my Banshee 0.13.2 release blog entry.

dude a release blog without a 1-click link is like coffee without caffeine
–Larry Ewing

So without further ado…

openSUSE Logo
1-Click Install
for openSUSE 10.3

Gabriel Burt

Community member extraordinaire Gabriel Burt (”gabaug”), of Banshee, F-Spot, and many other fames, has joined the desktop team at Novell to help work on Banshee and general multimedia support in openSUSE and SLED!

Gabriel has been an active and enthusiastic developer on Banshee for the last couple of years, contributing very notable components to the project, including Smart Playlists, Generic USB mass storage audio player support, and the Bookmarks plugin along with lots of general bug fixing, feature enhancement, and community support.

He also helps maintain F-Spot and has done a lot of work on the tag view and contributed the very innovative drag-and-drop tag searching.

Our first joint task on Banshee will be to construct a new road map for the project, so stay tuned, Banshee enthusiasts — many exciting new things are in the pipeline!

Welcome to the team Gabriel!

We’ve been hard at work on openSUSE 10.3, to be released in a couple of weeks. RC1 marked the “transition point” for me. I’ve moved my main machines over to 10.3 RC1 from 10.2. It’s very nice to be running the latest GNOME again. Some major things I was involved in for the 10.3 cycle:

  • Lots of Banshee work, of course. The latest release (0.13.1) is in openSUSE 10.3, and we will be pushing major updates into the proper channels when they are ready. We plan to deliver support for the new disgusting iPods in the coming weeks, probably just after the final release of 10.3.
  • The new codecs installation web application. We have hooked into the proper places in GStreamer to handle “codec missing” problems in Totem and Banshee.

    If you are missing a codec, you will be taken to the new codecs web application. Depending on what codecs you are missing, what’s displayed on the web page will change. For instance, if you installed from only the OSS media and tried to play an MP3 through a GStreamer application, you will be given a 1-Click Install option for the Fluendo MP3 decoder (which is now shipped and installed by default through the non-OSS patterns, like the DVD).

    What we are able to offer for our users through this web application will likely change for the better in the future, but we have a wonderful solid starting place for the release.

  • Shipping Brasero. This is a new all-singing-all-dancing CD/DVD burning application for GNOME with a lot of potential and very active development.

    Because Brasero is so new, this decision was initially a bit daunting, especially when coupled with the bad experiences some of our users had with previous versions on openSUSE 10.2, but it has been rock solid in all testing so far. Kudos Brasero developers! In openSUSE 11 we will investigate making Brasero the default burning application for GNOME (currently it is still Nautilus, but Brasero is installed by default).

openSUSE 10.3
openSUSE 10.3 RC1 - Click for Full Screenshot

One of the first things I did after switching my primary machine to 10.3 was some theme work. I am a big fan of Gilouche — great color scheme and it has some wonderful custom theme polish for the new GNOME Main Menu, Application Browser, Control Center shell, and the new International Clock. However, I really like the Clearlooks Gummy theme that is new in GNOME 2.20. So naturally I had to combine the two. Garrett will investigate making it official, but I am going to link to my version right now for anyone interested in using it now.

Anyway, here is Gummy Gilouche! It’s featured in the screenshot above, so click it for a better preview. I disabled the gradients that are drawn on the tabs. If you want to enable or disable certain things in Clearlooks or this Gilouche derivative, see Marco Barisione’s post for details.

I highly recommend everyone check out openSUSE 10.3 - the RC1 is solid, and the final release will be out soon. Keep it on your radar!