Yesterday, Edward added a nice new feature PiTiVi: it now doesn’t die when you open a project file with missing media, and allows you to locate the new location of the files if they have moved. It looks like this:

capture-locate-missing-file

Now, seeing this automatically made me file two new bug reports.

  1. First, the default size of that dialog is not funny.
  2. Second, an enhancement request (and the subject of this blog post): this doesn’t help me if the filenames changed (not just the paths).

So I spent some time thinking and did old-fashionned mockups (pen and paper). Please do comment on them. My ideal goal is that anybody who looks at them (and knows that they are meant to be used “when there are missing files in a project”) will be able to understand how they are meant to be interacted with.

First, you would have this dialog pop up when trying to load the project:

pitivi-missing-media-1

The checkboxen on the rightmost column would be meant to be “gtk insensitive” (you can’t interact with them), and reflect if a clip was used “in the timeline” or just sitting there in the clip library. Clicking the “Ok” button would set the new paths/names for all the clips that you located, and ignore (mark “offline”) all the rest. As such, the “Ignore” button is actually kinda useless, now that I think of it, and maybe the “Ok” button should be relabelled to something like “Accept changes and leave the remaining missing media offline”, but it sounds extremely long. Feedback welcome.

Either clicking the “Search automatically” button or when you manually locate a clip and PiTiVi “thinks” that it found the other clips in the same folder (this is a feature that we already have, by the way), this new dialog would appear:

pitivi-missing-media-2

…Quickly followed by this one:

pitivi-missing-media-3

Cue the “These aren’t the droids you’re looking for” joke :) in this dialog, the “Is this the same?” column’s checkboxen would actually be sensitive (the user could check/uncheck them).

Now, please comment on all this. I believe this system would work quite well and highly surpass Vegas and expectations of “Holy Shit It Just Works”. Initial feedback requests from friends hinted that I was in the right direction, at least nobody so far seemed to have problems grasping this serie of mockups.

Bonus question: how should the automatic matching/searching be done? I was thinking of simply looking for files with the same extension + same filesize (and optionally same filename), as this may be a very fast way to search. Then metadata could be retrieved such as thumbnails, duration, resolution, etc (but this will surely require changes in the PiTiVi file format to embed all those things). Someone suggested to me to use MD5 checksums, but my initial guess is that this would be horrible for performance (imagine trying to locate 150 video clips by md5summing a bunch of video files on your hard drive, some of which could weigh gigabytes).