Video and other media. Where to draw the line?



I have some questions regarding the loading of non-photo media and
about the Imaging code.  I would like some feedback mainly from
developers, but users can feel free to pitch in too.

Some of you on IRC may have noticed that Alex Polvi and I were hacking
on getting F-Spot to load videos.  (see
http://bugzilla.gnome.org/show_bug.cgi?id=166038) As I see it, there
are three ways to go about this:
1. Trick F-Spot into thinking that videos are just images (ie. of the
ImageFile class)
2. Make a separate, parallel VideoFile class to deal with them
3. Generalize the current ImageFile class to MediaFile, and have
ImageFile and VideoFile both inherit from this base class.

Going with options 1 or 3 would allow most existing code to function
with minor modifications.  Using option 2 would require more changes
to code, as we would have to handle video files specially, and
separate from image files, whenever they are encountered.

On the bug page (see above for a link) the patch by Alex uses option
1, and the latest patch by me uses option 3 (please note that neither
are totally complete, though both are usable).  My patch also
addresses some other issues, such as making non-applicable buttons
(edit, crop, print, export, etc) inactive.

(I'm going to jump to the questions now before this email gets too long).

Q1. What do you think is the best way to structure the classes (of the
three options above)
Q2. If we add video support, where do we draw the line with F-Spot?
Obviously we don't want to make a full file manager with a slideshow
function.  But a good rule of thumb might be that we should handle
everything, and only, what a digital camera can take.  Right now, I
believe that is photos, videos, and audio clips (which I think are
attached to photos).
Q3. Assuming we add video support, what features would be necessary?
I think editing should be left up to an external editor, although it
might be feasible to do very simple things like truncating or adding a
title screen (compare to what we do with photos, for instance).
Exporting to services like YouTube would be quite nice as well.
Q4. What is the minimum amount of expected functionality required for
a patch to be accepted?  (ie. there's lots we could do, but we should
keep it small first)

Thanks in advance
--
-Michael Wayne Goodman



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