Wednesday, 16 December 2009

version 0.3.1 released

I've got real-life problems at the moment which are likely to cause problems for a while. So, I'm pushing this out just in case I don't get the chance again. I've tried to make the code as bug-free as possible and made sure the features that work, work.

Differences from 0.2 to 0.3:
  • tagpy dependency gone along with the huge boost-python dep's. In place is Mutagen.
  • File(s) can be added to the playlist directly from the UI using the embedded fileview in tree format.
  • Gone is Phonon. In it's place is Python Gstreamer which, for developing, is a lot more trustworthy.
  • Small UI tweaks. I've disabled non-implemented widgets where suitable and removed some buttons (the searching options buttons in Amarok) that are unlikely to be done for a long time.
  • Massive code refactor. Truth be told, i'm not sure if it's correct but at least the ugly multiple class inheritance has gone and is a lot easier to read than before.
  • Wikipedia info displayed better.The app uses the printable version of each page. Wikipedia seem to be having a massive donation-drive of late so I haven't removed that.
I'm a bit disappointed I didn't get audio-cd playback supported but that is my next thing on the agenda, when I can find the time.

Here's 1 of a few current screengrabs.

If you're wondering why it's 0.3.1, I missed a minor UI bug in 0.3.0.

Monday, 7 December 2009

Mutagen Thoughts

Ok, today i've been working with Mutagen. It's definitely a feature-full package but to my dismay i've notice it's very, very flakey.

The main thing i've noticed, when coming from tagpy, is that Mutagen is extremely picky. I've come across so many instances where mp3/ogg/flac files worked fine in tagpy but not in Mutagen. I feel it's because Mutagen likes to have pristine files with no encoding errors, which frankly is a bit much.
This would be OK if there was some crude method to get around this which requires some hacking about but there's no way. It either works or it doesn't.

I am starting to have my doubts about the switch but the support of aac files, which tagpy lacks, is driving me to figure this issue out.

Sunday, 6 December 2009


Currently Gereqi uses tagpy for tagging duties. It's a small and simple tool but sadly is lacking in file format support. This seems to be due to it being a wrapper for taglib so allows a little room for expansion.

There are plenty alternatives out there. Gstreamer has support for tags but documentation for it is elusive. The package I shall be moving to is Mutagen. Quod-libet and Ex-Falso use it. The latter being well-known for it's tagging features.

As I am trying to keep dependencies to a minimum Mutagen is a good choice as it is a needed dependency of libgpod, which somewhere down the line Gereqi will need for iPod support.

So, if I can get around this refactor issue, Mutagen should be coming up soon.