Droidbattles, Phonon bugs, Dragon Player

Sup peeps.

I noticed I hadn’t blogged since the Phonon bugday; meh. The bugday was a raging success, with many nice people showing up and helping. Also especially thanks to Mamarok, she was doing an absolutely fantastic job, and is still continuing doing a fantastic job in the bugzilla now sorting and triaging. Many thanks to her and the rest of the people who showed up. I hope to spend some quality time in the bugzilla during this christmas.

The reason I haven’t blogged is that I’ve been pretty busy with the final exams, but they are now behind me. But while reading for exams I did, as is usual here in Trondheim, have several projects to distract me. I started a port of DroidBattles to Qt4 (a game where you program robots in assembly, used to play this quite a bit), continued on my port of Kredentials (a Kerberos ticket handler for KDE), made a patch for Qt 4.6.0 to include a newer Phonon version, and finally continued the work on moving Phonon to Git (I got as far as to get svn2git to crash with my ruleset, the history of some Phonon elements isn’t entirely trivial to keep track of…).

I also fixed the two most annoying bugs for me in Dragon Player, the one where the toolbar isn’t hidden in fullscreen mode, and the one where the mouse isn’t hidden. I also tried to fix the screensaver handling, now only DPMS is left to disable (which shouldn’t be too hard, a couple of lines copied from the `xset` source code should do it). I hope this makes Dragon Player usable for other people again, too.

Lastly, I’m also building KDE 4.3.82 for Chakra now, for all of you impatient Arch Linux users wanting an unstable desktop. They should be finished and uploaded by tomorrow morning, in the kdemod-testing repo. :-)

Phonon bugday

So, today (technically for me, I’m about to go to bed),  Sunday the 8. of November,  we’re having a bugday for Phonon. This is to try to make bugzilla a bit easier for Phonon developers, for bug triagers, and for plain old users who need to file bugs.

What we will do is try to work our way through all the open bug reports filed against Phonon on bugs.kde.org, and plain old cleaning up. You can find more details here: http://techbase.kde.org/Contribute/Bugsquad/BugDays/PhononDay. Thanks a lot to Myriam Schweingruber (aka. Mamarok) who set up this page, and is helping out with the bugday. Also thanks to the KDE Bugsquad who’s doing an already excellent job of triaging in the bugzilla, and for taking some extra time to help with this bugday. Lastly, thanks to the (former, current and future :-) Phonon developers who have agreed to show up and provide insight and help.

So if you’re looking for ways to contribute to KDE, and more specifically Phonon, please don’t hesitate to join. There aren’t really any requirements for helping triage bugs on a bugday, apart from showing up. :-)

Phonon bug-day, Filelight release

First things first, first: set off the day 8. of November. Then we will arrange a bug-day dedicated to Phonon, to clean up duplicates, close fixed bugs not marked as such, and generally try to make it easier to file new bugs and fix bugs. More information should be forthcoming. I’m trying to get as many developers who know anything about Phonon to set off the complete day, so there should hopefully always be someone active who are familiar with Phonon.

So if you’re either someone who has used Phonon, worked on Phonon, likes Phonon, likes bug triaging, or simply want to lend a hand, please show up on #kde-bugs the 8. November.

Screenshot of Filelight 1.9
Screenshot of Filelight 1.9

I’m also very close to releasing my KDE 4 port of Filelight, I think I’ve fixed all regressions from the KDE 3 version in SVN now. Yes, yes, I know it has taken almost a year now (if not more), but I hope I can compensate with a very solid first release. :-P

If you do know of any regressions, please tell my ASAP (either file a bug at http://bugs.kde.org/ or ping me on IRC (`sandsmark` on Freenode, IRCnet and EFnet).

We’re also soon finished with arranging Norway’s largest cultural festival (UKA), only 6 days left. After that, I hope to have more time for free software and Phonon in particular, so far this fall it has been mostly administrative tasks, and getting to know the rest of the multimedia stack in Linux. :-)

Multimedia frameworks in Qt

So the three multimedia API’s that are planned for inclusion in Qt are as follows:

  1. Phonon. The first multimedia API in Qt, written mostly by Matthias Kretz and with some help from Trolltech to Qt-ify the API, and included in Qt since 4.4.0. Written as a ‘replacement’ for various multimedia libraries (like Xine, libvlc, gstreamer), abstracting the API away, so the application developer doesn’t have to worry about which multimedia library they use, and if it got abandoned (then it would just take someone to write a new backend, and voila, all the apps worked again, without having to be updated to the new API).
  2. QtMultimedia. A low-level multimedia API written by the Qt Brisbane office, and to be included in Qt 4.6.0. It will probably make sense to use as much of this API as possible in the different Phonon backends, as it provides platform-agnostic access to audio outputs, inputs, and some video handling. I’ve talked a bit with the KMess developers and with Matthias Kretz, and we will probably try to get webcam/video input support into QtMultimedia, and then eventually provide a convenience API for this in Phonon. This will probably also make it easy to simplify and crossplatformify parts of the KDE platform plugin for Phonon (which manages sound devices, amongst other things).
  3. QtMobility/multimedia. I don’t think it is intended for inclusion in Qt, but in a separate “mobility” library (Qtopia^WQt Extended?). I replicates a lot of the functionality in Phonon, but I think that maybe is intentional. I would like to see some more information of what was lacking in Phonon, though, and why they wanted to start from scratch.

If I’m mistaken in any way, feel free to correct me in the comments (I moved my blog to wordpress.com, because I’m lazy and didn’t feel like implementing comment support in my django-based blog).

In semi-related news; I’ll be taking the job as the semi-official maintainer of Phonon until Matthias gets finished with his thesis (at least). That means I’ll be trying to keep the unloved parts of Phonon from bitrotting (like the tests…), fixing bugs, reviewing patches that come in, etc.

I’ve also started the work on an advanced configuration dialog for Phonon-Xine, like the Xine configuration dialog in Codeine (the Xine-based video player in KDE 3), exposing all the available options, without having to edit the config file by hand.

I’m also conspiring with blauzahl to hold a bug-day for Phonon, there’s a lot of untriaged, duplicated and otherwise unsuited bugs against Phonon, bordering on unmanagable. So stay tuned, if you think bugs are fun.

Lastly, in completely unrelated news, I’ve started porting Kredentials to KDE 4. It’s a tiny tray-application for managing (acquiring and automatically renewing) kerberos tickets. I’m also almost completely finished with the KDE 4 port of Filelight, I think I nailed one of the last regressions today (the cutting off of edges of the radial map).