GESContainer
A GESContainer is a timeline element that controls other GESTimelineElement-s, which are its children. In particular, it is responsible for maintaining the relative start and duration times of its children. Therefore, if a container is temporally adjusted or moved to a new layer, it may accordingly adjust and move its children. Similarly, a change in one of its children may prompt the parent to correspondingly change its siblings.
GESContainer
GObject ╰──GInitiallyUnowned ╰──GESTimelineElement ╰──GESContainer ╰──GESClip ╰──GESGroup
Note, you may read, but should not modify these properties.
Members
parent
(GESTimelineElement)
–
children
(GList *)
–
The list of GESTimelineElement-s controlled by this Container
children_control_mode
(GESChildrenControlMode)
–
initiated_move
(GESTimelineElement *)
–
Class structure
GESContainerClass
GES.ContainerClass
GES.ContainerClass
GES.Container
GObject.Object ╰──GObject.InitiallyUnowned ╰──GES.TimelineElement ╰──GES.Container ╰──GES.Clip ╰──GES.Group
Note, you may read, but should not modify these properties.
Members
parent
(GES.TimelineElement)
–
children
([ GES.TimelineElement ])
–
The list of GES.TimelineElement-s controlled by this Container
children_control_mode
(GES.ChildrenControlMode)
–
initiated_move
(GES.TimelineElement)
–
GES.Container
GObject.Object ╰──GObject.InitiallyUnowned ╰──GES.TimelineElement ╰──GES.Container ╰──GES.Clip ╰──GES.Group
Note, you may read, but should not modify these properties.
Members
parent
(GES.TimelineElement)
–
children
([ GES.TimelineElement ])
–
The list of GES.TimelineElement-s controlled by this Container
children_control_mode
(GES.ChildrenControlMode)
–
initiated_move
(GES.TimelineElement)
–
Methods
ges_container_add
gboolean ges_container_add (GESContainer * container, GESTimelineElement * child)
Adds a timeline element to the container. The element will now be a child of the container (and the container will be the parent of the added element), which means that it is now controlled by the container. This may change the properties of the child or the container, depending on the subclass.
Additionally, the children properties of the newly added element will be shared with the container, meaning they can also be read and set using ges_timeline_element_get_child_property and ges_timeline_element_set_child_property on the container.
TRUE if child was successfully added to container.
GES.Container.prototype.add
function GES.Container.prototype.add(child: GES.TimelineElement): {
// javascript wrapper for 'ges_container_add'
}
Adds a timeline element to the container. The element will now be a child of the container (and the container will be the parent of the added element), which means that it is now controlled by the container. This may change the properties of the child or the container, depending on the subclass.
Additionally, the children properties of the newly added element will be shared with the container, meaning they can also be read and set using GES.TimelineElement.prototype.get_child_property and GES.TimelineElement.prototype.set_child_property on the container.
Parameters:
The element to add as a child
GES.Container.add
def GES.Container.add (self, child):
#python wrapper for 'ges_container_add'
Adds a timeline element to the container. The element will now be a child of the container (and the container will be the parent of the added element), which means that it is now controlled by the container. This may change the properties of the child or the container, depending on the subclass.
Additionally, the children properties of the newly added element will be shared with the container, meaning they can also be read and set using GES.TimelineElement.get_child_property and GES.TimelineElement.set_child_property on the container.
Parameters:
The element to add as a child
ges_container_edit
gboolean ges_container_edit (GESContainer * container, GList * layers, gint new_layer_priority, GESEditMode mode, GESEdge edge, guint64 position)
Edits the container within its timeline.
Parameters:
container
–
The GESContainer to edit
layers
(
[element-typeGESLayer][nullable])
–
A whitelist of layers where the edit can be performed, NULL allows all layers in the timeline
new_layer_priority
–
The priority/index of the layer container should be moved to. -1 means no move
mode
–
The edit mode
edge
–
The edge of container where the edit should occur
position
–
The edit position: a new location for the edge of container (in nanoseconds)
deprecated : 1.18: use #ges_timeline_element_edit instead.
GES.Container.prototype.edit
function GES.Container.prototype.edit(layers: [ GES.Layer ], new_layer_priority: Number, mode: GES.EditMode, edge: GES.Edge, position: Number): {
// javascript wrapper for 'ges_container_edit'
}
Edits the container within its timeline.
Parameters:
The GES.Container to edit
A whitelist of layers where the edit can be performed, null allows all layers in the timeline
The priority/index of the layer container should be moved to. -1 means no move
The edit mode
The edge of container where the edit should occur
The edit position: a new location for the edge of container (in nanoseconds)
deprecated : 1.18: use #ges_timeline_element_edit instead.
GES.Container.edit
def GES.Container.edit (self, layers, new_layer_priority, mode, edge, position):
#python wrapper for 'ges_container_edit'
Edits the container within its timeline.
Parameters:
The GES.Container to edit
A whitelist of layers where the edit can be performed, None allows all layers in the timeline
The priority/index of the layer container should be moved to. -1 means no move
The edit mode
The edge of container where the edit should occur
The edit position: a new location for the edge of container (in nanoseconds)
deprecated : 1.18: use #ges_timeline_element_edit instead.
ges_container_get_children
GList * ges_container_get_children (GESContainer * container, gboolean recursive)
Get the list of timeline elements contained in the container. If recursive is TRUE, and the container contains other containers as children, then their children will be added to the list, in addition to themselves, and so on.
The list of GESTimelineElement-s contained in container.
GES.Container.prototype.get_children
function GES.Container.prototype.get_children(recursive: Number): {
// javascript wrapper for 'ges_container_get_children'
}
Get the list of timeline elements contained in the container. If recursive is true, and the container contains other containers as children, then their children will be added to the list, in addition to themselves, and so on.
Parameters:
Whether to recursively get children in container
The list of GES.TimelineElement-s contained in container.
GES.Container.get_children
def GES.Container.get_children (self, recursive):
#python wrapper for 'ges_container_get_children'
Get the list of timeline elements contained in the container. If recursive is True, and the container contains other containers as children, then their children will be added to the list, in addition to themselves, and so on.
Parameters:
Whether to recursively get children in container
The list of GES.TimelineElement-s contained in container.
ges_container_remove
gboolean ges_container_remove (GESContainer * container, GESTimelineElement * child)
Removes a timeline element from the container. The element will no longer be controlled by the container.
TRUE if child was successfully removed from container.
GES.Container.prototype.remove
function GES.Container.prototype.remove(child: GES.TimelineElement): {
// javascript wrapper for 'ges_container_remove'
}
Removes a timeline element from the container. The element will no longer be controlled by the container.
Parameters:
The child to remove
GES.Container.remove
def GES.Container.remove (self, child):
#python wrapper for 'ges_container_remove'
Removes a timeline element from the container. The element will no longer be controlled by the container.
Parameters:
The child to remove
ges_container_ungroup
GList * ges_container_ungroup (GESContainer * container, gboolean recursive)
Ungroups the container by splitting it into several containers containing various children of the original. The rules for how the container splits depends on the subclass. A GESGroup will simply split into its children. A GESClip will split into one GESClip per GESTrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the GESTrackElement-s from the original clip with a matching track-type.
If recursive is TRUE, and the container contains other containers as children, then they will also be ungrouped, and so on.
Parameters:
container
(
[transfer: full])
–
The container to ungroup
recursive
–
Whether to recursively ungroup container
The list of new GESContainer-s created from the splitting of container.
GES.Container.prototype.ungroup
function GES.Container.prototype.ungroup(recursive: Number): {
// javascript wrapper for 'ges_container_ungroup'
}
Ungroups the container by splitting it into several containers containing various children of the original. The rules for how the container splits depends on the subclass. A GES.Group will simply split into its children. A GES.Clip will split into one GES.Clip per GES.TrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the GES.TrackElement-s from the original clip with a matching track-type.
If recursive is true, and the container contains other containers as children, then they will also be ungrouped, and so on.
Parameters:
The container to ungroup
Whether to recursively ungroup container
The list of new GES.Container-s created from the splitting of container.
GES.Container.ungroup
def GES.Container.ungroup (self, recursive):
#python wrapper for 'ges_container_ungroup'
Ungroups the container by splitting it into several containers containing various children of the original. The rules for how the container splits depends on the subclass. A GES.Group will simply split into its children. A GES.Clip will split into one GES.Clip per GES.TrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the GES.TrackElement-s from the original clip with a matching track_type.
If recursive is True, and the container contains other containers as children, then they will also be ungrouped, and so on.
Parameters:
The container to ungroup
Whether to recursively ungroup container
The list of new GES.Container-s created from the splitting of container.
Functions
ges_container_group
GESContainer * ges_container_group (GList * containers)
Groups the containers into a single container by merging them. The containers must all belong to the same timeline.
If the elements are all GESClip-s then this method will attempt to combine them all into a single GESClip. This should succeed if they: share the same start, duration and in-point; exist in the same layer; and all of the sources share the same GESAsset. If this fails, or one of the elements is not a GESClip, this method will try to create a GESGroup instead.
Parameters:
containers
–
(transfer none) (element-type GESContainer) (nullable): The GESContainer-s to group
The container created by merging containers, or NULL if they could not be merged into a single container.
GES.Container.prototype.group
function GES.Container.prototype.group(containers: [ GES.Container ]): {
// javascript wrapper for 'ges_container_group'
}
Groups the containers into a single container by merging them. The containers must all belong to the same timeline.
If the elements are all GES.Clip-s then this method will attempt to combine them all into a single GES.Clip. This should succeed if they: share the same start, duration and in-point; exist in the same layer; and all of the sources share the same GES.Asset. If this fails, or one of the elements is not a GES.Clip, this method will try to create a GES.Group instead.
Parameters:
(transfer none) (element-type GESContainer) (nullable): The GES.Container-s to group
The container created by merging containers, or null if they could not be merged into a single container.
GES.Container.group
def GES.Container.group (containers):
#python wrapper for 'ges_container_group'
Groups the containers into a single container by merging them. The containers must all belong to the same timeline.
If the elements are all GES.Clip-s then this method will attempt to combine them all into a single GES.Clip. This should succeed if they: share the same start, duration and in_point; exist in the same layer; and all of the sources share the same GES.Asset. If this fails, or one of the elements is not a GES.Clip, this method will try to create a GES.Group instead.
Parameters:
(transfer none) (element-type GESContainer) (nullable): The GES.Container-s to group
The container created by merging containers, or None if they could not be merged into a single container.
Signals
child-added
child_added_callback (GESContainer * self, GESTimelineElement * element, gpointer user_data)
Will be emitted after a child is added to the container. Usually, you should connect with g_signal_connect_after since the signal may be stopped internally.
Parameters:
self
–
element
–
The child that was added
user_data
–
Flags: Run First
child-added
function child_added_callback(self: GES.Container, element: GES.TimelineElement, user_data: Object): {
// javascript callback for the 'child-added' signal
}
Will be emitted after a child is added to the container. Usually, you should connect with g_signal_connect_after (not introspectable) since the signal may be stopped internally.
Parameters:
The child that was added
Flags: Run First
child-added
def child_added_callback (self, element, *user_data):
#python callback for the 'child-added' signal
Will be emitted after a child is added to the container. Usually, you should connect with g_signal_connect_after (not introspectable) since the signal may be stopped internally.
Parameters:
The child that was added
Flags: Run First
child-removed
child_removed_callback (GESContainer * self, GESTimelineElement * element, gpointer user_data)
Will be emitted after a child is removed from the container.
Parameters:
self
–
element
–
The child that was removed
user_data
–
Flags: Run Last
child-removed
function child_removed_callback(self: GES.Container, element: GES.TimelineElement, user_data: Object): {
// javascript callback for the 'child-removed' signal
}
Will be emitted after a child is removed from the container.
Parameters:
The child that was removed
Flags: Run Last
child-removed
def child_removed_callback (self, element, *user_data):
#python callback for the 'child-removed' signal
Will be emitted after a child is removed from the container.
Parameters:
The child that was removed
Flags: Run Last
Properties
height
“height” guint
The span of the container's children's priority values, which is the number of integers that lie between (inclusive) the minimum and maximum priorities found amongst the container's children (maximum - minimum + 1).
Flags : Read
Virtual Methods
add_child
gboolean add_child (GESContainer * container, GESTimelineElement * element)
Virtual method to add a child
Parameters:
container
–
element
–
vfunc_add_child
function vfunc_add_child(container: GES.Container, element: GES.TimelineElement): {
// javascript implementation of the 'add_child' virtual method
}
Virtual method to add a child
Parameters:
do_add_child
def do_add_child (container, element):
#python implementation of the 'add_child' virtual method
Virtual method to add a child
Parameters:
child_added
child_added (GESContainer * container, GESTimelineElement * element)
Virtual method that is called right after a GESTimelineElement is added
Parameters:
container
–
element
–
vfunc_child_added
function vfunc_child_added(container: GES.Container, element: GES.TimelineElement): {
// javascript implementation of the 'child_added' virtual method
}
Virtual method that is called right after a GES.TimelineElement is added
Parameters:
do_child_added
def do_child_added (container, element):
#python implementation of the 'child_added' virtual method
Virtual method that is called right after a GES.TimelineElement is added
Parameters:
child_removed
child_removed (GESContainer * container, GESTimelineElement * element)
Virtual method that is called right after a GESTimelineElement is removed
Parameters:
container
–
element
–
vfunc_child_removed
function vfunc_child_removed(container: GES.Container, element: GES.TimelineElement): {
// javascript implementation of the 'child_removed' virtual method
}
Virtual method that is called right after a GES.TimelineElement is removed
Parameters:
do_child_removed
def do_child_removed (container, element):
#python implementation of the 'child_removed' virtual method
Virtual method that is called right after a GES.TimelineElement is removed
Parameters:
edit
gboolean edit (GESContainer * container, GList * layers, gint new_layer_priority, GESEditMode mode, GESEdge edge, guint64 position)
Deprecated
Parameters:
container
–
layers
–
new_layer_priority
–
mode
–
edge
–
position
–
vfunc_edit
function vfunc_edit(container: GES.Container, layers: [ GES.Layer ], new_layer_priority: Number, mode: GES.EditMode, edge: GES.Edge, position: Number): {
// javascript implementation of the 'edit' virtual method
}
Deprecated
Parameters:
do_edit
def do_edit (container, layers, new_layer_priority, mode, edge, position):
#python implementation of the 'edit' virtual method
Deprecated
Parameters:
remove_child
gboolean remove_child (GESContainer * container, GESTimelineElement * element)
Virtual method to remove a child
Parameters:
container
–
element
–
vfunc_remove_child
function vfunc_remove_child(container: GES.Container, element: GES.TimelineElement): {
// javascript implementation of the 'remove_child' virtual method
}
Virtual method to remove a child
Parameters:
do_remove_child
def do_remove_child (container, element):
#python implementation of the 'remove_child' virtual method
Virtual method to remove a child
Parameters:
ungroup
GList * ungroup (GESContainer * container, gboolean recursive)
Virtual method to ungroup a container into a list of containers
Parameters:
container
–
recursive
–
vfunc_ungroup
function vfunc_ungroup(container: GES.Container, recursive: Number): {
// javascript implementation of the 'ungroup' virtual method
}
Virtual method to ungroup a container into a list of containers
Parameters:
do_ungroup
def do_ungroup (container, recursive):
#python implementation of the 'ungroup' virtual method
Virtual method to ungroup a container into a list of containers
Parameters:
Function Macros
GES_CONTAINER_CHILDREN
#define GES_CONTAINER_CHILDREN(obj) (((GESContainer*)obj)->children)
The GList containing the children of obj.
Parameters:
obj
–
GES_CONTAINER_HEIGHT
#define GES_CONTAINER_HEIGHT(obj) (((GESContainer*)obj)->height)
The height of obj.
Parameters:
obj
–
Enumerations
GESChildrenControlMode
To be used by subclasses only. This indicate how to handle a change in a child.
Members
GES_CHILDREN_UPDATE
(0)
–
GES_CHILDREN_IGNORE_NOTIFIES
(1)
–
GES_CHILDREN_UPDATE_OFFSETS
(2)
–
GES_CHILDREN_UPDATE_ALL_VALUES
(3)
–
GES_CHILDREN_LAST
(4)
–
GES.ChildrenControlMode
To be used by subclasses only. This indicate how to handle a change in a child.
Members
GES.ChildrenControlMode.UPDATE
(0)
–
GES.ChildrenControlMode.IGNORE_NOTIFIES
(1)
–
GES.ChildrenControlMode.UPDATE_OFFSETS
(2)
–
GES.ChildrenControlMode.UPDATE_ALL_VALUES
(3)
–
GES.ChildrenControlMode.LAST
(4)
–
GES.ChildrenControlMode
To be used by subclasses only. This indicate how to handle a change in a child.
Members
GES.ChildrenControlMode.UPDATE
(0)
–
GES.ChildrenControlMode.IGNORE_NOTIFIES
(1)
–
GES.ChildrenControlMode.UPDATE_OFFSETS
(2)
–
GES.ChildrenControlMode.UPDATE_ALL_VALUES
(3)
–
GES.ChildrenControlMode.LAST
(4)
–
Constants
GES_TYPE_CONTAINER
#define GES_TYPE_CONTAINER ges_container_get_type()
The results of the search are