Re: [Tracker] Getting all files from tracker

James "Doc" Livingston wrote:
Hi everyone,

Hi James,

I've been playing around with Tracker the last few days, and had a
couple of issues:

First, tracker.pc has "-lmetatracker" in it, but that doesn't exist. it
should probably be "-ltrackerclient".

this was fixed yesterday in CVS (noticed this when Nautilus would not build with it)

Second, what would be the best way of asking Tracker for all the music
files? Calling tracker_search_text() with the search string being NULL
or "" doesn't work, and complains about the lack of search terms.

In tracker, "Music" is a first class object/service so you can get all music files very efficiently by calling GetByServiceType in the Files interface in Dbus or use the equivalent api call in libtrackerclient.

You can already see the output (and sample source) for this by using the tracker-files command line tool :

tracker-files -s Music

will show the first 512 music files on your system.

I've also tried tracker_search_query() with field, search, keyword and
query being NULL, but I when I do that it segfaults somewhere around the
dbus call. Unfortunately I haven't managed to get a useful backtrace

yes thats right - tracker-query must have one of keywords, search or query set or it will fail (I should make sure this returns an error rather than crashing)

If you want to use the query facility you can also specify Music as the service parameter here to only query music files (and same for all other methdos that take a service parameter)

Hope that helps - it will be cool to get this into rhythmbox to help dispel some of the myths/FUD being propogated on d-d-l wrt tracker's inclusion in GNOME.

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


Mr Jamie McCracken

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