Wednesday, November 29, 2006

Canola almost there!!!

So today is the day that we release Canola to the public! I have been looking forward to this day because it has been extremely hard not being able to show people the cool work that the Canola team done!

A version of Syncropated! will hopefully soon follow, so that people can get some media contents on their N770s!

Friday, November 17, 2006

DVDemux trick mode: backward playback

This week I have been following a great GStreamer course given by Edward "Bilboed" Heivey. I have touched GStreamer before but only from the application developers side, and I have never written a plugin. After this week I have realized that GStreamer is a lot more powerful than I have ever expected it to be and it is waaaay-cool :) Writing a plugin is extremely simple and the base classes takes care of many things for you; like if you write a videosink, QoS will already be implemented - stuff like that really rocks!

Yesterday I tried adding backward playback to dvdemux and dvdec, and even though I did get it to playback backward there were quite some issues, like it playing at twise the speed while the stream time being already, resulting in playing back from 10 sec to 5 sec and not to 0 sec, and then mysteriously jumping to 20 sec (2 times 10 sec). Well, Bilboed took a look at my code and ended up hacking on it on his laptop as what happened didn't really make sense. It turned out that there were at least 2-3 bugs in NEWSEGMENT when the rate < 0.0, so he will try fixing that later. Lets see if I can get it working after that :-)

Anyway, learned a lot, so a big thanks goes to Edward! Thanks for a great course and it has been fun hanging out with you!

Tuesday, November 07, 2006


So at least we are allowed to talk about the Canola project that I am in some ways associated with. Canola is a rocking-hard media player for the N770 and its successors.

Marcelo is showing off some of the features in a preview video that he posted to - go check it out!

On the other front, I have been redesigning Syncropated! and am currently working on getting it working on Windows; something that proved more complicated than anticipated.

Wednesday, October 18, 2006

Porting Landell to Tapioca

As some of you probably have heard, the Tapioca project "merged" with the Telepathy project, in the sense that Tapioca now consists of convenience libraries for working with Telepathy and some extra connection managers and some tools like the Telepathy-Inspector.

Some of you might ask why convenience libraries are needed and why not just use Telepathy directly. Well, actually it is out experience that when using Telepathy we have ended up developing internal convenience libraries in our products and not of the quality that we had hoped for.

To remove this duplication of work and help the KDE Decibel project as well as port the instant messenger Landell to Telepathy, we sad down some time and started designing a nice, usable
API for using Telepathy. It is still work in progress, but so far it has been a success.

It really makes sense. Telepathy is designed to provide the features needed to make a instant messenge and VoIP client, while keeping the API small so that it is easier implementing connection managers (like for protocols such as MSN, Jabber, GTalk...). It is also based on DBus which is a cross-platform Inter-process Communication Protocol, which means the API uses raw data structures such as hashes, arrays. This is not really optimal and is thus no longer a problem if you choose to use Tapioca.

Over the last month Renato and I have been porting
Landell to use the new Tapioca library. Since we are using C# for the Landell product we were faced with the problem that there was no well-working .NET library for using DBus (which we needed to implement Tapioca# and Telepathy# which it is based on), but luckily Alp Toker took on the task of completing his fully managed DBus (an implementation of DBus only using managed C# code) to the state where it was usable for out needs. Many thanks goes to Alp!

There are still things to be done to Landell, but both me and Renato are currently busy with some other projects. It is coming along just fine though, and I would also like to thank the Tango community for supplying lovely new icons to the project.

From the other world

I have been wanting to blog about one of the other projects that I am working on: Syncropated!, so here we go :-)

Basically Syncropated! is an application for easily synchronizing your media contents with mass storage devices such as the Nokia 770 and MP3 players.

Currently it will find your static playlists from Amarok and Rhythmbox and let you sync these with the mass storage device connected. It then automatically generated pls and m3u playlists on the device which are used by most cheap MP3 players. It also handles replacing playlists gracefully, by making sure that no songs are deleted that might be referred to from another playlist. It also syncs photo albums from Picasa and F-spot support is also planned.

It is my first real Python project, and I am slowly getting my hang of it. Python is nice, though there are some things that I dislike. Anyway, I should probably do a few more Python projects to form my opinion on the language.

Anyway, it you would like to check out Syncropated!, it can be found in Ubuntu universe (edgy) under the name syncropated. Go try it out today!