[haiku-development] Re: [haiku-commits] Re: haiku: hrev47664 - src/kits/tracker headers/private/tracker

  • From: John Scipione <jscipione@xxxxxxxxx>
  • To: "haiku-development@xxxxxxxxxxxxx" <haiku-development@xxxxxxxxxxxxx>
  • Date: Mon, 18 Aug 2014 15:26:28 -0400

On Tue, Aug 12, 2014 at 5:02 AM, François Revol <revol@xxxxxxx> wrote:
> On 11/08/2014 03:13, John Scipione wrote:
>> Oh and btw I have more, much more. This work and the style work I did
>> earlier are laying the groundwork for starting to really fill out the
>> feature set of Tracker to be more modern. Things like image thumbnail
>> support, attributes for media files that actually get filled in for you,
>
> I'm not sure it's Tracker's job to extract media attributes.

Well, my work has been on image files so far but my vision also
extends to things like audio and video files. There are certain
attributes we can extract out of the file using the Media Kit and
Translation Kit for instance we can get the runtime and dimensions of
a video, we can also get the runtime of an audio file. For an image we
can get the height and width of the image.

I suppose you could dedicate a separate process to extract this info
in the background, but, Tracker already has all the node monitoring
code in place to check for changes so it makes sense to do this work
in Tracker (I think). My vision is that when you run Get Info on a
media file it would show you this extra information we've collected,
video runtime, image height and width and other stuff, or you could
turn on the appropriate attributes in list mode to see it. This info
would get produced on the fly when you open a folder that has one or
more of these files in it and then it would get stored in a BFS
attribute. If the file wasn't on BFS (or more precisely on a file
system that doesn't support extended attributes) then you just
wouldn't get this extra info.

Again, we are already doing node monitoring in Tracker so it's a
matter or calling the right hook functions when a file is created or
the modification time of the file changes.

Would this slow the system down to an unusable level if you open a
folder with 10,000 video files in it? I have to admit that right now I
don't know but I would hope that we ought to be able to either do this
processing in a low priority background thread so that the UI doesn't
get bogged down.

You say that you're not sure that it's Tracker's job to extract media
attributes, but, if it's not Tracker's job, who's job is it? Do you
envision a Spotlight-like background process running to collect the
info perhaps, or maybe a dedicated app that you'd run on demand? Maybe
several dedicated apps each dedicated to a specific set of media
attributes ala Swiss Army Knife?

Other related posts: