[Rhythmbox-devel] State Of The Rhythmbox - CVS branches, rhythmdb, arch news, andmore

Hello everyone, and welcome back to SOTR!

For our friends on gnome-i18n@gnome.org, I'll say their part first so
they don't have to dig through the rest of this mail:


Rhythmbox has branched in CVS.  There's now a RHYTHMBOX-0_5 branch where
we hope to do a 0.5.4 release, and possibily 0.5.5.  

I've committed the --rhythmdb arch branch to CVS HEAD[1].  To
translators: Please concentrate on the RHYTHMBOX-0_5 CVS branch.  CVS
HEAD will be changing quite rapidly (including string things).  Or if
you're feeling ambitious you could use arch for translations :)

(Translators, that's it for you, but feel free to read on if you


As I mentioned, the RhythmDB work I've been hacking on for the past
several weeks has been commited to CVS HEAD.  If you're feeling
adventurous, please try it out!  It's "somewhat" stable, but there's
still lots of functionality to restore, and tons of room for improvement
in usability and especially speed.  I think it's definitely at the point
where other people can hack on it and help fix things.

So what's cool about RhythmDB?  One thing you'll probably notice first
is that queries are completely asychronous.  In fact, I invested a
fairly large amount of development time ensuring the UI *NEVER* blocks
for more than about 3/4 of a second.

The one noticeable area where RhythmDB is noticeably *slower* than the
old code is when switching back to "All".  I think I know how to solve
this though (basically just keep around a cached "All" query model).  In
fact, generally speaking RhythmDB's architecture will allow for
optimization much more easily.  For example, we could cache frequently
used queries, or queries for highly rated songs, or both.  Also the
query optimizer that is there in the treedb now is fairly stupid, but I
know several tricks I could use to boost its speed.

Besides "All", otherwise things should be snappier.  Searching still has
some room for improvement too. 

Right now all that's implemented is the library.  But internet radio
should be less than an hour of work to restore.  Playlists will be
rewritten to be user-orderable, but that shouldn't be too terribly hard
either.  So things are looking fairly good.

You will find bugs.  Probably lots.  At least initially, please give us
a week or two before reporting them, since it's very likely we know
about them, but just haven't gotten around to them yet.


I made a relatively small but rather annoying mistake when I first
created the arch repository - I used --1.0 for the version, when I
clearly should have used --0.5.  So I've created a new archive,
walters@rhythmbox.org--2003b, which contains revisions tagged from the
old one.  From an arch user/developer perspective, all you have to do is
register the new archive location:

$ tla register-archive walters@rhythmbox.org--2003b http://arch.verbum.org/rhythmbox-2003b

Now, the new archive layout looks like this:

walters@columbia> tla abrowse walters@rhythmbox.org--2003b
        base-0 .. patch-6

So you can see we have two --mainlines now, one --0.5 and another
--0.6.  This branch will be associated with the RHYTHMBOX-0_5 CVS
branch.  The --0.6 arch branch will naturally associate with CVS HEAD
(for now).

That's it for now.  Happy hacking!

[1] After great pain.  In order to break some circular dependencies I
had to move lib/widgets to widgets/, which with arch I did just using
'mv' in about 1 second, plus a few edits to Makefile.am's.  Mirroring
this change in CVS took close to two hours of intense pain.  I'm
actually still not sure it's entirely right.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]