2011-04-27

A new Banshee bundle of joy

The release of Banshee 2.0 is already a few weeks behind us, so after a non-negligible delay I'm happy to announce the availability of the Banshee 2.0 bundle for Linux :
Download the file corresponding to your system, uncompress it and run it !
Those files are now compressed with bzip2, so use "tar xjf ..." if you're the command-line type.
You might notice that the files are now hosted on ftp.gnome.org, making this thing look much more serious (and DropBox doesn't seem to be popular these days...).

But that's not the only thing that changed, I've improved several aspects of the bundle :
  • GStreamer integration
    We now use the system-installed GStreamer plugins, from the usual locations (/usr/lib/gstreamer-0.10 and /usr/local/lib/gstreamer-0.10). That's why there is now a 64 bit version of the bundle : a 32 bit bundle would run fine on a 64 bit system, but won't be able to load the 64 bit plugin binaries. This means that you should now be able to listen all your music, as long as the proper codecs are available on your system.
  • Theming
    We also try to use the current GTK theme, if there's one available. If there isn't, we use the theme included in the bundle. You can tell the bundle to ignore the current theme by passing the --use-bundled-theme parameter when starting the bundle. We currently only support themes that use the Murrine or Clearlooks engines. If your favorite theme requires another engine, just drop me a line and I'll try to add it.
  • Font handling should be better, as the default configuration files for fontconfig are now included.
  • Navigating to the HTTPS pages on the Amazon store should work, thanks to having the right gio module in the bundle.
  • Various packages have been updated to their latest stable versions, including taglib-sharp, sqlite and libsoup.
  • And of course there's all the goodness that is Banshee 2.0 !
A small gotcha to keep in mind : if you have ever run a previous version of the bundle on your 64 bit system, you'll have to delete the following file : ~/.config-glick/banshee-1/gstreamer-registry.bin
All the changes for the bockbuild build/bundling system are available on my GitHub branch, and maybe soon on the main repository, and you can read more about the way the bundle is built in my previous post.

So go ahead, try it ! You won't break your system !
But if it doesn't work, please file bugs in Bugzilla. Just make sure to mention you're using the Linux bundle, indicate which distro you're using and include any log output.

Update : Modified last paragraph to direct bug reports to Bugzilla.

2011-03-07

Banshee Bundle on Linux : One file to run on them all

As you might know, Banshee is available for Mac OS X, as a single file, which is a self-contained bundle of the Banshee binaries, along with all the dependencies. You just have to download it somewhere on your system, and run it.
Back in late 2009, when working on the tools to create this OS X bundle, Aaron already had the idea to create a similar thing for Linux, calling it "an interesting hack".
I'm happy to report that it was indeed an interesting hack, and you can enjoy the result by clicking on this link : banshee-1.9.4.run.tgz (49 MB)
Download the file, uncompress it with your favorite tool and you'll get a banshee-1.9.4.run executable. Just run it !



What do I get in that big file ?

The bundle contains almost everything you need to run Banshee, except maybe an operating system : GLib 2.28.1, GTK+ 2.24.1, SQLite 3.7.5, WebKit 1.2.5, GStreamer 0.10.32, Mono 2.10.1, GTK# 2.12, etc. What is missing though are MP3 codecs, but you should be able to play ogg file and other formats.
So you should be able to run that file on pretty much any Linux system, provided it has an X server and supports fuse (more on that later).

How does it work ?

This bundle is built using two great tools :
  • Bockbuild by Aaron, which is a light-weight build/packaging/bundling system for OS X, Linux, and Windows and is used to produce the Banshee OS X bundle.
  • Glick by Alexander Larsson, which is set of tools to easily create application bundles, using a nice trick with /proc/self and file descriptors.
So that big file is just a regular 32-bit i386 ELF executable, with a small bootstrap code and an ext2 filesystem image in one of its data section. When you launch that executable, the bootstrap code will mount the filesystem image in a temporary directory and do it's trick so that /proc/self/fd/1023 point to the root of that filesystem. It will then run the "start" script that sets up a nice environement and launches Banshee from that filesystem.

I've tried to do everything so that there's no interference with any thing on the system, in particular with an existing Banshee installation : configuration files are stored under $HOME/.config-glick/ and Banshee uses its XML configuration backend instead of the usual GConf. But of course standard disclaimers apply !

I had to modify and slightly extend both Bockbuild and Glick, so you will find my changes in the following branches on GitHub :
That last branch also contains a README.linux-bundle file with what I hope are clear instructions on how to create a bundle with these tools.

Why ?

The idea here is not to replace the packages you get through your Linux distribution (we love our packagers !), but to cover the use cases that aren't covered yet :
  • Allow users to quickly and easily try out a new version of Banshee, without having to wait for the packages to be available for their distro.
  • Provide an easy to test experimental features, instead of asking people to compile from a git branch.
  • Run Banshee with the latest versions of its dependencies, without any risk of compromising system stability.
  • Provide a custom UI theme (aka skin), using GTK theming.
  • [Insert your idea here]

What's next ?

There are a few things missing and some things that could probably be improved :
  • The bundle doesn't contain any hardware backends, so you won't be able to see your media player in Banshee. It should be possible to make that work by adding the missing build dependency, and let everything work its magic at runtime.
  • Although the bundle contains Mono 2.10.1, the new SGen garbage collector is not enabled yet. I just wanted to play it extra-safe for now.
  • I've seen some weirdness with fonts on some systems, maybe we could just add a nice font in the bundle.
It would be really great if somebody with artistic talent could come up with a nice and elegant UI theme for Banshee. Right now the bundle contains the Shiki-Brave GTK theme, but I'd be happy to add others to the mix !
I'm also looking forward to hear about your experiences running Banshee from this bundle, good or bad. Bonus points for running on the craziest Linux systems out there !

2010-11-03

Hello Planet GNOME !

I'm happy and honored to be included on Planet GNOME, in such great company !

For those who are interested in my previous posts, a quick recap (read it with your best Jack Bauer voice) :

Previously on this blog
Enough with the old stuff, let's show some progress here ! I found some music to go along with the video I made for the Banshee 1.8, and I finally went multimedia.


Of course, you have all recognized "Forgotten Heroes", a song from "Nightmares By Design" by Severed Fifth.

If want to be a Banshee hero, join us, and you will not be forgotten !

2010-10-05

Banshee 1.8.0, a few highlights

Last week we released Banshee version 1.8.0. A lot of new features and enhancements were added since the 1.6 release six months ago. So I'm not going to list them all, I'll just point out some of my favorites.

Amazon MP3 store

Browse, search, preview, purchase, and download music without leaving your media player. I can now enjoy music I never had a chance to get my hands on before !

Detailed screencast by Aaron

The part I like the most about it is that it uses the Amazon affiliate program, and all the money goes to the GNOME Foundation. Since this was put in place in August, every month brings a new record in revenue !

OpenVP visualizations

With every major Banshee release also comes a new version of the Banshee Community Extensions.
I'm really happy that it now includes the new OpenVP extension by Chris Howie. OpenVP is a platform for developing music visualizations, and the extension adds various music visualizations in the "Now Playing" source. You can now be mesmerized by your Banshee !

OSX is back

We haven't provided updated OSX packages for quite a while, so Tarmo Milva, an Apple-fanatic and a friend, could not stand this anymore. Or maybe he just got frustrated and tired of me rambling on about the awesomeness of Banshee...
Using the bockbuild build system (created by, you guessed it, Mr. Aaron Bockover), and with a bit of patience, he managed to build Banshee on his Mac, and created a shiny bundle for easy installation. He was kind enough to share it, so you can get it from our download page, and send your thanks this way.
This is still a beta-quality preview, several features are missing and it's not as stable as our Linux releases. Any OSX-related help is welcome, especially since Tarmo is often busy running marathons...

And more !

OK, I lied, I'm going to list more new stuff anyway :
  • Major update of the hardware integration, and improved Apple device support
  • Miro podcast directory
  • Topic-based user help
  • Metadata  fix-up extension
  • MPRIS v2 support
  • ...

Pretty moving pictures

Like I did a while back to celebrate the previous major release, I made another video using the excellent version control visualization tool called Gource. This one shows the activity between 1.6.0 and 1.8.0. You will notice it starts before the release of 1.6.0 with low activity, that's the stuff that was happening on separate feature branches and that got merged in later on.


If you want to be a part of the next movie, it's easy : translatewrite documentation, write code !

2010-07-10

Going to GUADEC - My answers to the 5 questions

Who are you and what do you do ?

I'm Bertrand Lorentz, a French guy exiled in Luxembourg. I'm working as a project manager at the Court of Justice of the EU, and I'm hacking on the great Banshee media player during my free time.

How did you get into GNOME ?

My first GNOME-related contribution was an alarm-clock extension for Banshee, back in 2006. In 2008 I got gradually more involved in Banshee itself : triaging bugs, writing small patches, managing and reviewing patches, etc. I'm now proud to be a member of the GNOME foundation.

Why are you coming to GUADEC ?

I'm going to GUADEC for the same reasons I went to GCDS last year : meet nice people, see interesting talks, and have an all-around good time.
I'm particularly looking forward to meeting Gabriel for the first time after all those online interactions, and also Alex Launi, our Google Summer of Code student.

In 1 sentence, describe what your most favorite recent GNOME project has been.

In the past months, I've been really happy to see the way the F-Spot project is going : an articulated vision, lots of positive energy and enthusiasm.
Of course, the fact that Ruben has started picking up some of my commits to Banshee and applying them  to F-Spot might have something to do with this positive opinion. Doing the work once and getting the credit twice ? Count me in !

Will this be your first time visiting the Netherlands ?

Yes, although it's not that far from where I live, I never had the opportunity to visit the Netherlands. So that will be one item off my list of "EU countries I've never been to"

So, I'm attending GUADEC and I hope I'll see you there !