Month: June 2006

In April, I was happy to find free WiFi access at RDU. After getting passed security this morning, which didn’t take enough time (whenever you expect security to take forever, you just walk right through… it’s a law), I headed to the place that had the free access.

However, selecting the same network as last time (ESSID attwifi) I was depressed to find that a 24 hour pass was now $8. The tmobile network is $10 for the same access. Suck :-(.

I’m at RDU for another 1.5 hours and will be in Philly for another 4 before falling asleep on my way to Barcelona. I went ahead and purchased a day pass. I feel violated. There’s allegedly AT&T hot spots at the airport in Philly but my luck will be that they aren’t in the right terminal, or don’t exist, or are down, or suck, or something.

Seriously though, I am amazed at how quickly I got passed security this morning. It’s a record. I was able to get out of the car, check my bag and get into the terminal in an impressive 10 minutes. Three cheers for low travel volume and friendly and efficient check-in and security personnel.

I’ve been wanting to implement a “CD Creator” source in Banshee for almost a year now, and just a few weeks ago I finally started to do so. However, upon starting with the new source I realized that we needed some lower-level functionality in Banshee to encapsulate optical/CD hardware.

In a number of places in Banshee I use HAL directly to get disc information. The old/current CD burning layer uses libnautilus-burn directly (and some HAL). While this worked fine, there was a lot of duplication and it’s not very portable (think, ah, Windows).

There are now a number of new interfaces in the Banshee.Cdrom namespace: IDriveFactory, IDrive, IRecorder. Most of this is modeled after the libnautilus-burn API, and I have so far a full Banshee.Cdom.Nautilus implementation that uses libnautilus-burn. Without saying too much, it all boils down to easy-to-handle optical disc functionality that should be very portable.

So without much more boring jibba-jabba, the new CD burning functionality works like this: the CD burning source allows you to create CDs with full control over the ordering of the tracks, and supports tracks coming from multiple sources. The old method only burned a selection. Quick selection burning is still supported however.

Each CD burning source allows for selecting the format of the disc (Audio, MP3, Data) and the drive. In other words, settings are bound to the source, not globally (like the previous method). This means that the CD Burning preferences page is completely gone. The options are also now very simplified.

If you have only one drive, no drive combo is shown. If you plug a drive in, a drive selection combo will appear automagically. When you insert or change media in the bound drive, usage information will update accordingly. If you insert a blank CD, a CD burning source is created for you… just drag tracks to it and go.

Some of the UI and behavior is still under debate and may change, but I’m open to ideas. If you’re using HEAD, update your checkout and give the new functionality a test drive. This is a really big change, but a lot of the existing code was reused when it comes to verifying, preparing, and actually burning the CD. Nevertheless, there may be new bugs, so file away.