Exaile N800 port progress
I shamefully forgot to include a screenshot in the last post, so here you go:
As you can see, the GUI needs a bit of polishing (’hildonisation’).
I fixed end-of-track detection for the nokia-mode pipeline. This means that the player will actually start playing the next track in the playlist when a song finishes! The problem was that I neglected to add the playbin bus setup for the nokia pipeline. Also, I had to ensure that the on_message handler was reconnected whenever a new track is played in nokia-mode, since the pipeline gets rebuilt if the file format is different.
The first fix had the pleasant side-effect of making m4a files play correctly from Exaile (previously they were really stuttery).
I fixed the about dialog. The version of libglade on the N800 appears to be a bit behind the times and doesn’t support GtkAboutDialog. I just create it in the program directly using gtk.AboutDialog and it works fine. I’m not a big fan of the libglade approach of reading in the widgets at runtime from an XML file. I prefer the way that it is done in Qt Designer/PyQt where the language-independent XML widget description is converted into Python code in a separate step. This code can be imported and extended by the main application code. It feels like such a waste to add an extra parsing step, for no gain.
I’ve encountered a bit of instability now and then during testing, especially when doing lots of seeking. Sometimes this results in a total lack of responsiveness and I have to kill the process manually. I’m willing to live this for now.
There are plenty of todo items, but I think I’ll work on making a .deb package to enable people to try this out more easily. Also, I plan to start a hildonisation branch, and keep another branch for functionality fixes. I’m using Mercurial for revision control, and this will be a good opportunity to play with branching and merging. Hopefully I will get round to setting up an online repository at some stage.
Related posts:

It looks great!
Off topic: what is the name of the app that is running next to the battery icon? Where can i download it?
Thanks!
Comment by cristian — 2007-07-05 @ 15:06
That is osso-statusbar-cpu:
http://maemo-hackers.org/wiki/OssoStatusbarCpu
It’s very nice, and the process viewer is handy for killing the exaile port when it mysteriously hangs. (So your comment is on topic after all!
I’m curious as to how much more power it causes to be chewed, since it is updating the CPU/Mem/time stats continuously. Apparently not too much, cos my battery life is pretty good.
Comment by twegener — 2007-07-05 @ 15:33
[...] Exaile for maemo debs coming soon hopefully… Filed under: N800, maemo — twegener @ [...]
Pingback by Madabar.techblog » Manually creating a .deb package for maemo — 2007-07-15 @ 1:58
This is very nice, just what I wanted. Canola is very pretty, but severely lacking in functionality. Exaile on Maemo hits the functionality spot, just needs the volume bug fixed and some performance tuning.
Is the source for your port available?
Comment by Sean Mitchell — 2008-02-06 @ 1:00
@Sean
It is python, and the source is all in the .deb package.
Hopefully I will get onto that volume bug soon.
Comment by twegener — 2008-02-06 @ 8:54