random: Add brainstorming about Timeline<=>Track object mapping
authorEdward Hervey <edward.hervey@collabora.co.uk>
Tue, 14 Dec 2010 16:37:13 +0000 (17:37 +0100)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Tue, 14 Dec 2010 16:37:13 +0000 (17:37 +0100)
docs/random/mapping.txt [new file with mode: 0644]

diff --git a/docs/random/mapping.txt b/docs/random/mapping.txt
new file mode 100644 (file)
index 0000000..8af1e97
--- /dev/null
@@ -0,0 +1,50 @@
+Mapping Timeline position to Track position
+-------------------------------------------
+
+TrackObject/TimelineObject basic properties (hereafter position):
+ start
+ duration
+ in-point
+ priority
+
+
+Use Cases:
+
+ A TimelineObject can be tracking one or many TrackObject(s).
+
+ When the TimelineObject position is modified we might need
+ to cascade those changes to the controlled TrackObject(s) if those
+ TrackObject(s) are 'locked' to the TimelineObject.
+
+ If we modify the positions of a TrackObject that TrackObject is
+ 'locked' to the TimelineObject, we need to ensure all the other
+ co-related TrackObject belong to the same TimelineObject are moved in
+ the same way.
+
+ A TrackObject can be temporarily 'unlocked' from its TimelineObject,
+ so as to move it independently, and then 'locked' back to it. This
+ can allow moves, like shifting audio trackobject in relation to the
+ video trackobject (to fix sync issues) and then 'lock' them back so
+ as to be able to move them as one entity thereafter.
+
+ When adding TimelineOverlay(s) or TimelineEffect(s) on a
+ TimelineObject, we need to ensure the TrackObject(s) that those extra
+ effects will create can be added with specific priority offsets, in
+ such a way that they always end up "on top" of the TimelineObject's
+ existing tracked TrackObject(s).
+
+ When a controlled TrackObject is being moved when 'unlocked', we need
+ to make sure the duration/height of the TimelineObject is updated
+ accordingly. Ex : moving a TrackObject down by one priority should
+ increase the TimelineObject "heigh" property by 1.
+
+
+Main Problem:
+
+ There needs to be a mapping between the TimelineObject basic
+ properties and its controlled TrackObject(s) position.
+
+Design:
+
+ TBD
+