diff options
author | Edward Hervey <edward.hervey@collabora.co.uk> | 2010-12-14 17:37:13 +0100 |
---|---|---|
committer | Edward Hervey <edward.hervey@collabora.co.uk> | 2010-12-14 17:37:13 +0100 |
commit | bfaa119ef777663b575297b814f2cd4234e41787 (patch) | |
tree | 4a314b6060be822bb1af7c29aaceffaa13b9e4cb /docs | |
parent | 3912245f877d23b9cb0e9efef37ec6256ceab1f2 (diff) |
random: Add brainstorming about Timeline<=>Track object mapping
Diffstat (limited to 'docs')
-rw-r--r-- | docs/random/mapping.txt | 50 |
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 + |