Release 0.4.0: Python and Virtual File System
It’s been hell trying to get anything done lately. A friend is in town getting married and we’ve been partaking in all the wedding activities, which involve an ungodly amount of high quality alcohol. And we all all know how alcohol and coding don’t mix.
Anyway, better late than never. We’ve decided to push the version number up a bit more than usual, to reflect the major changes in this version:
- NEW: Work has been completed on the Mach5 Ruby script, which processes Mach-O library files and performs mapping on symbols (so that printf calls __wrap_printf, for example). This enables the XBMC virtual file system to work. I’ve processed all the libraries, so we should be good to go. What this means in practical terms is that things like reading images over SMB shares should now work.
- NEW: Relying also on Mach5 is Python scripting support, new to this release. I will note first and foremost that Python support is unstable, and crashes a lot. This is a known problem with the Linux port of XBMC too, and I consider it a high priority issue. However, Python is stable enough for you to play a few games of Tetris, or even view some Apple Movie Trailers (remember that 5-channel AAC support is lacking).
- UPDATED: I’ve updated ffmpeg to the latest trunk, and added a few XBMC patches that were missing. Certain MKV files that wouldn’t play at all or would crash will now work.
- UPDATED: The XBMC code is near trunk as well; I’m missing a bunch of changes that went in the day or two, because I haven’t had a chance to test things out.
- FIX: Bug #141 has been fixed (XBMC crashes when changing aspect ratio with the “z” key).
- FIX: Bug #106 has been fixed (Initial graphics glitch when playing a movie). Thanks to d4rk for helping me out with this fix.
- FIX: The skin hang-on-exit problem (which I worked around) was actually fixed by charlydoes. Unfortunately I’ve noticed that Python can cause a similar problem.
- FIX: Bug #135 has been fixed (Playing Apple Lossless files in Library mode doesn’t work).
There is also a known issue in this version with loading RAW files. I worked for a while today trying to work around it, to no avail. Essentially, the problem is that the performance reading the RAW files (which appear to be read byte by byte) is extremely bad through XBMC’s VFS layer. I tried to enable some file buffering, but I wasn’t able to get it to work.
This photo of Barley illustrates how I feel after the last week…