Skip to content

duration-limit and improved editing

duration-limit

This introduces the duration-limit property for clips to ensure we always have enough internal content for the desired duration of the clip. We also restrict the children of the clips to ensure that the duration-limit can never change in such a way as to break the timeline configuration. Time effects are not yet supported, but this property will become even more useful once they are added.

editing

Also made a big change to timeline-tree editing. This became desirable as it became difficult to enforce the duration-limit with the previous code, plus it improves the editing process in other ways by:

  • unifying the editing process, which makes it much easier to introduce a change that will change each edit mode appropriately
  • fixing several bugs (such as snapping to an invalid configuration, or not properly detecting overlaps)
  • preserving transitions on layer moves
  • allows snapping to make an edit succeed that would have otherwise failed

It should also make it very easy to expand on the editing process (e.g. to implement the SLIDE mode).

These changes allow for other improvements. In particular, the problems with priority in GESGroup are now fixed by using timeline-tree.

splitting

Also fixed ges_clip_split, which was causing problems (https://gitlab.gnome.org/GNOME/pitivi/-/issues/2443). Also made sure that the auto-transition at the end of split clip is kept alive.

Fixes #89 (closed) Fixes #97 (closed) Fixes #98 (closed) Fixes #104 (closed)

Edited by Henry Wilkes

Merge request reports