Re: [Tracker] Getting all files from tracker
- From: Jamie McCracken <jamiemcc blueyonder co uk>
- To: James Livingston <doclivingston gmail com>
- Cc: tracker-list gnome org
- Subject: Re: [Tracker] Getting all files from tracker
- Date: Sun, 22 Oct 2006 19:09:50 +0100
James Livingston wrote:
I've got a trivial plugin written that asks Tracker for it's list of
music files on startup and asks Rhythmbox to add them if they aren't
already in the library. It doesn't get the metadata from Tracker or
anything, just gets the list of URIs.
great - Im sure Sri will be happy :)
Also once I have the Music dbus interface completed and HAL/Live query
support going it would be great if Rhythmbox could auto-detect tracker
Adding support for Tracker is something that I'm interested in (and I
know other people are too).
and use it automatically if its installed for its main database (should
be a lot faster than an xml database when number of music files is
large) - you can use Dbus directly to manipulate tracker so there's no
need to link to or have hard dependencies on tracker.
XML is only used in the on-disk representation, in memory it's a custom
object-oriented hierarchical database. I'm not sure whether using
tracker would be faster or not, but it doesn't really matter - whenever
RB seems slow, it's almost never the database, but usually updating the
okay fair enough
The question is how much of our database layer to replace. It would be
easy enough to replace only the xml-loading bit, so we get the list of
tracks and metadata from Tracker, but use our own in memory db for
yeah if you are happy with your existing stuff then its not worth the
effort (if it aint broke dont try and fix it!)
Replacing the majority of RB's db layer probably means us doing the
cleanup/refactor that we've been planning to do for quite a while.
That might be a good time to experiment with tracker.
Some benefits if you did integrate more deeply:
1) Use the rdf query facility to implement smart virtual playlists
2) Use async queries to keep your UI from locking up
3) Provide full text search for all music stuff (including lyrics?) with
results sorted in ranked order
4) reduce memory footprint as you can effectively cursor the data with
tracker by using offset and limit(max_hits) parameters to page results
as opposed to getting all data into memory in one go
5) rdf query provides virtually the same power as sql so you get a
powerful query system for free
6) Should greatly simplify your code in that area
Once Im ready with the music db stuff, I will probably build a simple
demo player with gstreamer so you can have a better look.
Mr Jamie McCracken
] [Thread Prev