summaryrefslogtreecommitdiff
path: root/docs/random
diff options
context:
space:
mode:
authorEdward Hervey <edward.hervey@collabora.co.uk>2010-12-14 17:37:13 +0100
committerEdward Hervey <edward.hervey@collabora.co.uk>2010-12-14 17:37:13 +0100
commitbfaa119ef777663b575297b814f2cd4234e41787 (patch)
tree4a314b6060be822bb1af7c29aaceffaa13b9e4cb /docs/random
parent3912245f877d23b9cb0e9efef37ec6256ceab1f2 (diff)
random: Add brainstorming about Timeline<=>Track object mapping
Diffstat (limited to 'docs/random')
-rw-r--r--docs/random/mapping.txt50
1 files changed, 50 insertions, 0 deletions
diff --git a/docs/random/mapping.txt b/docs/random/mapping.txt
new file mode 100644
index 00000000..8af1e979
--- /dev/null
+++ b/docs/random/mapping.txt
@@ -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
+