Posts

Multiple networks and GUPnP

When GUPnP was first used at Maemo software, one of the first questions I was asked was: Can't GUPnP handle multiple network interfaces just like ClinkC (the now deprecated UPnP framework in Maemo)? The answer to that question was "yes but you have to take care of creating GUPnPContext objects for each network interface yourself" and that wasn't very convenient. This issue, accompanied by the fact that applications had to know when the interfaces go up and down to create and destroy the associated GUPnPContext object themselves, made the lives of application developers not so easy. Recently when this issue was raised on the mailing-list and bugzilla by two different people, I started to think about how to solve this issue. Keeping in view Ross ' advice I came-up with the following solution A GUPnPContextManager class that basically just have two signals: "context-available" and "context-unavailable", that it uses to create/destroy and report

First time skied

Image
So after 4 years in Finland, I finally got to ski for the first time ever in my life. It was so much fun but unfortunately also extremely tiring at least for a first timer like me who hadn't developed the needed muscles for it. Ansku took some pictures:

Rygel 0.2.2 is out

Changes since 0.2: - Use the new (0.6.9) Tracker API. - Priority of gio-based streams are based on requested DLNA transfer mode. - GIO-based/like asynchronous plugin API. - Adapt to latest changes in gupnp-vala API. - Serialization of media objects isn't done by media objects themselves anymore, but by a new separate class, Rygel.DIDLLiteWriter. - Internal API is marked 'internal' so it doesn't get to our (Vala) API. - MediaObject now derives from GLib.Object. - Generic AsyncResult implementation, SimpleAsyncResult. - StateMachine interface that all state machines classes implement. - Visible performance improvements in Tracker plugin by proper use of Tracker APIs. - Use Filename.to_string() and therefore make Bastien happy. - Require lastest version (0.1.5) of libgee to use List.slice(). - Don't limit the number of objects returned to a client, let it decide that on it's own. - Proper handling of update notification to the client by use of a very simple bubble-

GSSDP 0.6.4, GUPnP 0.12.6 and GUPnP Vala 0.5.3

GSSDP 0.6.4 released New in this release: - Send ssdp:byebye before sending the first ssdp:alive. [Jussi Kukkonen] - Moderate the outbound SSDP messages. [Jussi Kukkonen] - Documentation fixes. [Jussi Kukkonen] - Send byebyes in dispose without sleep. [Jussi Kukkonen] - Use g_set_error_literal(). [Jorn Baayen] - Depend on glib 2.18. [Jorn Baayen] - Do not byebye unavailable resources. [Jorn Baayen] - All resources must respond to "ssdp:all" messages. [Hugo Calleja, Jorn Baayen] Download from here: http://gupnp.org/sources/ gssdp/gssdp-0.6.4.tar.gz --------------------------------- GUPnP 0.12.6 released: New in this release: - Port to FreeBSD. [Romain Tartière] - Ship the XML files needed for example app. [Romain Tartière] - Keep a reference on the control-point during signal emission. [Sven Neumann] - Allow passing NULL to ControlPoint constructor, for default resource factory. [Sven Neumann] - Remove debug output that accidentally went in with the last commit. [Sven Neumann]

Writing Rygel plugins

While I had been trying my best to make sure writing Rygel plugins is easier than frying eggs before my FOSDEM presentation, I was quite disappointed about how the presentation actually went. I thought I simply lost everyone in there by the end of th presentation and didn't get to make a very good impression. But seems the ease of writing Rygel plugins didn't go unnoticed in that presentation after all since I happen to catch the attention of at least one developer, Jens Georg who is working on two plugins for Rygel and you can follow the progress on his blog .

Geek Humor

Image
I was poked by a Salvatore Iovene, a very good friend and colleague from time to time to have a look at his comic series . I always thought I should have a look at it as it might be good but then I used to forget about it. Today he poked me again (this time when i was sitting in front of a computer) and I did have a look at it. Oh boy! this is some really great stuff. If you like Geek Humor, I strongly recommend it. Some trailor:

XChat Guile 0.3

Changes in this release: - Move/port to Guile-1.8. - Get rid of all locking and thread stuff and in turn dep on gthread. - Guile console. [Lionel Elie Mamane] - Use alist instead of list where appropriate. - Use XCHAT_EAT_* instead of hardcoded 0/1. [Lionel Elie Mamane] - Fix memory leak in xchat_write. [Lionel Elie Mamane] - We maintain this NEWS file from now on. :) - Some other minor fixes. Download release tarball from here: http://static.fi/~zeenix/xchat-guile/xchat-guile-0.3.tar.gz What is it? =========== XChat-Guile is a plugin for XChat that enables XChat plugin writers to write their plugins in Scheme language. Requirements: ============= * XChat >= 2.4.1 * Guile >= 1.6.4 API Documentation: http://static.fi/~zeenix/xchat-guile/xchat-guile.txt