2009-02-05

My N800 was running off-line for quite a while. During this time I’d listened to a bunch of songs with Kagu and was hoping that it would immediately scrobble them to last.fm as soon as I went online. After much fiddling around, I discovered that you must play another song in Kagu while online, in order to launch scrobblerd (via dbus). This, in turn, submits all the tracks queued for scrobbling while offline via maemoscrobbler.

2008-02-09

The problem was due to the volume range on the original Exaile going from 0-1. For some reason on maemo (OS2008) the volume range is 0-10. According to the gstreamer volume control docs the range should be 0-10, so I’m not sure why the original Exaile works properly on my desktop machine.

Anyway, I mainly use Kagu and Vagalume for music on my N800 these days. As a result I haven’t done anything on maemo Exaile for ages. I hope to one of these days, though.

Meanwhile, the intrepid Tuomas Kulve has released a new version of ogg-support for maemo that enables the built-in media player to play Ogg Vorbis files. He notes, “It’s untrivial to get everything working properly as the FileManager, the Metalayer Crawler, and the Media Player are all close source applications and their behaviour is not really documented anywhere.” Hopefully this situation will change.

The browser is now the mozilla-based microb browser which seems to use more memory and slightly slower than the previous Opera browser. However, it’s free software and supports newer web standards, so I’m happy with the change.

The graphical interface is nicer. The designers appear to have responded to user feedback well in this area.

There are more codecs , but still no Ogg Vorbis support, which is very disappointing. The third-party package works fine with third-party media players, but doesn’t work with the default media player.

Media streaming on the ABC now works. Among other things, this means I can listen to the local radio station from anywhere, and not have to suffer crappy AM quality. Annoyingly, when playing Internet radio from the widget it keeps a message box open (“buffering”) for as long as I have it playing.

I haven’t done any careful measurements of the battery life, but it seems to be about the same. This is a bonus given the increase in CPU speed.

2007-12-05

I’ve made a new release of Exaile for maemo 4.0 (i.e. OS2008, chinook). This drops a bunch of backward compatibility patches needed for OS2007, and takes advantage of some gtk 2.10 features. Also, there was a bug in the gtk shipped with OS2007 that prevented activating items in the sidebar. This has gone away, so now there are more playlist actions available.

Note that the previous release won’t work on OS2008 because the id3lib gstreamer element is called id3demux in OS2008.

If you are in need of a player that handles Ogg Vorbis, m4a and mp3 (among others) on OS2008 and has decent playlist management features and you are willing to put up with a slightly slow and fat app then Exaile for maemo may be for you.

2007-12-03

I’ve updated the maemo port of Exaile to version 0.2.11. There are not many visible changes, apart from alphabetic separators in the collection list. I now include the bytecode-compiled pyc files, so startup time should be reduced slightly. It still takes a bit long to start up though. I’ve been using this for about a month now and it seems to be stable enough.

This will probably be the last release for OS2007. I’ll make a release for OS2008 once I have that installed and working on my N800.

2007-08-12

The officially recommended way to create .deb packages for the maemo platform is to use dpkg-buildpackage within Scratchbox. For me, Scratchbox is a pain to install for two main reasons. First, there is no RPM package of the scratchbox environment, so apparently I need to run some scripts as root, let my system get a little messier, which I am not willing to do. Second, the docs advise to turn off SELinux in order to get the Scratchbox environment to work, which again I am not keen to do.

If you are using Debian or Ubuntu, there is probably a cleaner approach, but I am currently using Fedora, so I just rolled my own method using the command line. Copy the following files to your project directory:

Then rename deb_hand_example.mak to Makefile, and adjust the variables in this file to match your project.

Setup the required files (referenced in these makefiles) for packaging. There some pointers on this in the Python Maemo howto in the packaging section.

Note the ${PACKAGE_DIR}/data: ${SOURCE_DIR} target in the makefile. This must be modified to layout all files as you wish them to be installed on the target system. The example makefile rule should be a reasonable guide.

Then once you are ready, do ‘make PACKAGE_DIR= deb’ and if all goes well a shiny new deb package should be sitting in release_dir. If not, fix your settings in the Makefile, run ‘make clobber’ and then try again.

Next, I’ll probably work on making the interface a bit prettier, starting with hildon-izing the menus. I’d also like to add Replay Gain support to Exaile at some stage. And of course there are still a few bugs to iron out. There is a TODO file tucked away somewhere in the package with more details on things that need to be done.

BTW, make sure you change the foreground color in the preferences for the OSD notifications. There is some problem setting the background color at the moment which results in the notifications appearing blank. I’ll fix this (at least the default setting) soon.

There’s lots of work still to be done, but if your desperate for a nicer sound player on the N800 then this should do the job. If there are any features that you would like to be fixed/added sooner rather than later then leave a comment and I’ll push it higher on my todo list.