GNOME

Let's hop on the meme train

  • Grab the nearest book.
  • Open it to page 56.
  • Find the fifth sentence.
  • Post the text of the sentence in your journal along with these instructions.
  • Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

That's in German:

Daher gilt für den Erwartungswert:


and in English:

Therefore, the expectation value is:

New releases

Today I made two releases. The first one was Deskbar-Applet 2.25.1 and the second GNOME DVB Daemon 0.1.0.

Deskbar-Applet
2.25.1 is the first version of the unstable series that will lead to 2.26. I got rid of all gnomevfs calls and replaced them with gio. Furthermore, glade files have been replaced by GTK builder's UI files. Please download it, test it, and most importantly report bugs you came across.

Download link and more information is available at the Deskbar-Applet site.

GNOME DVB Daemon
Some of you might already now that I worked on this project during this year's Google Summer of Code. However, I never got round to make a proper tarball release. So here it is.

For those who haven't heard of this project before, let me give you some short introduction:
DVB Daemon is a daemon written in Vala to setup your DVB devices, record TV shows and browse EPG. It can be controlled directly via its D-Bus interface or with UI applications that come with it.

My view of the desktop search hackfest

I was attending the Desktop search hackfest in Berlin last week.
It was sponsored by Nokia which did a very good job in choosing the location and organizing everything. Big thanks to Nokia for all the work and money they put in.

Unfortunately, it was more of a discuss-fest instead of a hackfest. Originally, my plan was to write Python and C# bindings for xesam-glib and plugins for Deskbar and Gnome-Do.

It become clear quickly that this ambitious plan doesn't work out. The schedule was packed with discussion about Xesam Ontology, Search API and Query language. Basically, the discussions about this three topics protracted over the whole hackfest. Mikkel already summed up the conclusions nicely on a wiki page.

Deskbar-Applet 2.24 preview

We are in UI freeze already and string freeze starts today. It's time to show the world what's new in Deskbar-Applet in 2.24.

There's only one major UI change in the new version. History is not in the main search window anymore but in a separate window as it was in 2.18 and earlier. New is that you can delete the selected item from history if you press the delete key.

(I wasn't able to take a screenshot when history was displayed. I can't even take a screenshot if I open any right-click menu.)

GSoC 2008 is about to end

Another Summer of Code for GNOME will end soon. As you probably know my task was to write a DVB Manager.

Last week I was able to add an option to do a brute force scan for DVB-T (shamelessly stolen from Zaheer's code). In addition, I was finally able to work on the EPG part. When you record a show the name and description of the currently running show at the beginning of the recording is associated with the recording. Each channel has a Schedule associated with it that contains a sorted list of events (shows) from EPG.

Although, it basically works and is accessible through D-Bus I'm not happy how EPG data is currently collected. Currently, I'm iterating over all channels, tune to each of them and store the EPG data I receive. Especially, for satellite this takes a lot of time. Furthermore, during the scan the DVB card can't be used to watch TV or record shows. E.g. when you watch TV with Totem for some time, dvb-daemon won't be able to collect EPG data. I honestly have no idea how one can avoid this problem.

On the UI part I improved the UI to manage timers. It will now show a red dot when an recording is currently active and the UI will update when timers are added or removed.

You can almost use it

As mentioned in last week's report, I concentrated on an assistant to setup DVB cards and a preferences GUI to create new device groups and edit existing ones. Currently, there are three GUI applications. One to manage timers, one to manage devices and one to setup your cards. In the next couple of weeks I'm going to make those UIs nicer and merge all of them in one single application.

The wizard works for DVB-T and DVB-S. DVB-C support is coming soon.
In addition, I did some refactoring which resulted in renamed, removed and new methods and fixed some bugs I came across. Both UIs require a patch that isn't committed to GStreamer CVS, yet, because a freeze is in progress.

Bugs. They are everywhere.

Last week my second DVB-T adapter arrived. Therefore, I was able to test whether recording on multiple devices that are part of the same group works. At first it didn't and I had to do quite some refactoring to get it working. Nevertheless, it finally works.

In addition, I tried to add support of recording multiple channels that are part of the same transport stream. The code is there, but it behaves weird. First, both recordings stopped when the second recording started. Pausing the pipeline when changing dvbbasebin's program-number property resulted in a working recording for the first channel and a damaged recording for the second (there was no video and sound from the first one).

I still have another problem with GStreamer core + base 0.10.20 and bad from cvs on Ubuntu hardy. It gives me criticals and segfaults when retrieving EPG of one particular channel. I could confirm this on another machine with the same setup. Unfortunately, Zaheer isn't able to reproduce this.

Lazy week

I didn't do much last week. Partly, because bug 539969 still keeps me from continuing working on the EPG part.

What did change last week is that each Device must be part of a DeviceGroup now. All devices in a DeviceGroup must be of same type and share one channels.conf and recordings' dir. That means that each DeviceGroup has its own Recorder and ChannelList D-Bus service now. A DeviceGroup becomes helpful when it contains more than one device. You can schedule timers that overlap and dvb-daemon distributes them across the devices that no conflicts arise.

And action!

Unfortunately, I couldn't continue working on the EPG part. Instead I worked some other things:

  • Added ChannelList D-Bus interface to retrieve information about channels.
  • Added GUI client to add and delete timers
  • Fixed several bugs

Frank Scholz continued integrating dvb-daemon into Coherence. I created a screencast that shows how you can access recordings from dvb-daemon in Totem with the help of Coherence's UPnP server:

Last week's dvb-daemon progress

Last week wasn't as productive as I wished. Nevertheless, here's my report.

Thanks to Jürg's awesome work all D-Bus interfaces are working and can be accessed by other applications. Except, Manager's GetRegisteredDevices method which doesn't work because of bug 540730.

I tried to continue on storing EPG data, but unfortunately came across bug 539969 quickly.

Furthermore, all registered devices together with their channels.conf and timers are stored in GConf and are restored when the daemon is started again. That means that the daemon is actually usable and you don't have to re-compile the code to add a new timer. I extended the sample client, written in Python, too. It makes use of all the D-Bus interfaces of the daemon.