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
> UI.

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
> queries.

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
http://jamiemcc.livejournal.com/

_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to