Pickeling Pixbuf Pixel Arrays

After lots of googling, I finally figured how to pickle a gtk.gdk.Pixbuf‘s pixel array. I was looking for a way to pickle a Pixbuf’s image data into a file easily. The original C API provides a dedicated interface for that, unfortunately the pygtk developers seem to believe that there is no need to support it with the Python binding. So I tried to get access to the image data through the Pixbuf’s pixel_array property. Unfortunately this will yield an unpickleable standard Python array instance if you import gtk only. If you also import Numeric (assuming you have it available) a call to get_pixel_array() will yield a Numeric array instance instead and Numeric arrays are very well pickleable.

Hopefully this will speed up other people’s googling.

DVB-C HD

Now that I finally have a fix to lousy QAM256 reception with my good old TT-C2300 (btw, if you own a CableStar device, please test the patch, I really think it should be applied as I know quite a few people hitting this issue), I decided to give H.264 reception a try. In order to enable vdr-1.6.0 to receive those streams you will have to apply the HD patch from Reinhard Nissl. For DVB-C the second version of the patch is sufficient as DVB-S2 is a non-issue here.

For the hardy VDR package applying the patch meant that I had to drop the jumpplay patch as that had conflict and I didn’t bother resolving it. Once you have the patched VDR up and running you will have to add a H.264 channel to your channels.conf manually. Luckily there’s one FTA HD channel available over here: Anixe HD.

Now, the good news is that VDR will successfully tune the channel and also record the stream containing H.264 video and AC3 audio. Unfortunately no software player is able to playback the file. MPlayer seems to be unable to parse the TS stream and xine segfaults when trying to decode the H.264 stream. Before crashing it will complain that interlaced PAFF is not implemented in ffmpeg, which is a known issue when you – like me – own a AVCHD camcorder.

As I know these issues are heavily being worked on I built a fresh MPlayer from SVN as that will also pull the ffmpeg trunk. The bad news is that MPlayer is still not capable to detect the video inside the TS stream, however, the good news is that when I tested the new build on a few of my AVCHD M2TS files the PAFF warnings had vanished! w00t! There were a few minor errors and my old desktop is still too slow for fluent playback, but it seems like once I have a new, more powerful system up and running I might actually be able to playback (and edit?) my AVCHD recordings.

And once I get xine to use the current ffmpeg trunk I might even be able to watch HDTV via DVB-C.

GNOME does

The level of maturity the GNOME desktop has achieved by now, seems to a have a negative effect on innovation. Even for experienced GNOME users it is becoming harder and harder to detect or name the changes that came with the recent GNOME releases. Whether this is a good thing (the learning curve for using a GNOME update is practically non-existent) or a bad thing (boooooring) is still the subject of numerous discussions on Planet GNOME and the GNOME mailing lists.

I am happy to see that GNOME innovation is not dead yet: I just discovered GNOME Do and I am impressed. Obviously I just started using it, so I cannot say whether it will stick, but this tool could severly influence the way I use my GNOME desktop in the future. What it does is actually hard to describe, basically it brings to GNOME what the new location bar brought to Firefox 3. I recommend trying the latest version, which is easy with Ubuntu, with Fedora however you are stuck with the 0.4.0.2 release as even in development the necessary dependencies are not available yet.

Update: Adrian let me know that there is a bug requesting Fedora to update GNOME Do to 0.5.0.1, though it doesn’t look like it’s going to be resolved quickly.

Terminal 5

It is big indeed. I spent four days in the UK last week and this was the first time that I arrived to and left from Heathrow’s new Terminal 5. The dimensions are impressive and you should really bring your good shoes for your way to the gate. Unlike the first travelers at Terminal 5 I got all my baggage pretty quickly and in full.

The interior is very shiny and my guess is that they have the highest amount of large screen LCD and plasma TVs per square mile (hey, it’s the UK so let’s forget about the metric system for a while) – at least in Europe. All flight tables are accompanied by an extra screen for ads, which feels just like one of those annoying flash thingies on your favorite news web site.

Anyway, I really enjoyed visiting the UK again and I am happy to have survived four days of driving on the wrong side of the road.

No comment No comment No comment
Creative Commons License

Slipping

The Slip I feel obliged to plug NIN’s new album, as Trent Reznor has yet again risen to new level generosity. The Slip which was released today is – just like its predecessor Ghosts – available as a FLAC download, DRM free and licensed under Creative Commons Attribution Non-Commercial Share Alike. As if that were not enough, it is also completely free – there is no way you can pay for it at the moment (there will be physical releases available later on). And yes there is more: the audio is also available as 24Bit/96kHz Wave files, which will make you happy if you spent a whole lot of money on your audio equipment.

So what about the music? I didn’t have a chance to listen to it more than once yet, but from the first taste it sounds like another excellent NIN album. The mood and sound differ quite a bit from the (non-instrumental) predecessor Year Zero, it’s a lot more organic and laid-back. This man does not cease to inspire.

Field Excursion

Just recently I wanted to check whether the lord of the samplers (Amon Tobin) will release any new music any time soon. But instead of advertising new releases Amon Tobin’s website took me on a field recording excursion. Resembling the approach he took with his excellent latest album, where he actually recorded the samples himself instead of recycling old material, a heavy Flash application allows the visitor to control some kind of ship in order to search for specific life forms.

Once such a life form has been found, the visitor can record a set of samples from that species. When all of the samples have been recorded, the specimen will perform what could be called a dance accompanied by an audio track composed of the previously recorded samples.

I’m definitely not a big fan of neither Flash-supported nor solemnly Flash-based web sites, but this one is very well done and provides an original experience that is actually related to the art it is intended to present.

Numpty Dumpty

Numpty Physics Dietmar demonstrated the incredibly cool Numpty Physics game on his Maemo device yesterday and I liked it so much that I had to check immediately whether it will compile for plain old x86, too. And, guess what, it works like a charm.

All you have to do is to check out the code from the SVN repository, ensure you have the SDL and SDL-image headers installed change into the trunk directory and run make. If the linker fails for you as it did for me (complaining about X11 symbols), just add an extra -lX11 to the linker command line.

Before you can run NP you will have to create a symbolic link /usr/share/numptyphysics that points to the trunk directory of your SVN checkout. Then run i686/Game and enjoy. Using a mouse to draw items instead of a stylus is obviously not as straight-forward as using the stylus, but it works very well nevertheless.

Update: If you enjoy using bleeding edge compilers you might be interested Adrian’s patch that will make Numpty Physics compile with gcc 4.3.

Visuals

NIN Ghosts The claim that Trent Reznor is singlehandedly fixing the music industry is a bit  far-fetched, but NIN‘s first release after leaving their major label is a very ambitious step in the right direction. Not only is a part of the album available for free and Ghosts a DRM-free download (including a lossless FLAC encoded version), but also is it licensed under Creative Commons Attribution Non-Commercial Share Alike!

When I first bought Ghosts, I was bit disappointed that the tracks have no names – even though I really like the album. Somehow that seemed loveless. But then I learned that this was done on purpose, so that contributors to the NIN YouTube Ghosts Film Festival could start visualizing what they hear from scratch without being influenced by the title of the song. The people out there have contributed more then 600 videos until now and some of them are very well done.

Now if only Google burnt even more money on YouTube – their performance  is really tedious sometimes.

The Return Of The Daemons

There was a time when Linux distributions automatically started sound daemons for the user. Typically these were aRts for KDE and esd for Enlightenment, Gnome and others. The main goal was to allow simultaneous audio playback from multiple applications.

Unfortunately, using these daemons has side effects:

  • they introduce significant latency
  • they require applications to be ported and configured to use them
  • they block the audio device for either serious or rather dumb audio applications

Then, thanks to an tremendous development effort, a new audio layer for Linux was born that addressed the main goal of these daemons, allowing hardware mixing where available and enabling software mixing when necessary. The daemons became obsolete and were eventually removed from the default install of all major distributions. The only daemon that stayed relevant was JACK as it addressed audio production needs and most sound creation tools were extended to support that interface, too.

Now, guess what. There’s a new daemon in town. It’s better than ESD, but will still block your audio device. And from what I’ve read it is not designed to compete with JACK in the ultra-low-latency sector. A major motivation for its creation must have been a severe allergic reaction to ALSA. And Fedora and Ubuntu intend to force it upon us.

I got aware of that after upgrading my laptop to hardy, when mplayer failed to playback audio until I killed the pulseaudio daemon. Oh man, was I happy when the daemons where gone.

Yeah, I know, they promise some interesting features. I also read that PulseAudio is causing significant load under certain conditions. I’m just not sure that you really need an extra CPU hog just to play audio, unless you really dedicate your machine to audio production in which case I cannot see why we should not stick with JACK.

I really wonder whether investing all that energy into improving ALSA instead (and maybe gstreamer or JACK) might have helped to provide some of the same features without the hassle of yet another daemon with yet another API.

The Pizza Experiment

Spending a few days to work in Italy, I had to discover that you will eventually grow sick of pizza if you repeatedly eat more than one a day. Yes, I expected this to be unhealthy, but I did not expect to stop liking pizza.

Additionally I noticed that I have stopped using the direction indicator of my car. Luckily I got home before starting to get used to utilizing the horn as a means of communication.