So I figured that before the sheer number of changes overwhelmed me to the point of forgetting them all, I’d make another long overdue entry about Gloss.

Firstly, I mentioned in my last entry that I had submitted a proposal for a lightning talk on Gloss at linux.conf.au, well I can confirm that this will be going ahead on the first Monday at the Multimedia Mini-conf. This has probably been the driver that has caused me to work on Gloss so much as there’s a whole heap of things I’d like to see implemented by the time I give the talk.

So anyway, onto things that have happened since last time:

  • Clutter has moved up to version 0.5, breaking so many things in Gloss in the process that I thought I’d never get to the bottom of it all. There’s still a couple of little changes that are causing me problems and I have a couple of bugs in O-Hands Bugzilla that will help things if/when they get fixed.
  • Probably the biggest change has been the creation of themes for Gloss. I made the decision to go with XML based config for these and so far everything is going really well. Not all of the modules are yet fully themeable, but all the main stuff is done and I’ve made 2 themes to demonstrate what’s possible. The new theme is pretty much a direct knock-off of the Apple FrontRow interface, but it does look good and includes many of the nifty graphic animations that FrontRow contains. The theming moves beyond just simply changing images and moving elements, it also allows you to select transformations for various actions, which leads onto the next point:
  • Pluggable transformations. One of the bigger ‘bling’ elements in a media centre is the transitions/transformations between various elements. Now because I’m not the most artistic or creative of people, I’ve made it as simple as possible for others to be able to make their own transitions without needing to understand much of the underlying system. These transitions can then be selected within themes.
  • TV playback: I FINALLY fixed the streaming video playback system so that it buffers and streams smoothly. This had been really p*ssing me off for a long time, so I was rather happy when I finally got it right :)

And now a few less exciting things:

  • A nice central input queue that controls and buffers key inputs on scrollable items (eg menus). This fixes problems that were caused when a navigation key was held down causing multiple input events while there was an existing timeline running. Now that’s a big mouthful and sounds really boring, but the theory is that this will lead to those sexy accelerating menu’s that all the cool kids are using these days
  • Video module now has rolling cover viewers so that different folders can be viewed. This is still reasonably basic as most of the work has been around getting it work with Clutter 0.5. Expect more in this area soon.
  • So many little fixes and neatening of the code that to mention them all would cause this entry to become the most boring ever.

I REALLY want to do another screencast, but a few little things are still broken with Clutter 0.5 and the theming updates, so doing anything at the moment doesn’t feel right, although it would demonstrate so many new things since the last video was made. So, I promise that by the next entry I will have a new screencast ready, bugs or not, and I might even add a little bit of a commentary too :)