Re: [Tracker] Getting all files from tracker



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/




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