I've been editing the wiki section on the intermediate data format. I 
have a few questions:

http://www.pitivi.org/wiki/Design_Docs_File_Load_and_Save#The_intermediate_data_structure

* does it make sense to explicitly represent the sources list in the 
intermediate format? Every timeline source contains a reference to a 
unique source factory. Pickling handles flattening this data for us, and 
so could any future file format. i.o.w. having an explicit list of 
sources in the intermediate format is redundant.

* Does it make sense to serialize object factories? Perhaps we should 
abstract the notion of a factory to a "source definition", that would be 
simpler, and more general. We can just store the URI of the source, and 
maybe whether it's audio, video, image, effect, etc, (do we really even 
need that?) and let the discoverer worry about what kind of object 
factory to create. That simplifies the code in objectfactory.py, the 
base class, objectFactory, is the only one that needs to directly 
implement Serializable.

* how to handle parameters to plugins and transitions in a general way? 
I was thinking along the lines of combinations of general data types: we 
can allow any number of keys that can be one of int, real, color, and 
str. The only thing i'm not so sure about is how to handle a 
controller-type parameter where it defines how data chagnes over time. 
Maybe we can also define an "interpolation" data type that contains a 
list of keyframes(timestamps) and options which define how to 
interpolate between them. For example

volume = [("linear", (0.00, 1.00), (1000, 5.0),)])

Would define a linear increase in volume, starting at 1 when time T=0 
and increasing to 5 at time t=1000. You could also have interpolation 
modes of "square", and "bezier"

* perhaps we should add a "validate" method to the serializable 
interface which does some sanity checking on the input data.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Pitivi-pitivi mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pitivi-pitivi

Reply via email to