I wrote two widgets that work together to make seeking and position reporting easier and more abstracted, which fits in well with the new PlayerEngine layout. The position label now draws a subtle progress bar behind its text when a stream is buffering. Because the seek/position widget is now decoupled from the main UI, I added a “Seek To” dialog that is resizable, if ultra-precision seeking is desired. Seeking is also now performed “live” – releasing the seek slider is not necessary to seek.
In addition to seeking and buffering changes, Banshee will handle metadata extracted from the playing stream and display it in the track info header. This works against the GStreamer 0.10 engine.
Next up was some much needed work on audio CD ripping. Or to be more specific: the combined task of both playing and ripping a CD. Ripping and playing has worked well for quite some time, but one fault has been that playing a CD while ripping has not been easily possible. This has been improved drastically. First, if the disk is playing when a rip is started, playback stops. Next, all tracks on the CD are disabled for playback in the track list. As the tracks are ripped, they become playable again in the track list. Their internal URIs are updated to the ripped copy and will no longer play off the CD directly. To both listen to and rip a CD, one only has to wait for the first track to rip to begin listening to the album sequentially.
In the plugin world, work has started on an iRadio plugin, and the Podcasting plugin Mike Urbanski is working on should be available soon. Also, Jon Lech Johansen of MP3tunes has been working on an MP3tunes music locker plugin, which is now available in Banshee Subversion.
Finally, in the DAP world, Gabriel Burt has made great progress with generic mass storage support, including landing many FDI patches in HAL CVS. Patrick van Staveren has also started investigating MTP support, which is the successor to NJB. At the moment, device detection and track listing is working.
… of course, more to come soon …