GES.Group controls one or more
but it can also control other
GES.Group-s). Its children must share
GES.Timeline, but can otherwise lie in separate
and have different timings.
To initialise a group, you may want to use
and similarly use
GES.Container.ungroup() to dispose of it.
A group will maintain the relative
:start times of
its children, as well as their relative layer
Therefore, if one of its children has its
set, all other children will have their
shifted by the same amount. Similarly, if one of its children moves to
a new layer, the other children will also change layers to maintain the
difference in their layer priorities. For example, if a child moves
from a layer with
:priority 1 to a layer with priority 3, then
another child that was in a layer with priority 0 will move to the
layer with priority 2.
:start of a group refers to the earliest start
time of its children. If the group’s
:start is set, all the
children will be shifted equally such that the earliest start time
will match the set value. The
:duration of a group is the
difference between the earliest start time and latest end time of its
children. If the group’s
:duration is increased, the children
whose end time matches the end of the group will be extended
accordingly. If it is decreased, then any child whose end time exceeds
the new end time will also have their duration decreased accordingly.
A group may span several layers, but for methods such as
GES.TimelineElement.edit() a group is considered to have a layer
priority that is the highest
:priority (numerically, the
smallest) of all the layers it spans.
|Returns:||The new empty group.
Created a new empty group. You may wish to use
GES.Container.group() instead, which can return a different
GES.Container subclass if possible.