Getting back into coding

It’s weird. All said and done I must have made at least 8 separate commits in the past 24 hours. And I’ve done a lot of work in the past couple of days as well, which really is nice.

I’ve done a lot of work with kdesvn-build, including merging patches from Thiago Macieira and levipenumbra to add support for printing build progress, and building API documentation. That and a bugfix or two was in 0.95. The version in HEAD has the dest-dir option I wrote based on a suggestion by coolo.

What dest-dir does is allow you to choose a different name on-disk for a module (which is handy for mapping extragear/games to extragear-games if one wanted). Although it’s not a difficult change, it exposed a lot of assumptions in the code as to where files will end up, so it feels a lot cleaner now.

I’ve been working on adding the ability to perform module updates in the background while a module builds, which would speed the whole process up. Threading is the obvious solution, but I have to say that Perl’s concept of threading is el crap. Apparently you can’t really rely on threading to be present either, but I don’t want to have to fork kdesvn-build processes and deal with all the IPC. *sigh*. A test app that I wrote to test it out did work pretty well though, so it is possible if your Perl has ithreads. I just need to integrate it into kdesvn-build and make it works with and without threads.

Finally, I’ve been doing some work on JuK as well. The major change in HEAD is the addition of the Cover Manager code. There’s not much user-visible change at this point (although you can rename the Artist or Album field of a track with a cover without losing the cover). Hopefully I’ll be able to lift the restriction on tracks without an artist or album before too long.

Thanks to some suggestions by wheels you shouldn’t notice much difference in startup time, as even though the cover manager will import old-style covers, it will delay that until the absolute last minute. Also, now that the covers are centralized, I was able to implement a cover cache, that way the covers shouldn’t all be loaded into memory at once.

I’ve also made some tweaks to the search line. You can press F6 to focus the search widget above the playlist. After typing your search, you can hit the Down key to highlight the playlist and select the song you want, and hit Enter to play it. So hopefully habitual keyboard users will find JuK easier to quickly use.