Wednesday, July 2, 2008

Some progress being made.. but god autoconf sucks..

Well, I've made some progress on my rhythmbox-sqlite (rhythmbox with a sqlite backend). Mostly, I've made sure that the database abstraction is still pristine that there isn't any dependencies which requires the internal database explicitly. That would make things complicated. It should be fairly straight forward. The way it works is that we have a database "object" gobject rather that has a set of interfaces. I just have to code the interfaces and whatever helper functions required to do it.

Moving to sqlite should help rhythmbox become a lot more scalable as the database gets larger. Currently it uses a xml database with various tags. I've already figured out what the database parts are and have created a sample database although what might be a good idea is to code up somethign quick that converts from what database to another. Or just work on getting the import part of the database working properly.

So far, I've put in stub code for all the interfaces, and I have spent a couple of hours today trying to understand automake/autoconf and getting the new backend as a configure option. Autconf isn't perfect it definitely has some issues, but overall I found it easier to understand than say CMake which really freaking sucks. I tried to use that at work as way of distributing a turnkey software solution. The documentation left me cold, it's just really hard to understand it and there just isn't a lot of documentation out on the Net unlike auto* tools. KDE also seems to have had problems and nobody really has anything good to say about it. GNOME is still trying to figure out what it wants out of a build system. They've been thinking of using WAF but the maintainer hasn't been particularly cooperative. Perhaps with some modification it might be good. I'm not planning on using WAF as of yet. Maybe in another project at work.

Anyways, I'm hoping that I can at least start getting import finished by the end of the week. I need to define some milestones which I wlil do in the next blog entry. Import is definitely at the top of the list and getting a little more familiar with the backend database. The main goal is to finish the sqlite database backend. If I have time I will start adding tags and then comes the really really fun part, the UI.

sri

No comments: