Bug hunting!

The last few days, I’ve been very busy with bug hunting. Mandriva 2007.1 is nearing it’s final release, so it’s now or never!

Some of the problems that I hope will still be fixed:

All in all, Mandriva 2007.1 is probably going to be the most stable Mandriva release ever.

The quest for a nice Gnome audio burning app

With a new version of Mandriva, 2007.1 Spring edition, coming out soon, I decided to take a look at the choice of default applications installed, and posted my comments about Mandriva’s default KDE and Gnome installations on the Cooker mailing list. Concerning KDE, I’m afraid my comments have not resulted in a lot of changes, but the Gnome maintainer Frédéric Crozat was very interested in my comments, and after some discussion, several adaptations were made. One of the things a lot of people agreed about, was that the program gcdmaster (a front-end for cdrdao), probably was not the best choice as an audio burning application. For data CD and DVD burning, there is nautilus-cd-burner, but what would be the best choice for music CDs? There were a lot of suggestions on the mailing list, but not a lot of people had any real experience with them, so I decided to extensively review five CD burning applications for Gnome, in order to find a good alternative for gcdmaster. The applications I tested were: gcdmaster itself, Brasero, Graveman, Gnomebaker and Serpentine.

Gnome CD Master

Gnome CD Master screenshot project chooser
Gnome CD Master (gcdmaster), a front-end to cdrdao, is what currently is installed by default in a Gnome desktop, so that’s where we start with.
When you launch Gnome CD Master, a window is shown where you can choose the kind of project you want to start. There are 3 options: creating an audio CD, copying a cd or creating an image file. I choose an audio CD project.

Gnome CD Master screenshot waveform viewThe window now shows an empty waveform view. There are buttons to play the sound, and a button to start recording, but no button to actually insert a music file. Neither do I find this option in the File menu, where I had expected this, but in fact it’s hidden in the Edit menu where I find “Append File”, “Append Track” and “Insert File”. I choose “Append Track”, and open an MP3 file in the file chooser. When clicking OK in the file chooser, the file chooser actually does not close, which is very confusing: the first time I thought I had not clicked correctly, and clicked three times. The result was that the file was inserted three times. The MP3 file is immediately decoded, which takes some time for large files and the waveform is shown in the window.

When you have inserted some music files, the interfaces enables you to split up the music in tracks, and add silence gaps. So Gcdmaster is especially interesting for burning gapless mixes in separate tracks.

I noticed an important problem when using gcdmaster: the decoded WAV-version of the file is saved in /tmp, and filled this partition without giving my any warning. Using /tmp by default is not smart, as a lot of people are using tmpfs for this file system, which means its size will by default be half of the available RAM. On a lot of machines, this will not suffice to store a 74 minute audio project. Instead, it should use the tmp subdirectory in the user’s home directory.

On the other hand, for simple audio CD burning, this application is much too complex, the interface can be confusing and is not intuitive enough for simple use.

Brasero

Brasero, formerly known as Bonfire, is developed since the last quarter of 2005, and is now at version 0.5.2.

Brasero screenshot project chooserJust like gcdmaster, when you start up Brasero, you get presented with the different kind of project you can create. Apart from creating audio CDs and copying CDs Brasero also supports the creation of data DVDs and CDs.

Adding files to the project is very easy: you select files in the right pane, and drag and drop them in the left pane. Or you select them and use the + button. Brasero is very intuitive, it is just a pitty that you cannot shown the windows horizontally, above each other, as the current lay-out takes a lot of space in the width. Another usability problem, is that Brasero by default still shows all files in the right pane when you create an audio CD project. By default, it should only show known music file formats.

By clicking on the Pause icon, you can easily add a two second gap between tracks, and it’s easy to change CD-TEXT information by right clicking on a track and choosing Edit Information.

In the View menu, you can enable the preview. When you select an audio track, you get a small music player in the right pane which permits you to listen to the selected file. This is a nice feature.

Brasero screenshot creating audio CDBeneath in the left pane, there’s a bar which clearly shows how much space/minutes you have left on your CD, and you can esily switch between other cd lengths by clicking on the CD icon. When everything is finished, you click on the Burn button, where you can choose a CD title, select the burner you want to use, and set some advanced if you want. The default should do fine in most cases though.

Then, if you have put a used CD-RW in the drive, Brasero will ask you if you want to erase it. After confirming this, the deception comes: the Mandriva Brasero packages still uses cdrecord, which is not available anymore and has been replaced by cdrkit. Brasero should really check the availability of these dependencies before letting you create a project. There is already a bug report open for this. The reporter made some symbolic links to cdrecord binaries, but even then there are issues that Brasero does not work correctly, except if started from a terminal window. These are really showstopper bugs unfortunately. Debian does have a patch for using cdrkit, but as it’s for an older version, I’m not sure if it still applies. I opened an upstream bug report to support cdrkit.

It seems that Fedora and Ubuntu have built Brasero with the libburn libraries. Although libburn is actively developped, I’m afraid it is still too early to use this back-end in production. Still, as it seems Brasero developers are investing a lot of time in this back-end, Mandriva should at least start including it too, even if not yet as Brasero’s default back-end (even if compiled with libburn, it won’t use it until configured to do so with gconf).

There are several important bugs open for Brasero in Gnome’s Bugzilla.
Since the release of Brasero 0.5.2 was published, two important bugs have been fixed in svn, for which the patches should be included in Mandriva’s packages: http://svn.gnome.org/viewcvs/brasero?view=rev&revision=151 and http://svn.gnome.org/viewcvs/brasero?view=rev&revision=152
Progress of Brasero’s development, can be followed with CIA bot.
All in all, Brasero seems to have great potential, but it’s too early right now to include this in the Mandriva 2007.1 default Gnome installation.

GravemanGraveman has a completely different user interface than Brasero. It does not use different windows, but shows all different project types and the settings in the same static window: the projects are shown as tabs on the left side of the window; on the right side you see the contents, and the settings again as tab pages. This seems a bit strange to me, as it permits you too easily to create for example an audio cd project, and then get lost in the data dvd screen.

Graveman screenshotI test again with an audio cd project. Adding files is intuitive: click on the “Add audio tarcks”, and then click on First problem: Graveman does not seem to support burning of MP3 or Ogg Vorbis-files! Only WAV files are supported. According to its website, Graveman should support this if sox supports it. Maybe Mandriva’s graveman or sox is missing some dependencies. Anyway, this is a major showstopper.

Just like Brasero, there seem to be problems with the migration to cdrkit too.
Another major problem is that Graveman’s development is not progressing a lot currently. The last release was published in June 2006, which was already more than one year after the previous version. So the future of this application is very uncertain.

Gnomebaker

Gnomebaker screenshotGnomebaker’s user interface is heavily inspired by k3b, KDE’s burning program, which is the most versatile graphical burning program available for Linux. The top half of the window shows the file system, while in the lower half, the cd or dvd project can be created. Just like most other burning applications, the user first has to choose the kind of project he wants to create. There are three options: data DVD, data CD and audio CD. In the tools menu, there are more options for blanking and copying media and for burning images.

When clicking on the Burn icon, a dialog with some options is presented. The user can choose the burn speed, and the writing mode such as dao, sao, tao etc. Normally dao is used to burn without the two-second gap, while sao includes it. This should be made more clear by a seperate option where the user chooses if he wants gaps or not, like most other programs do. Strangely enough, burnfree was not enabled by default.

When you click on the Start button, the music files are decoded. I did not found an option to burn “on-the-fly”. Unlike gcdmaster, Gnomebaker uses the home directory to store the converted files, so there were no problems with /tmp filling up completely. For some reason, it ejected the CD and reloaded it immediately. Then it ejected the CD again, and there was a message that the burning process failed. There was no clear explanation why, except in the debugging dialog where there was a message stating that I should blank the CD-RW before I can burn to it. It’s a pitty that Gnomebaker does not explain this problem more in detail, and that it does not propose the user to blank the CD for him. I had to blank the CD-RW by hand (“Fast blank” was not selected by default, which is really a shame as a full blank takes a lot of time!), and then I restarted the burning process, which means I had to go through the decoding step again.

The progress bar and the estimated time remaining often was incorrect (it tended to overestimate the remaining time), but In the end the burning process completed successfully, and the audio CD worked fine.

I tried to get an idea about bugs and development progress by registering on the forum on GnomeBaker’s website. Strangely enough, even after registration, I could not access the fora, because I was not member of the “moderators” group. Looking at the mailing list, it seems that development currently is also rather slow due to lack of developer’s time. There are plans for a new version called Gnomebaker NG which will be based on libburn, but there does not seem to be real code yet.

Serpentine

Serpentine screenshotSerpentine is a simple audio CD burning application written in Python. It has been the default audio CD burning application in Ubuntu for a long time. The latest version dates from june 2006. Unfortunately there does not seem to be much progress in development since.
Serpentine’s user interface is very simple and does not take a lot of space. Because it only support audio CDs, you don’t have to choose which kind of project you want to create.

There’s an Add button which opens a GTK+ file chooser which lets you select the tracks you want to burn. CD-Text information can be changed easily by clicking on the artist name and song title in the main window. The disc capacity can be changed easily, and the remaining space on the disc is clearly shown. When you click on Write to disc, it does not show a configuration window where you can select the speed, etc. If you need to change this, you have to go to the menu Edit – Preferences. In this dialog, the user can also select if he wants a two-second gap between the track.

When starting the write process, Serpentine proposed me to erase the CD-RW. Then it started to decode the audio files, which it did in /home, so no space problems here. When writing, there is a progress bar, but unfortunately there is no estimation about how much time actually remains.

Conclusion

Of the five applications tested here, only two of them really succeeded in writing my audio cd containing an MP3 file and an Ogg Vorbis file: Gnomebaker and Serpentine. Actually Serpentine was the only one which did it without any hick-up. Clearly a lot of development is needed before a lot of these applications are really mature.

Gcdmaster is a very complex audio application, useful for burning DJ sets and other gapless compilations. Its interface is too complex for simple audio CD burning though, and it failed in writing my audio CD because it filled up my /tmp partition without any warning.

Brasero probably has the nicest interface of all applications presented here. It is at the same time very versatile but very easy to use. Unfortunately it does not support cdrkit (yet), but prefers the rather experimental libburn. Mandriva’s Brasero package has not been built with libburn support, and the libburn package in Mandriva seems outdated too. Both libburn and Brasero are actively developed, so this application is certainly one to watch out for in the future!

The user interface of Graveman, is less attractive than Brasero’s. Graveman’s development seems to be frozen for some time already, and Mandriva’s package did not succeed in burning MP3 and Ogg Vorbis files.
Gnomebaker is heavily inspired on k3b, and succeeded in writing my audio CD, but only after I blanked the CD-RW first by hand. Its development seems rather slow at the moment.

The winner of this test is clearly Serpentine: it did what it had to do without any problems or complaints, and its interface is very easy to use and really follows the Gnome philosophy. If you need to burn an audio CD with a Gnome application, Serpentine is your best option for now.