GESTimelineElement
A GESTimelineElement will have some temporal extent in its corresponding timeline, controlled by its start and duration. This determines when its content will be displayed, or its effect applied, in the timeline. Several objects may overlap within a given GESTimeline, in which case their priority is used to determine their ordering in the timeline. Priority is mostly handled internally by GESLayer-s and GESClip-s.
A timeline element can have a parent, such as a GESClip, which is responsible for controlling its timing.
Editing
Elements can be moved around in their timeline by setting their start and duration using ges_timeline_element_set_start and ges_timeline_element_set_duration. Additionally, which parts of the underlying content are played in the timeline can be adjusted by setting the in-point using ges_timeline_element_set_inpoint. The library also provides ges_timeline_element_edit, with various GESEditMode-s, which can adjust these properties in a convenient way, as well as introduce similar changes in neighbouring or later elements in the timeline.
However, a timeline may refuse a change in these properties if they would place the timeline in an unsupported configuration. See GESTimeline for its overlap rules.
Additionally, an edit may be refused if it would place one of the timing properties out of bounds (such as a negative time value for start, or having insufficient internal content to last for the desired duration).
Time Coordinates
There are three main sets of time coordinates to consider when using timeline elements:
- Timeline coordinates: these are the time coordinates used in the output of the timeline in its GESTrack-s. Each track share the same coordinates, so there is only one set of coordinates for the timeline. These extend indefinitely from 0. The times used for editing (including setting start and duration) use these coordinates, since these define when an element is present and for how long the element lasts for in the timeline.
- Internal source coordinates: these are the time coordinates used internally at the element's output. This is only really defined for GESTrackElement-s, where it refers to time coordinates used at the final source pad of the wrapped GstElement-s. However, these coordinates may also be used in a GESClip in reference to its children. In particular, these are the coordinates used for in-point and max-duration.
- Internal sink coordinates: these are the time coordinates used internally at the element's input. A GESSource has no input, so these would be undefined. Otherwise, for most GESTrackElement-s these will be the same set of coordinates as the internal source coordinates because the element does not change the timing internally. Only GESBaseEffect can support elements where these are different. See GESBaseEffect for more information.
You can determine the timeline time for a given internal source time in a GESTrack in a GESClip using ges_clip_get_timeline_time_from_internal_time, and vice versa using ges_clip_get_internal_time_from_timeline_time, for the purposes of editing and setting timings properties.
Children Properties
If a timeline element owns another GstObject and wishes to expose some of its properties, it can do so by registering the property as one of the timeline element's children properties using ges_timeline_element_add_child_property. The registered property of the child can then be read and set using the ges_timeline_element_get_child_property and ges_timeline_element_set_child_property methods, respectively. Some sub-classed objects will be created with pre-registered children properties; for example, to expose part of an underlying GstElement that is used internally. The registered properties can be listed with ges_timeline_element_list_children_properties.
GESTimelineElement
GObject ╰──GInitiallyUnowned ╰──GESTimelineElement ╰──GESContainer ╰──GESTrackElement
All members can be read freely, but should usually not be written to. Subclasses may write to them, but should make sure to properly call g_object_notify.
Members
parent_instance
(GInitiallyUnowned)
–
parent
(GESTimelineElement *)
–
The parent of the element
start
(GstClockTime)
–
The start of the element
inpoint
(GstClockTime)
–
The in-point of the element
duration
(GstClockTime)
–
The duration of the element
maxduration
(GstClockTime)
–
The max-duration of the element
timeline
(GESTimeline *)
–
The timeline of the element
Class structure
GESTimelineElementClass
The GESTimelineElement base class. Subclasses should override at least set_start set_inpoint set_duration ripple ripple_end roll_start roll_end and trim.
Vmethods in subclasses should apply all the operation they need to but the real method implementation is in charge of setting the proper field, and emitting the notify signal.
Fields
parent_class
(GInitiallyUnownedClass)
–
_ges_reserved
(gpointer *)
–
GES.TimelineElementClass
The GES.TimelineElement base class. Subclasses should override at least set_start set_inpoint set_duration ripple ripple_end roll_start roll_end and trim.
Vmethods in subclasses should apply all the operation they need to but the real method implementation is in charge of setting the proper field, and emitting the notify signal.
Attributes
parent_class
(GObject.InitiallyUnownedClass)
–
_ges_reserved
([ Object ])
–
GES.TimelineElementClass
The GES.TimelineElement base class. Subclasses should override at least set_start set_inpoint set_duration ripple ripple_end roll_start roll_end and trim.
Vmethods in subclasses should apply all the operation they need to but the real method implementation is in charge of setting the proper field, and emitting the notify signal.
Attributes
parent_class
(GObject.InitiallyUnownedClass)
–
_ges_reserved
([ object ])
–
GES.TimelineElement
GObject.Object ╰──GObject.InitiallyUnowned ╰──GES.TimelineElement ╰──GES.Container ╰──GES.TrackElement
All members can be read freely, but should usually not be written to. Subclasses may write to them, but should make sure to properly call GObject.Object.prototype.notify.
Members
parent_instance
(GObject.InitiallyUnowned)
–
parent
(GES.TimelineElement)
–
The parent of the element
maxduration
(Number)
–
The max-duration of the element
timeline
(GES.Timeline)
–
The timeline of the element
GES.TimelineElement
GObject.Object ╰──GObject.InitiallyUnowned ╰──GES.TimelineElement ╰──GES.Container ╰──GES.TrackElement
All members can be read freely, but should usually not be written to. Subclasses may write to them, but should make sure to properly call GObject.Object.notify.
Members
parent_instance
(GObject.InitiallyUnowned)
–
parent
(GES.TimelineElement)
–
The parent of the element
maxduration
(int)
–
The max_duration of the element
timeline
(GES.Timeline)
–
The timeline of the element
Methods
ges_timeline_element_add_child_property
gboolean ges_timeline_element_add_child_property (GESTimelineElement * self, GParamSpec * pspec, GObject * child)
Register a property of a child of the element to allow it to be written with ges_timeline_element_set_child_property and read with ges_timeline_element_get_child_property. A change in the property will also appear in the deep-notify signal.
pspec should be unique from other children properties that have been registered on self.
Parameters:
self
–
pspec
–
The specification for the property to add
child
–
The GstObject who the property belongs to
TRUE if the property was successfully registered.
GES.TimelineElement.prototype.add_child_property
function GES.TimelineElement.prototype.add_child_property(pspec: GObject.ParamSpec, child: GObject.Object): {
// javascript wrapper for 'ges_timeline_element_add_child_property'
}
Register a property of a child of the element to allow it to be written with GES.TimelineElement.prototype.set_child_property and read with GES.TimelineElement.prototype.get_child_property. A change in the property will also appear in the deep-notify signal.
pspec should be unique from other children properties that have been registered on self.
GES.TimelineElement.add_child_property
def GES.TimelineElement.add_child_property (self, pspec, child):
#python wrapper for 'ges_timeline_element_add_child_property'
Register a property of a child of the element to allow it to be written with GES.TimelineElement.set_child_property and read with GES.TimelineElement.get_child_property. A change in the property will also appear in the deep-notify signal.
pspec should be unique from other children properties that have been registered on self.
ges_timeline_element_copy
GESTimelineElement * ges_timeline_element_copy (GESTimelineElement * self, gboolean deep)
Create a copy of self. All the properties of self are copied into a new element, with the exception of parent, timeline and name. Other data, such the list of a GESContainer's children, is not copied.
If deep is TRUE, then the new element is prepared so that it can be used in ges_timeline_element_paste or ges_timeline_paste_element. In the case of copying a GESContainer, this ensures that the children of self will also be pasted. The new element should not be used for anything else and can only be used once in a pasting operation. In particular, the new element itself is not an actual 'deep' copy of self, but should be thought of as an intermediate object used for a single paste operation.
The newly create element, copied from self.
GES.TimelineElement.prototype.copy
function GES.TimelineElement.prototype.copy(deep: Number): {
// javascript wrapper for 'ges_timeline_element_copy'
}
Create a copy of self. All the properties of self are copied into a new element, with the exception of parent, timeline and name. Other data, such the list of a GES.Container's children, is not copied.
If deep is true, then the new element is prepared so that it can be used in GES.TimelineElement.prototype.paste or GES.Timeline.prototype.paste_element. In the case of copying a GES.Container, this ensures that the children of self will also be pasted. The new element should not be used for anything else and can only be used once in a pasting operation. In particular, the new element itself is not an actual 'deep' copy of self, but should be thought of as an intermediate object used for a single paste operation.
The newly create element, copied from self.
GES.TimelineElement.copy
def GES.TimelineElement.copy (self, deep):
#python wrapper for 'ges_timeline_element_copy'
Create a copy of self. All the properties of self are copied into a new element, with the exception of parent, timeline and name. Other data, such the list of a GES.Container's children, is not copied.
If deep is True, then the new element is prepared so that it can be used in GES.TimelineElement.paste or GES.Timeline.paste_element. In the case of copying a GES.Container, this ensures that the children of self will also be pasted. The new element should not be used for anything else and can only be used once in a pasting operation. In particular, the new element itself is not an actual 'deep' copy of self, but should be thought of as an intermediate object used for a single paste operation.
The newly create element, copied from self.
ges_timeline_element_edit
gboolean ges_timeline_element_edit (GESTimelineElement * self, GList * layers, gint64 new_layer_priority, GESEditMode mode, GESEdge edge, guint64 position)
See ges_timeline_element_edit_full, which also gives an error.
Note that the layers argument is currently ignored, so you should just pass NULL.
Parameters:
self
–
The GESTimelineElement 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 self should be moved to. -1 means no move
mode
–
The edit mode
edge
–
The edge of self where the edit should occur
position
–
The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates
Since : 1.18
GES.TimelineElement.prototype.edit
function GES.TimelineElement.prototype.edit(layers: [ GES.Layer ], new_layer_priority: Number, mode: GES.EditMode, edge: GES.Edge, position: Number): {
// javascript wrapper for 'ges_timeline_element_edit'
}
See GES.TimelineElement.prototype.edit_full, which also gives an error.
Note that the layers argument is currently ignored, so you should just pass null.
Parameters:
The GES.TimelineElement 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 self should be moved to. -1 means no move
The edit mode
The edge of self where the edit should occur
The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates
Since : 1.18
GES.TimelineElement.edit
def GES.TimelineElement.edit (self, layers, new_layer_priority, mode, edge, position):
#python wrapper for 'ges_timeline_element_edit'
See GES.TimelineElement.edit_full, which also gives an error.
Note that the layers argument is currently ignored, so you should just pass None.
Parameters:
The GES.TimelineElement 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 self should be moved to. -1 means no move
The edit mode
The edge of self where the edit should occur
The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates
Since : 1.18
ges_timeline_element_edit_full
gboolean ges_timeline_element_edit_full (GESTimelineElement * self, gint64 new_layer_priority, GESEditMode mode, GESEdge edge, guint64 position, GError ** error)
Edits the element within its timeline by adjusting its start, duration or in-point, and potentially doing the same for other elements in the timeline. See GESEditMode for details about each edit mode. An edit may fail if it would place one of these properties out of bounds, or if it would place the timeline in an unsupported configuration.
Note that if you act on a GESTrackElement, this will edit its parent GESClip instead. Moreover, for any GESTimelineElement, if you select GES_EDGE_NONE for GES_EDIT_MODE_NORMAL or GES_EDIT_MODE_RIPPLE, this will edit the toplevel instead, but still in such a way as to make the start of self reach the edit position.
Note that if the element's timeline has a snapping-distance set, then the edit position may be snapped to the edge of some element under the edited element.
new_layer_priority can be used to switch self, and other elements moved by the edit, to a new layer. New layers may be be created if the the corresponding layer priority/index does not yet exist for the timeline.
Parameters:
self
–
The GESTimelineElement to edit
new_layer_priority
–
The priority/index of the layer self should be moved to. -1 means no move
mode
–
The edit mode
edge
–
The edge of self where the edit should occur
position
–
The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates
error
–
Return location for an error
Since : 1.18
GES.TimelineElement.prototype.edit_full
function GES.TimelineElement.prototype.edit_full(new_layer_priority: Number, mode: GES.EditMode, edge: GES.Edge, position: Number): {
// javascript wrapper for 'ges_timeline_element_edit_full'
}
Edits the element within its timeline by adjusting its start, duration or in-point, and potentially doing the same for other elements in the timeline. See GES.EditMode for details about each edit mode. An edit may fail if it would place one of these properties out of bounds, or if it would place the timeline in an unsupported configuration.
Note that if you act on a GES.TrackElement, this will edit its parent GES.Clip instead. Moreover, for any GES.TimelineElement, if you select GES.Edge.EDGE_NONE for GES.EditMode.EDIT_NORMAL or GES.EditMode.EDIT_RIPPLE, this will edit the toplevel instead, but still in such a way as to make the start of self reach the edit position.
Note that if the element's timeline has a snapping-distance set, then the edit position may be snapped to the edge of some element under the edited element.
new_layer_priority can be used to switch self, and other elements moved by the edit, to a new layer. New layers may be be created if the the corresponding layer priority/index does not yet exist for the timeline.
Parameters:
The GES.TimelineElement to edit
The priority/index of the layer self should be moved to. -1 means no move
The edit mode
The edge of self where the edit should occur
The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates
Since : 1.18
GES.TimelineElement.edit_full
@raises(GLib.GError)
def GES.TimelineElement.edit_full (self, new_layer_priority, mode, edge, position):
#python wrapper for 'ges_timeline_element_edit_full'
Edits the element within its timeline by adjusting its start, duration or in_point, and potentially doing the same for other elements in the timeline. See GES.EditMode for details about each edit mode. An edit may fail if it would place one of these properties out of bounds, or if it would place the timeline in an unsupported configuration.
Note that if you act on a GES.TrackElement, this will edit its parent GES.Clip instead. Moreover, for any GES.TimelineElement, if you select GES.Edge.EDGE_NONE for GES.EditMode.EDIT_NORMAL or GES.EditMode.EDIT_RIPPLE, this will edit the toplevel instead, but still in such a way as to make the start of self reach the edit position.
Note that if the element's timeline has a snapping_distance set, then the edit position may be snapped to the edge of some element under the edited element.
new_layer_priority can be used to switch self, and other elements moved by the edit, to a new layer. New layers may be be created if the the corresponding layer priority/index does not yet exist for the timeline.
Parameters:
The GES.TimelineElement to edit
The priority/index of the layer self should be moved to. -1 means no move
The edit mode
The edge of self where the edit should occur
The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates
Since : 1.18
ges_timeline_element_get_child_properties
ges_timeline_element_get_child_properties (GESTimelineElement * self, const gchar * first_property_name, ... ...)
Gets several of the children properties of the element. See ges_timeline_element_get_child_property.
Parameters:
self
–
first_property_name
–
The name of the first child property to get
...
–
The return location for the first property, followed optionally by more name/return location pairs, followed by NULL
ges_timeline_element_get_child_property
gboolean ges_timeline_element_get_child_property (GESTimelineElement * self, const gchar * property_name, GValue * value)
Gets the property of a child of the element.
property_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to get (as used in g_object_get), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with ges_timeline_element_add_child_property (and of the type "TypeName", if it was given) will have the corresponding property copied into value.
Note that ges_timeline_element_get_child_properties may be more convenient for C programming.
Parameters:
self
–
property_name
–
The name of the child property to get
value
(
[out])
–
The return location for the value
TRUE if the property was found and copied to value.
GES.TimelineElement.prototype.get_child_property
function GES.TimelineElement.prototype.get_child_property(property_name: String): {
// javascript wrapper for 'ges_timeline_element_get_child_property'
}
Gets the property of a child of the element.
property_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to get (as used in g_object_get (not introspectable)), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME (not introspectable)). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with GES.TimelineElement.prototype.add_child_property (and of the type "TypeName", if it was given) will have the corresponding property copied into value.
Note that ges_timeline_element_get_child_properties (not introspectable) may be more convenient for C programming.
Parameters:
The name of the child property to get
Returns a tuple made of:
true if the property was found and copied to value.
GES.TimelineElement.get_child_property
def GES.TimelineElement.get_child_property (self, property_name):
#python wrapper for 'ges_timeline_element_get_child_property'
Gets the property of a child of the element.
property_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to get (as used in g_object_get (not introspectable)), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME (not introspectable)). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with GES.TimelineElement.add_child_property (and of the type "TypeName", if it was given) will have the corresponding property copied into value.
Note that ges_timeline_element_get_child_properties (not introspectable) may be more convenient for C programming.
Parameters:
The name of the child property to get
Returns a tuple made of:
True if the property was found and copied to value.
ges_timeline_element_get_child_property_by_pspec
ges_timeline_element_get_child_property_by_pspec (GESTimelineElement * self, GParamSpec * pspec, GValue * value)
Gets the property of a child of the element. Specifically, the property corresponding to the pspec used in ges_timeline_element_add_child_property is copied into value.
Parameters:
self
–
pspec
–
The specification of a registered child property to get
value
(
[out])
–
The return location for the value
GES.TimelineElement.prototype.get_child_property_by_pspec
function GES.TimelineElement.prototype.get_child_property_by_pspec(pspec: GObject.ParamSpec): {
// javascript wrapper for 'ges_timeline_element_get_child_property_by_pspec'
}
Gets the property of a child of the element. Specifically, the property corresponding to the pspec used in GES.TimelineElement.prototype.add_child_property is copied into value.
Parameters:
The specification of a registered child property to get
GES.TimelineElement.get_child_property_by_pspec
def GES.TimelineElement.get_child_property_by_pspec (self, pspec):
#python wrapper for 'ges_timeline_element_get_child_property_by_pspec'
Gets the property of a child of the element. Specifically, the property corresponding to the pspec used in GES.TimelineElement.add_child_property is copied into value.
Parameters:
The specification of a registered child property to get
ges_timeline_element_get_child_property_valist
ges_timeline_element_get_child_property_valist (GESTimelineElement * self, const gchar * first_property_name, va_list var_args)
Gets several of the children properties of the element. See ges_timeline_element_get_child_property.
Parameters:
self
–
first_property_name
–
The name of the first child property to get
var_args
–
The return location for the first property, followed optionally by more name/return location pairs, followed by NULL
ges_timeline_element_get_duration
GstClockTime ges_timeline_element_get_duration (GESTimelineElement * self)
Gets the duration for the element.
Parameters:
self
–
The duration of self (in nanoseconds).
GES.TimelineElement.prototype.get_duration
function GES.TimelineElement.prototype.get_duration(): {
// javascript wrapper for 'ges_timeline_element_get_duration'
}
Gets the duration for the element.
Parameters:
The duration of self (in nanoseconds).
GES.TimelineElement.get_duration
def GES.TimelineElement.get_duration (self):
#python wrapper for 'ges_timeline_element_get_duration'
Gets the duration for the element.
Parameters:
The duration of self (in nanoseconds).
ges_timeline_element_get_inpoint
GstClockTime ges_timeline_element_get_inpoint (GESTimelineElement * self)
Gets the in-point for the element.
Parameters:
self
–
The in-point of self (in nanoseconds).
GES.TimelineElement.prototype.get_inpoint
function GES.TimelineElement.prototype.get_inpoint(): {
// javascript wrapper for 'ges_timeline_element_get_inpoint'
}
Gets the in-point for the element.
Parameters:
The in-point of self (in nanoseconds).
GES.TimelineElement.get_inpoint
def GES.TimelineElement.get_inpoint (self):
#python wrapper for 'ges_timeline_element_get_inpoint'
Gets the in_point for the element.
Parameters:
The in-point of self (in nanoseconds).
ges_timeline_element_get_layer_priority
guint32 ges_timeline_element_get_layer_priority (GESTimelineElement * self)
Gets the priority of the layer the element is in. A GESGroup may span several layers, so this would return the highest priority (numerically, the smallest) amongst them.
Parameters:
self
–
The priority of the layer self is in, or GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if self does not exist in a layer.
Since : 1.16
GES.TimelineElement.prototype.get_layer_priority
function GES.TimelineElement.prototype.get_layer_priority(): {
// javascript wrapper for 'ges_timeline_element_get_layer_priority'
}
Gets the priority of the layer the element is in. A GES.Group may span several layers, so this would return the highest priority (numerically, the smallest) amongst them.
Parameters:
The priority of the layer self is in, or GES.TIMELINE_ELEMENT_NO_LAYER_PRIORITY if self does not exist in a layer.
Since : 1.16
GES.TimelineElement.get_layer_priority
def GES.TimelineElement.get_layer_priority (self):
#python wrapper for 'ges_timeline_element_get_layer_priority'
Gets the priority of the layer the element is in. A GES.Group may span several layers, so this would return the highest priority (numerically, the smallest) amongst them.
Parameters:
The priority of the layer self is in, or GES.TIMELINE_ELEMENT_NO_LAYER_PRIORITY if self does not exist in a layer.
Since : 1.16
ges_timeline_element_get_max_duration
GstClockTime ges_timeline_element_get_max_duration (GESTimelineElement * self)
Gets the max-duration for the element.
Parameters:
self
–
The max-duration of self (in nanoseconds).
GES.TimelineElement.prototype.get_max_duration
function GES.TimelineElement.prototype.get_max_duration(): {
// javascript wrapper for 'ges_timeline_element_get_max_duration'
}
Gets the max-duration for the element.
Parameters:
The max-duration of self (in nanoseconds).
GES.TimelineElement.get_max_duration
def GES.TimelineElement.get_max_duration (self):
#python wrapper for 'ges_timeline_element_get_max_duration'
Gets the max_duration for the element.
Parameters:
The max-duration of self (in nanoseconds).
ges_timeline_element_get_name
gchar * ges_timeline_element_get_name (GESTimelineElement * self)
Gets the name for the element.
Parameters:
self
–
The name of self.
GES.TimelineElement.prototype.get_name
function GES.TimelineElement.prototype.get_name(): {
// javascript wrapper for 'ges_timeline_element_get_name'
}
Gets the name for the element.
Parameters:
The name of self.
GES.TimelineElement.get_name
def GES.TimelineElement.get_name (self):
#python wrapper for 'ges_timeline_element_get_name'
Gets the name for the element.
Parameters:
The name of self.
ges_timeline_element_get_natural_framerate
gboolean ges_timeline_element_get_natural_framerate (GESTimelineElement * self, gint * framerate_n, gint * framerate_d)
Get the "natural" framerate of self. This is to say, for example for a GESVideoUriSource the framerate of the source.
Note that a GESAudioSource may also have a natural framerate if it derives from the same GESSourceClip asset as a GESVideoSource, and its value will be that of the video source. For example, if the uri of a GESUriClip points to a file that contains both a video and audio stream, then the corresponding GESAudioUriSource will share the natural framerate of the corresponding GESVideoUriSource.
Parameters:
self
–
The GESTimelineElement to get "natural" framerate from
framerate_n
(
[out])
–
The framerate numerator
framerate_d
(
[out])
–
The framerate denominator
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Since : 1.18
GES.TimelineElement.prototype.get_natural_framerate
function GES.TimelineElement.prototype.get_natural_framerate(): {
// javascript wrapper for 'ges_timeline_element_get_natural_framerate'
}
Get the "natural" framerate of self. This is to say, for example for a GES.VideoUriSource the framerate of the source.
Note that a GES.AudioSource may also have a natural framerate if it derives from the same GES.SourceClip asset as a GES.VideoSource, and its value will be that of the video source. For example, if the uri of a GES.UriClip points to a file that contains both a video and audio stream, then the corresponding GES.AudioUriSource will share the natural framerate of the corresponding GES.VideoUriSource.
Parameters:
The GES.TimelineElement to get "natural" framerate from
Returns a tuple made of:
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Since : 1.18
GES.TimelineElement.get_natural_framerate
def GES.TimelineElement.get_natural_framerate (self):
#python wrapper for 'ges_timeline_element_get_natural_framerate'
Get the "natural" framerate of self. This is to say, for example for a GES.VideoUriSource the framerate of the source.
Note that a GES.AudioSource may also have a natural framerate if it derives from the same GES.SourceClip asset as a GES.VideoSource, and its value will be that of the video source. For example, if the uri of a GES.UriClip points to a file that contains both a video and audio stream, then the corresponding GES.AudioUriSource will share the natural framerate of the corresponding GES.VideoUriSource.
Parameters:
The GES.TimelineElement to get "natural" framerate from
Returns a tuple made of:
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Whether self has a natural framerate or not, framerate_n and framerate_d will be set to, respectively, 0 and -1 if it is not the case.
Since : 1.18
ges_timeline_element_get_parent
GESTimelineElement * ges_timeline_element_get_parent (GESTimelineElement * self)
Gets the parent for the element.
Parameters:
self
–
The parent of self, or NULL if self has no parent.
GES.TimelineElement.prototype.get_parent
function GES.TimelineElement.prototype.get_parent(): {
// javascript wrapper for 'ges_timeline_element_get_parent'
}
Gets the parent for the element.
Parameters:
The parent of self, or null if self has no parent.
ges_timeline_element_get_priority
guint32 ges_timeline_element_get_priority (GESTimelineElement * self)
Gets the priority for the element.
Parameters:
self
–
The priority of self.
GES.TimelineElement.prototype.get_priority
function GES.TimelineElement.prototype.get_priority(): {
// javascript wrapper for 'ges_timeline_element_get_priority'
}
Gets the priority for the element.
Parameters:
The priority of self.
GES.TimelineElement.get_priority
def GES.TimelineElement.get_priority (self):
#python wrapper for 'ges_timeline_element_get_priority'
Gets the priority for the element.
Parameters:
The priority of self.
ges_timeline_element_get_start
GstClockTime ges_timeline_element_get_start (GESTimelineElement * self)
Gets the start for the element.
Parameters:
self
–
The start of self (in nanoseconds).
GES.TimelineElement.prototype.get_start
function GES.TimelineElement.prototype.get_start(): {
// javascript wrapper for 'ges_timeline_element_get_start'
}
Gets the start for the element.
Parameters:
The start of self (in nanoseconds).
GES.TimelineElement.get_start
def GES.TimelineElement.get_start (self):
#python wrapper for 'ges_timeline_element_get_start'
Gets the start for the element.
Parameters:
The start of self (in nanoseconds).
ges_timeline_element_get_timeline
GESTimeline * ges_timeline_element_get_timeline (GESTimelineElement * self)
Gets the timeline for the element.
Parameters:
self
–
The timeline of self, or NULL if self has no timeline.
GES.TimelineElement.prototype.get_timeline
function GES.TimelineElement.prototype.get_timeline(): {
// javascript wrapper for 'ges_timeline_element_get_timeline'
}
Gets the timeline for the element.
Parameters:
The timeline of self, or null if self has no timeline.
ges_timeline_element_get_toplevel_parent
GESTimelineElement * ges_timeline_element_get_toplevel_parent (GESTimelineElement * self)
Gets the toplevel parent of the element.
Parameters:
self
–
The GESTimelineElement to get the toplevel parent from
The toplevel parent of self.
GES.TimelineElement.prototype.get_toplevel_parent
function GES.TimelineElement.prototype.get_toplevel_parent(): {
// javascript wrapper for 'ges_timeline_element_get_toplevel_parent'
}
Gets the toplevel parent of the element.
Parameters:
The GES.TimelineElement to get the toplevel parent from
The toplevel parent of self.
GES.TimelineElement.get_toplevel_parent
def GES.TimelineElement.get_toplevel_parent (self):
#python wrapper for 'ges_timeline_element_get_toplevel_parent'
Gets the toplevel parent of the element.
Parameters:
The GES.TimelineElement to get the toplevel parent from
The toplevel parent of self.
ges_timeline_element_get_track_types
GESTrackType ges_timeline_element_get_track_types (GESTimelineElement * self)
Gets the track types that the element can interact with, i.e. the type of GESTrack it can exist in, or will create GESTrackElement-s for.
Parameters:
self
–
The track types that self supports.
Since : 1.6.0
GES.TimelineElement.prototype.get_track_types
function GES.TimelineElement.prototype.get_track_types(): {
// javascript wrapper for 'ges_timeline_element_get_track_types'
}
Gets the track types that the element can interact with, i.e. the type of GES.Track it can exist in, or will create GES.TrackElement-s for.
Parameters:
The track types that self supports.
Since : 1.6.0
GES.TimelineElement.get_track_types
def GES.TimelineElement.get_track_types (self):
#python wrapper for 'ges_timeline_element_get_track_types'
Gets the track types that the element can interact with, i.e. the type of GES.Track it can exist in, or will create GES.TrackElement-s for.
Parameters:
The track types that self supports.
Since : 1.6.0
ges_timeline_element_list_children_properties
GParamSpec ** ges_timeline_element_list_children_properties (GESTimelineElement * self, guint * n_properties)
Get a list of children properties of the element, which is a list of all the specifications passed to ges_timeline_element_add_child_property.
Parameters:
self
–
n_properties
(
[out])
–
The return location for the length of the returned array
An array of GParamSpec corresponding to the child properties of self, or NULL if something went wrong.
GES.TimelineElement.prototype.list_children_properties
function GES.TimelineElement.prototype.list_children_properties(): {
// javascript wrapper for 'ges_timeline_element_list_children_properties'
}
Get a list of children properties of the element, which is a list of all the specifications passed to GES.TimelineElement.prototype.add_child_property.
Parameters:
Returns a tuple made of:
An array of GObject.ParamSpec corresponding to the child properties of self, or null if something went wrong.
An array of GObject.ParamSpec corresponding to the child properties of self, or null if something went wrong.
GES.TimelineElement.list_children_properties
def GES.TimelineElement.list_children_properties (self):
#python wrapper for 'ges_timeline_element_list_children_properties'
Get a list of children properties of the element, which is a list of all the specifications passed to GES.TimelineElement.add_child_property.
Parameters:
Returns a tuple made of:
An array of GObject.ParamSpec corresponding to the child properties of self, or None if something went wrong.
An array of GObject.ParamSpec corresponding to the child properties of self, or None if something went wrong.
ges_timeline_element_lookup_child
gboolean ges_timeline_element_lookup_child (GESTimelineElement * self, const gchar * prop_name, GObject ** child, GParamSpec ** pspec)
Looks up a child property of the element.
prop_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to look up (as used in g_object_get), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with ges_timeline_element_add_child_property (and of the type "TypeName", if it was given) will be passed to child, and the registered specification of this property will be passed to pspec.
Parameters:
self
–
prop_name
–
The name of a child property
child
(
[out][optional][transfer: full])
–
The return location for the found child
pspec
(
[out][optional][transfer: full])
–
The return location for the specification of the child property
TRUE if a child corresponding to the property was found, in which case child and pspec are set.
GES.TimelineElement.prototype.lookup_child
function GES.TimelineElement.prototype.lookup_child(prop_name: String): {
// javascript wrapper for 'ges_timeline_element_lookup_child'
}
Looks up a child property of the element.
prop_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to look up (as used in g_object_get (not introspectable)), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME (not introspectable)). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with GES.TimelineElement.prototype.add_child_property (and of the type "TypeName", if it was given) will be passed to child, and the registered specification of this property will be passed to pspec.
Parameters:
The name of a child property
Returns a tuple made of:
true if a child corresponding to the property was found, in which case child and pspec are set.
true if a child corresponding to the property was found, in which case child and pspec are set.
true if a child corresponding to the property was found, in which case child and pspec are set.
GES.TimelineElement.lookup_child
def GES.TimelineElement.lookup_child (self, prop_name):
#python wrapper for 'ges_timeline_element_lookup_child'
Looks up a child property of the element.
prop_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to look up (as used in g_object_get (not introspectable)), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME (not introspectable)). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with GES.TimelineElement.add_child_property (and of the type "TypeName", if it was given) will be passed to child, and the registered specification of this property will be passed to pspec.
Parameters:
The name of a child property
Returns a tuple made of:
True if a child corresponding to the property was found, in which case child and pspec are set.
True if a child corresponding to the property was found, in which case child and pspec are set.
True if a child corresponding to the property was found, in which case child and pspec are set.
ges_timeline_element_paste
GESTimelineElement * ges_timeline_element_paste (GESTimelineElement * self, GstClockTime paste_position)
Paste an element inside the same timeline and layer as self. self
**must** be the return of ges_timeline_element_copy with deep=TRUE
,
and it should not be changed before pasting.
self is not placed in the timeline, instead a new element is created,
alike to the originally copied element. Note that the originally
copied element must stay within the same timeline and layer, at both
the point of copying and pasting.
Pasting may fail if it would place the timeline in an unsupported configuration.
After calling this function element should not be used. In particular, element can not be pasted again. Instead, you can copy the returned element and paste that copy (although, this is only possible if the paste was successful).
See also ges_timeline_paste_element.
Parameters:
self
–
The GESTimelineElement to paste
paste_position
–
The position in the timeline element should be pasted to, i.e. the start value for the pasted element.
The newly created element, or NULL if pasting fails.
Since : 1.6.0
GES.TimelineElement.prototype.paste
function GES.TimelineElement.prototype.paste(paste_position: Number): {
// javascript wrapper for 'ges_timeline_element_paste'
}
Paste an element inside the same timeline and layer as self. self
**must** be the return of GES.TimelineElement.prototype.copy with deep=TRUE
,
and it should not be changed before pasting.
self is not placed in the timeline, instead a new element is created,
alike to the originally copied element. Note that the originally
copied element must stay within the same timeline and layer, at both
the point of copying and pasting.
Pasting may fail if it would place the timeline in an unsupported configuration.
After calling this function element should not be used. In particular, element can not be pasted again. Instead, you can copy the returned element and paste that copy (although, this is only possible if the paste was successful).
See also GES.Timeline.prototype.paste_element.
Parameters:
The GES.TimelineElement to paste
The newly created element, or null if pasting fails.
Since : 1.6.0
GES.TimelineElement.paste
def GES.TimelineElement.paste (self, paste_position):
#python wrapper for 'ges_timeline_element_paste'
Paste an element inside the same timeline and layer as self. self
**must** be the return of GES.TimelineElement.copy with deep=TRUE
,
and it should not be changed before pasting.
self is not placed in the timeline, instead a new element is created,
alike to the originally copied element. Note that the originally
copied element must stay within the same timeline and layer, at both
the point of copying and pasting.
Pasting may fail if it would place the timeline in an unsupported configuration.
After calling this function element should not be used. In particular, element can not be pasted again. Instead, you can copy the returned element and paste that copy (although, this is only possible if the paste was successful).
See also GES.Timeline.paste_element.
Parameters:
The GES.TimelineElement to paste
The newly created element, or None if pasting fails.
Since : 1.6.0
ges_timeline_element_remove_child_property
gboolean ges_timeline_element_remove_child_property (GESTimelineElement * self, GParamSpec * pspec)
Remove a child property from the element. pspec should be a specification that was passed to ges_timeline_element_add_child_property. The corresponding property will no longer be registered as a child property for the element.
TRUE if the property was successfully un-registered for self.
GES.TimelineElement.prototype.remove_child_property
function GES.TimelineElement.prototype.remove_child_property(pspec: GObject.ParamSpec): {
// javascript wrapper for 'ges_timeline_element_remove_child_property'
}
Remove a child property from the element. pspec should be a specification that was passed to GES.TimelineElement.prototype.add_child_property. The corresponding property will no longer be registered as a child property for the element.
Parameters:
The specification for the property to remove
GES.TimelineElement.remove_child_property
def GES.TimelineElement.remove_child_property (self, pspec):
#python wrapper for 'ges_timeline_element_remove_child_property'
Remove a child property from the element. pspec should be a specification that was passed to GES.TimelineElement.add_child_property. The corresponding property will no longer be registered as a child property for the element.
Parameters:
The specification for the property to remove
ges_timeline_element_ripple
gboolean ges_timeline_element_ripple (GESTimelineElement * self, GstClockTime start)
Edits the start time of an element within its timeline in ripple mode. See ges_timeline_element_edit with GES_EDIT_MODE_RIPPLE and GES_EDGE_NONE.
Parameters:
self
–
The GESTimelineElement to ripple
start
–
The new start time of self in ripple mode
GES.TimelineElement.prototype.ripple
function GES.TimelineElement.prototype.ripple(start: Number): {
// javascript wrapper for 'ges_timeline_element_ripple'
}
Edits the start time of an element within its timeline in ripple mode. See GES.TimelineElement.prototype.edit with GES.EditMode.EDIT_RIPPLE and GES.Edge.EDGE_NONE.
GES.TimelineElement.ripple
def GES.TimelineElement.ripple (self, start):
#python wrapper for 'ges_timeline_element_ripple'
Edits the start time of an element within its timeline in ripple mode. See GES.TimelineElement.edit with GES.EditMode.EDIT_RIPPLE and GES.Edge.EDGE_NONE.
ges_timeline_element_ripple_end
gboolean ges_timeline_element_ripple_end (GESTimelineElement * self, GstClockTime end)
Edits the end time of an element within its timeline in ripple mode. See ges_timeline_element_edit with GES_EDIT_MODE_RIPPLE and GES_EDGE_END.
GES.TimelineElement.prototype.ripple_end
function GES.TimelineElement.prototype.ripple_end(end: Number): {
// javascript wrapper for 'ges_timeline_element_ripple_end'
}
Edits the end time of an element within its timeline in ripple mode. See GES.TimelineElement.prototype.edit with GES.EditMode.EDIT_RIPPLE and GES.Edge.EDGE_END.
GES.TimelineElement.ripple_end
def GES.TimelineElement.ripple_end (self, end):
#python wrapper for 'ges_timeline_element_ripple_end'
Edits the end time of an element within its timeline in ripple mode. See GES.TimelineElement.edit with GES.EditMode.EDIT_RIPPLE and GES.Edge.EDGE_END.
ges_timeline_element_roll_end
gboolean ges_timeline_element_roll_end (GESTimelineElement * self, GstClockTime end)
Edits the end time of an element within its timeline in roll mode. See ges_timeline_element_edit with GES_EDIT_MODE_ROLL and GES_EDGE_END.
GES.TimelineElement.prototype.roll_end
function GES.TimelineElement.prototype.roll_end(end: Number): {
// javascript wrapper for 'ges_timeline_element_roll_end'
}
Edits the end time of an element within its timeline in roll mode. See GES.TimelineElement.prototype.edit with GES.EditMode.EDIT_ROLL and GES.Edge.EDGE_END.
GES.TimelineElement.roll_end
def GES.TimelineElement.roll_end (self, end):
#python wrapper for 'ges_timeline_element_roll_end'
Edits the end time of an element within its timeline in roll mode. See GES.TimelineElement.edit with GES.EditMode.EDIT_ROLL and GES.Edge.EDGE_END.
ges_timeline_element_roll_start
gboolean ges_timeline_element_roll_start (GESTimelineElement * self, GstClockTime start)
Edits the start time of an element within its timeline in roll mode. See ges_timeline_element_edit with GES_EDIT_MODE_ROLL and GES_EDGE_START.
GES.TimelineElement.prototype.roll_start
function GES.TimelineElement.prototype.roll_start(start: Number): {
// javascript wrapper for 'ges_timeline_element_roll_start'
}
Edits the start time of an element within its timeline in roll mode. See GES.TimelineElement.prototype.edit with GES.EditMode.EDIT_ROLL and GES.Edge.EDGE_START.
GES.TimelineElement.roll_start
def GES.TimelineElement.roll_start (self, start):
#python wrapper for 'ges_timeline_element_roll_start'
Edits the start time of an element within its timeline in roll mode. See GES.TimelineElement.edit with GES.EditMode.EDIT_ROLL and GES.Edge.EDGE_START.
ges_timeline_element_set_child_properties
ges_timeline_element_set_child_properties (GESTimelineElement * self, const gchar * first_property_name, ... ...)
Sets several of the children properties of the element. See ges_timeline_element_set_child_property.
Parameters:
self
–
first_property_name
–
The name of the first child property to set
...
–
The value for the first property, followed optionally by more name/value pairs, followed by NULL
ges_timeline_element_set_child_property
gboolean ges_timeline_element_set_child_property (GESTimelineElement * self, const gchar * property_name, const GValue * value)
See ges_timeline_element_set_child_property_full, which also gives an error.
Note that ges_timeline_element_set_child_properties may be more convenient for C programming.
Parameters:
self
–
property_name
–
The name of the child property to set
value
–
The value to set the property to
TRUE if the property was found and set.
GES.TimelineElement.prototype.set_child_property
function GES.TimelineElement.prototype.set_child_property(property_name: String, value: GObject.Value): {
// javascript wrapper for 'ges_timeline_element_set_child_property'
}
See GES.TimelineElement.prototype.set_child_property_full, which also gives an error.
Note that ges_timeline_element_set_child_properties (not introspectable) may be more convenient for C programming.
Parameters:
The name of the child property to set
The value to set the property to
GES.TimelineElement.set_child_property
def GES.TimelineElement.set_child_property (self, property_name, value):
#python wrapper for 'ges_timeline_element_set_child_property'
See GES.TimelineElement.set_child_property_full, which also gives an error.
Note that ges_timeline_element_set_child_properties (not introspectable) may be more convenient for C programming.
Parameters:
The name of the child property to set
The value to set the property to
ges_timeline_element_set_child_property_by_pspec
ges_timeline_element_set_child_property_by_pspec (GESTimelineElement * self, GParamSpec * pspec, const GValue * value)
Sets the property of a child of the element. Specifically, the property corresponding to the pspec used in ges_timeline_element_add_child_property is set to value.
Parameters:
self
–
pspec
–
The specification of a registered child property to set
value
–
The value to set the property to
GES.TimelineElement.prototype.set_child_property_by_pspec
function GES.TimelineElement.prototype.set_child_property_by_pspec(pspec: GObject.ParamSpec, value: GObject.Value): {
// javascript wrapper for 'ges_timeline_element_set_child_property_by_pspec'
}
Sets the property of a child of the element. Specifically, the property corresponding to the pspec used in GES.TimelineElement.prototype.add_child_property is set to value.
Parameters:
The specification of a registered child property to set
The value to set the property to
GES.TimelineElement.set_child_property_by_pspec
def GES.TimelineElement.set_child_property_by_pspec (self, pspec, value):
#python wrapper for 'ges_timeline_element_set_child_property_by_pspec'
Sets the property of a child of the element. Specifically, the property corresponding to the pspec used in GES.TimelineElement.add_child_property is set to value.
Parameters:
The specification of a registered child property to set
The value to set the property to
ges_timeline_element_set_child_property_full
gboolean ges_timeline_element_set_child_property_full (GESTimelineElement * self, const gchar * property_name, const GValue * value, GError ** error)
Sets the property of a child of the element.
property_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to set (as used in g_object_set), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with ges_timeline_element_add_child_property (and of the type "TypeName", if it was given) will have the corresponding property set to value. Other children that may have also matched the property name (and type name) are left unchanged!
Parameters:
self
–
property_name
–
The name of the child property to set
value
–
The value to set the property to
error
(
[nullable])
–
Return location for an error
TRUE if the property was found and set.
Since : 1.18
GES.TimelineElement.prototype.set_child_property_full
function GES.TimelineElement.prototype.set_child_property_full(property_name: String, value: GObject.Value): {
// javascript wrapper for 'ges_timeline_element_set_child_property_full'
}
Sets the property of a child of the element.
property_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to set (as used in g_object_set (not introspectable)), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME (not introspectable)). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with GES.TimelineElement.prototype.add_child_property (and of the type "TypeName", if it was given) will have the corresponding property set to value. Other children that may have also matched the property name (and type name) are left unchanged!
Parameters:
The name of the child property to set
The value to set the property to
Since : 1.18
GES.TimelineElement.set_child_property_full
@raises(GLib.GError)
def GES.TimelineElement.set_child_property_full (self, property_name, value):
#python wrapper for 'ges_timeline_element_set_child_property_full'
Sets the property of a child of the element.
property_name can either be in the format "prop-name" or "TypeName::prop-name", where "prop-name" is the name of the property to set (as used in g_object_set (not introspectable)), and "TypeName" is the type name of the child (as returned by G_OBJECT_TYPE_NAME (not introspectable)). The latter format is useful when two children of different types share the same property name.
The first child found with the given "prop-name" property that was registered with GES.TimelineElement.add_child_property (and of the type "TypeName", if it was given) will have the corresponding property set to value. Other children that may have also matched the property name (and type name) are left unchanged!
Parameters:
The name of the child property to set
The value to set the property to
Since : 1.18
ges_timeline_element_set_child_property_valist
ges_timeline_element_set_child_property_valist (GESTimelineElement * self, const gchar * first_property_name, va_list var_args)
Sets several of the children properties of the element. See ges_timeline_element_set_child_property.
Parameters:
self
–
first_property_name
–
The name of the first child property to set
var_args
–
The value for the first property, followed optionally by more name/value pairs, followed by NULL
ges_timeline_element_set_duration
gboolean ges_timeline_element_set_duration (GESTimelineElement * self, GstClockTime duration)
Sets duration for the element.
Whilst the element is part of a GESTimeline, this is the same as editing the element with ges_timeline_element_edit under GES_EDIT_MODE_TRIM with GES_EDGE_END. In particular, the duration of the element may be snapped to a different timeline time difference from the one given. In addition, setting may fail if it would place the timeline in an unsupported configuration, or the element does not have enough internal content to last the desired duration.
TRUE if duration could be set for self.
GES.TimelineElement.prototype.set_duration
function GES.TimelineElement.prototype.set_duration(duration: Number): {
// javascript wrapper for 'ges_timeline_element_set_duration'
}
Sets duration for the element.
Whilst the element is part of a GES.Timeline, this is the same as editing the element with GES.TimelineElement.prototype.edit under GES.EditMode.EDIT_TRIM with GES.Edge.EDGE_END. In particular, the duration of the element may be snapped to a different timeline time difference from the one given. In addition, setting may fail if it would place the timeline in an unsupported configuration, or the element does not have enough internal content to last the desired duration.
Parameters:
The desired duration in its timeline
GES.TimelineElement.set_duration
def GES.TimelineElement.set_duration (self, duration):
#python wrapper for 'ges_timeline_element_set_duration'
Sets duration for the element.
Whilst the element is part of a GES.Timeline, this is the same as editing the element with GES.TimelineElement.edit under GES.EditMode.EDIT_TRIM with GES.Edge.EDGE_END. In particular, the duration of the element may be snapped to a different timeline time difference from the one given. In addition, setting may fail if it would place the timeline in an unsupported configuration, or the element does not have enough internal content to last the desired duration.
Parameters:
The desired duration in its timeline
ges_timeline_element_set_inpoint
gboolean ges_timeline_element_set_inpoint (GESTimelineElement * self, GstClockTime inpoint)
Sets in-point for the element. If the new in-point is above the current max-duration of the element, this method will fail.
TRUE if inpoint could be set for self.
GES.TimelineElement.prototype.set_inpoint
function GES.TimelineElement.prototype.set_inpoint(inpoint: Number): {
// javascript wrapper for 'ges_timeline_element_set_inpoint'
}
Sets in-point for the element. If the new in-point is above the current max-duration of the element, this method will fail.
Parameters:
The in-point, in internal time coordinates
GES.TimelineElement.set_inpoint
def GES.TimelineElement.set_inpoint (self, inpoint):
#python wrapper for 'ges_timeline_element_set_inpoint'
Sets in_point for the element. If the new in-point is above the current max_duration of the element, this method will fail.
Parameters:
The in-point, in internal time coordinates
ges_timeline_element_set_max_duration
gboolean ges_timeline_element_set_max_duration (GESTimelineElement * self, GstClockTime maxduration)
Sets max-duration for the element. If the new maximum duration is below the current in-point of the element, this method will fail.
Parameters:
self
–
maxduration
–
The maximum duration, in internal time coordinates
TRUE if maxduration could be set for self.
GES.TimelineElement.prototype.set_max_duration
function GES.TimelineElement.prototype.set_max_duration(maxduration: Number): {
// javascript wrapper for 'ges_timeline_element_set_max_duration'
}
Sets max-duration for the element. If the new maximum duration is below the current in-point of the element, this method will fail.
Parameters:
The maximum duration, in internal time coordinates
GES.TimelineElement.set_max_duration
def GES.TimelineElement.set_max_duration (self, maxduration):
#python wrapper for 'ges_timeline_element_set_max_duration'
Sets max_duration for the element. If the new maximum duration is below the current in_point of the element, this method will fail.
Parameters:
The maximum duration, in internal time coordinates
ges_timeline_element_set_name
gboolean ges_timeline_element_set_name (GESTimelineElement * self, const gchar * name)
Sets the name for the element. If NULL is given for name, then the library will instead generate a new name based on the type name of the element, such as the name "uriclip3" for a GESUriClip, and will set that name instead.
If self already has a timeline, you should not call this function with name set to NULL.
You should ensure that, within each GESTimeline, every element has a unique name. If you call this function with name as NULL, then the library should ensure that the set generated name is unique from previously generated names. However, if you choose a name that interferes with the naming conventions of the library, the library will attempt to ensure that the generated names will not conflict with the chosen name, which may lead to a different name being set instead, but the uniqueness between generated and user-chosen names is not guaranteed.
TRUE if name or a generated name for self could be set.
GES.TimelineElement.prototype.set_name
function GES.TimelineElement.prototype.set_name(name: String): {
// javascript wrapper for 'ges_timeline_element_set_name'
}
Sets the name for the element. If null is given for name, then the library will instead generate a new name based on the type name of the element, such as the name "uriclip3" for a GES.UriClip, and will set that name instead.
If self already has a timeline, you should not call this function with name set to null.
You should ensure that, within each GES.Timeline, every element has a unique name. If you call this function with name as null, then the library should ensure that the set generated name is unique from previously generated names. However, if you choose a name that interferes with the naming conventions of the library, the library will attempt to ensure that the generated names will not conflict with the chosen name, which may lead to a different name being set instead, but the uniqueness between generated and user-chosen names is not guaranteed.
Parameters:
The name self should take
GES.TimelineElement.set_name
def GES.TimelineElement.set_name (self, name):
#python wrapper for 'ges_timeline_element_set_name'
Sets the name for the element. If None is given for name, then the library will instead generate a new name based on the type name of the element, such as the name "uriclip3" for a GES.UriClip, and will set that name instead.
If self already has a timeline, you should not call this function with name set to None.
You should ensure that, within each GES.Timeline, every element has a unique name. If you call this function with name as None, then the library should ensure that the set generated name is unique from previously generated names. However, if you choose a name that interferes with the naming conventions of the library, the library will attempt to ensure that the generated names will not conflict with the chosen name, which may lead to a different name being set instead, but the uniqueness between generated and user-chosen names is not guaranteed.
Parameters:
The name self should take
ges_timeline_element_set_parent
gboolean ges_timeline_element_set_parent (GESTimelineElement * self, GESTimelineElement * parent)
Sets the parent for the element.
This is used internally and you should normally not call this. A GESContainer will set the parent of its children in ges_container_add and ges_container_remove.
Note, if parent is not NULL, self must not already have a parent set. Therefore, if you wish to switch parents, you will need to call this function twice: first to set the parent to NULL, and then to the new parent.
If parent is not NULL, you must ensure it already has a (non-floating) reference to self before calling this.
Parameters:
self
–
A GESTimelineElement parent (nullable): New parent of self
parent
–
TRUE if parent could be set for self.
GES.TimelineElement.prototype.set_parent
function GES.TimelineElement.prototype.set_parent(parent: GES.TimelineElement): {
// javascript wrapper for 'ges_timeline_element_set_parent'
}
Sets the parent for the element.
This is used internally and you should normally not call this. A GES.Container will set the parent of its children in GES.Container.prototype.add and GES.Container.prototype.remove.
Note, if parent is not null, self must not already have a parent set. Therefore, if you wish to switch parents, you will need to call this function twice: first to set the parent to null, and then to the new parent.
If parent is not null, you must ensure it already has a (non-floating) reference to self before calling this.
GES.TimelineElement.set_parent
def GES.TimelineElement.set_parent (self, parent):
#python wrapper for 'ges_timeline_element_set_parent'
Sets the parent for the element.
This is used internally and you should normally not call this. A GES.Container will set the parent of its children in GES.Container.add and GES.Container.remove.
Note, if parent is not None, self must not already have a parent set. Therefore, if you wish to switch parents, you will need to call this function twice: first to set the parent to None, and then to the new parent.
If parent is not None, you must ensure it already has a (non-floating) reference to self before calling this.
ges_timeline_element_set_priority
gboolean ges_timeline_element_set_priority (GESTimelineElement * self, guint32 priority)
Sets the priority of the element within the containing layer.
TRUE if priority could be set for self.
deprecated : 1.10: All priority management is done by GES itself now. To set #GESEffect priorities #ges_clip_set_top_effect_index should be used.
GES.TimelineElement.prototype.set_priority
function GES.TimelineElement.prototype.set_priority(priority: Number): {
// javascript wrapper for 'ges_timeline_element_set_priority'
}
Sets the priority of the element within the containing layer.
deprecated : 1.10: All priority management is done by GES itself now. To set #GESEffect priorities #ges_clip_set_top_effect_index should be used.
GES.TimelineElement.set_priority
def GES.TimelineElement.set_priority (self, priority):
#python wrapper for 'ges_timeline_element_set_priority'
Sets the priority of the element within the containing layer.
deprecated : 1.10: All priority management is done by GES itself now. To set #GESEffect priorities #ges_clip_set_top_effect_index should be used.
ges_timeline_element_set_start
gboolean ges_timeline_element_set_start (GESTimelineElement * self, GstClockTime start)
Sets start for the element. If the element has a parent, this will also move its siblings with the same shift.
Whilst the element is part of a GESTimeline, this is the same as editing the element with ges_timeline_element_edit under GES_EDIT_MODE_NORMAL with GES_EDGE_NONE. In particular, the start of the element may be snapped to a different timeline time from the one given. In addition, setting may fail if it would place the timeline in an unsupported configuration.
Parameters:
self
–
start
–
The desired start position of the element in its timeline
TRUE if start could be set for self.
GES.TimelineElement.prototype.set_start
function GES.TimelineElement.prototype.set_start(start: Number): {
// javascript wrapper for 'ges_timeline_element_set_start'
}
Sets start for the element. If the element has a parent, this will also move its siblings with the same shift.
Whilst the element is part of a GES.Timeline, this is the same as editing the element with GES.TimelineElement.prototype.edit under GES.EditMode.EDIT_NORMAL with GES.Edge.EDGE_NONE. In particular, the start of the element may be snapped to a different timeline time from the one given. In addition, setting may fail if it would place the timeline in an unsupported configuration.
Parameters:
The desired start position of the element in its timeline
GES.TimelineElement.set_start
def GES.TimelineElement.set_start (self, start):
#python wrapper for 'ges_timeline_element_set_start'
Sets start for the element. If the element has a parent, this will also move its siblings with the same shift.
Whilst the element is part of a GES.Timeline, this is the same as editing the element with GES.TimelineElement.edit under GES.EditMode.EDIT_NORMAL with GES.Edge.EDGE_NONE. In particular, the start of the element may be snapped to a different timeline time from the one given. In addition, setting may fail if it would place the timeline in an unsupported configuration.
Parameters:
The desired start position of the element in its timeline
ges_timeline_element_set_timeline
gboolean ges_timeline_element_set_timeline (GESTimelineElement * self, GESTimeline * timeline)
Sets the timeline of the element.
This is used internally and you should normally not call this. A GESClip will have its timeline set through its GESLayer. A GESTrack will similarly take care of setting the timeline of its GESTrackElement-s. A GESGroup will adopt the same timeline as its children.
If timeline is NULL, this will stop its current timeline from tracking it, otherwise timeline will start tracking self. Note, in the latter case, self must not already have a timeline set. Therefore, if you wish to switch timelines, you will need to call this function twice: first to set the timeline to NULL, and then to the new timeline.
Parameters:
self
–
A GESTimelineElement timeline (nullable): The GESTimeline self should be in
timeline
–
TRUE if timeline could be set for self.
GES.TimelineElement.prototype.set_timeline
function GES.TimelineElement.prototype.set_timeline(timeline: GES.Timeline): {
// javascript wrapper for 'ges_timeline_element_set_timeline'
}
Sets the timeline of the element.
This is used internally and you should normally not call this. A GES.Clip will have its timeline set through its GES.Layer. A GES.Track will similarly take care of setting the timeline of its GES.TrackElement-s. A GES.Group will adopt the same timeline as its children.
If timeline is null, this will stop its current timeline from tracking it, otherwise timeline will start tracking self. Note, in the latter case, self must not already have a timeline set. Therefore, if you wish to switch timelines, you will need to call this function twice: first to set the timeline to null, and then to the new timeline.
Parameters:
A GES.TimelineElement timeline (nullable): The GES.Timeline self should be in
GES.TimelineElement.set_timeline
def GES.TimelineElement.set_timeline (self, timeline):
#python wrapper for 'ges_timeline_element_set_timeline'
Sets the timeline of the element.
This is used internally and you should normally not call this. A GES.Clip will have its timeline set through its GES.Layer. A GES.Track will similarly take care of setting the timeline of its GES.TrackElement-s. A GES.Group will adopt the same timeline as its children.
If timeline is None, this will stop its current timeline from tracking it, otherwise timeline will start tracking self. Note, in the latter case, self must not already have a timeline set. Therefore, if you wish to switch timelines, you will need to call this function twice: first to set the timeline to None, and then to the new timeline.
Parameters:
A GES.TimelineElement timeline (nullable): The GES.Timeline self should be in
ges_timeline_element_trim
gboolean ges_timeline_element_trim (GESTimelineElement * self, GstClockTime start)
Edits the start time of an element within its timeline in trim mode. See ges_timeline_element_edit with GES_EDIT_MODE_TRIM and GES_EDGE_START.
GES.TimelineElement.prototype.trim
function GES.TimelineElement.prototype.trim(start: Number): {
// javascript wrapper for 'ges_timeline_element_trim'
}
Edits the start time of an element within its timeline in trim mode. See GES.TimelineElement.prototype.edit with GES.EditMode.EDIT_TRIM and GES.Edge.EDGE_START.
GES.TimelineElement.trim
def GES.TimelineElement.trim (self, start):
#python wrapper for 'ges_timeline_element_trim'
Edits the start time of an element within its timeline in trim mode. See GES.TimelineElement.edit with GES.EditMode.EDIT_TRIM and GES.Edge.EDGE_START.
Signals
child-property-added
child_property_added_callback (GESTimelineElement * self, GObject * prop_object, GParamSpec * prop, gpointer user_data)
Emitted when the element has a new child property registered. See ges_timeline_element_add_child_property.
Note that some GES elements will be automatically created with pre-registered children properties. You can use ges_timeline_element_list_children_properties to list these.
Parameters:
self
–
prop_object
–
The child whose property has been registered
prop
–
The specification for the property that has been registered
user_data
–
Flags: Run First
Since : 1.18
child-property-added
function child_property_added_callback(self: GES.TimelineElement, prop_object: GObject.Object, prop: GObject.ParamSpec, user_data: Object): {
// javascript callback for the 'child-property-added' signal
}
Emitted when the element has a new child property registered. See GES.TimelineElement.prototype.add_child_property.
Note that some GES elements will be automatically created with pre-registered children properties. You can use GES.TimelineElement.prototype.list_children_properties to list these.
Parameters:
The child whose property has been registered
The specification for the property that has been registered
Flags: Run First
Since : 1.18
child-property-added
def child_property_added_callback (self, prop_object, prop, *user_data):
#python callback for the 'child-property-added' signal
Emitted when the element has a new child property registered. See GES.TimelineElement.add_child_property.
Note that some GES elements will be automatically created with pre-registered children properties. You can use GES.TimelineElement.list_children_properties to list these.
Parameters:
The child whose property has been registered
The specification for the property that has been registered
Flags: Run First
Since : 1.18
child-property-removed
child_property_removed_callback (GESTimelineElement * self, GObject * prop_object, GParamSpec * prop, gpointer user_data)
Emitted when the element has a child property unregistered. See ges_timeline_element_remove_child_property.
Parameters:
self
–
prop_object
–
The child whose property has been unregistered
prop
–
The specification for the property that has been unregistered
user_data
–
Flags: Run First
Since : 1.18
child-property-removed
function child_property_removed_callback(self: GES.TimelineElement, prop_object: GObject.Object, prop: GObject.ParamSpec, user_data: Object): {
// javascript callback for the 'child-property-removed' signal
}
Emitted when the element has a child property unregistered. See GES.TimelineElement.prototype.remove_child_property.
Parameters:
The child whose property has been unregistered
The specification for the property that has been unregistered
Flags: Run First
Since : 1.18
child-property-removed
def child_property_removed_callback (self, prop_object, prop, *user_data):
#python callback for the 'child-property-removed' signal
Emitted when the element has a child property unregistered. See GES.TimelineElement.remove_child_property.
Parameters:
The child whose property has been unregistered
The specification for the property that has been unregistered
Flags: Run First
Since : 1.18
deep-notify
deep_notify_callback (GESTimelineElement * self, GObject * prop_object, GParamSpec * prop, gpointer user_data)
Emitted when a child of the element has one of its registered properties set. See ges_timeline_element_add_child_property. Note that unlike notify, a child property name can not be used as a signal detail.
Parameters:
self
–
prop_object
–
The child whose property has been set
prop
–
The specification for the property that been set
user_data
–
deep-notify
function deep_notify_callback(self: GES.TimelineElement, prop_object: GObject.Object, prop: GObject.ParamSpec, user_data: Object): {
// javascript callback for the 'deep-notify' signal
}
Emitted when a child of the element has one of its registered properties set. See GES.TimelineElement.prototype.add_child_property. Note that unlike notify, a child property name can not be used as a signal detail.
Parameters:
The child whose property has been set
The specification for the property that been set
deep-notify
def deep_notify_callback (self, prop_object, prop, *user_data):
#python callback for the 'deep-notify' signal
Emitted when a child of the element has one of its registered properties set. See GES.TimelineElement.add_child_property. Note that unlike notify, a child property name can not be used as a signal detail.
Parameters:
The child whose property has been set
The specification for the property that been set
Properties
duration
“duration” guint64
The duration that the element is in effect for in the timeline (a time difference in nanoseconds using the time coordinates of the timeline). For example, for a source element, this would determine for how long it should output its internal content for. For an operation element, this would determine for how long its effect should be applied to any source content.
Flags : Read / Write
duration
“duration” Number
The duration that the element is in effect for in the timeline (a time difference in nanoseconds using the time coordinates of the timeline). For example, for a source element, this would determine for how long it should output its internal content for. For an operation element, this would determine for how long its effect should be applied to any source content.
Flags : Read / Write
duration
“self.props.duration” int
The duration that the element is in effect for in the timeline (a time difference in nanoseconds using the time coordinates of the timeline). For example, for a source element, this would determine for how long it should output its internal content for. For an operation element, this would determine for how long its effect should be applied to any source content.
Flags : Read / Write
in-point
“in-point” guint64
The initial offset to use internally when outputting content (in nanoseconds, but in the time coordinates of the internal content).
For example, for a GESVideoUriSource that references some media file, the "internal content" is the media file data, and the in-point would correspond to some timestamp in the media file. When playing the timeline, and when the element is first reached at timeline-time start, it will begin outputting the data from the timestamp in-point onwards, until it reaches the end of its duration in the timeline.
For elements that have no internal content, this should be kept as 0.
Flags : Read / Write
in-point
“in-point” Number
The initial offset to use internally when outputting content (in nanoseconds, but in the time coordinates of the internal content).
For example, for a GES.VideoUriSource that references some media file, the "internal content" is the media file data, and the in-point would correspond to some timestamp in the media file. When playing the timeline, and when the element is first reached at timeline-time start, it will begin outputting the data from the timestamp in-point onwards, until it reaches the end of its duration in the timeline.
For elements that have no internal content, this should be kept as 0.
Flags : Read / Write
in_point
“self.props.in_point” int
The initial offset to use internally when outputting content (in nanoseconds, but in the time coordinates of the internal content).
For example, for a GES.VideoUriSource that references some media file, the "internal content" is the media file data, and the in-point would correspond to some timestamp in the media file. When playing the timeline, and when the element is first reached at timeline-time start, it will begin outputting the data from the timestamp in-point onwards, until it reaches the end of its duration in the timeline.
For elements that have no internal content, this should be kept as 0.
Flags : Read / Write
max-duration
“max-duration” guint64
The full duration of internal content that is available (a time difference in nanoseconds using the time coordinates of the internal content).
This will act as a cap on the in-point of the element (which is in the same time coordinates), and will sometimes be used to limit the duration of the element in the timeline.
For example, for a GESVideoUriSource that references some media file, this would be the length of the media file.
For elements that have no internal content, or whose content is indefinite, this should be kept as GST_CLOCK_TIME_NONE.
Flags : Read / Write / Construct
max-duration
“max-duration” Number
The full duration of internal content that is available (a time difference in nanoseconds using the time coordinates of the internal content).
This will act as a cap on the in-point of the element (which is in the same time coordinates), and will sometimes be used to limit the duration of the element in the timeline.
For example, for a GES.VideoUriSource that references some media file, this would be the length of the media file.
For elements that have no internal content, or whose content is indefinite, this should be kept as Gst.CLOCK_TIME_NONE.
Flags : Read / Write / Construct
max_duration
“self.props.max_duration” int
The full duration of internal content that is available (a time difference in nanoseconds using the time coordinates of the internal content).
This will act as a cap on the in_point of the element (which is in the same time coordinates), and will sometimes be used to limit the duration of the element in the timeline.
For example, for a GES.VideoUriSource that references some media file, this would be the length of the media file.
For elements that have no internal content, or whose content is indefinite, this should be kept as Gst.CLOCK_TIME_NONE.
Flags : Read / Write / Construct
name
“name” gchar *
The name of the element. This should be unique within its timeline.
Flags : Read / Write / Construct
name
“name” String
The name of the element. This should be unique within its timeline.
Flags : Read / Write / Construct
name
“self.props.name” str
The name of the element. This should be unique within its timeline.
Flags : Read / Write / Construct
parent
“self.props.parent” GES.TimelineElement
The parent container of the element.
Flags : Read / Write
priority
“priority” guint
The priority of the element.
Flags : Read / Write
deprecated : 1.10: Priority management is now done by GES itself.
priority
“priority” Number
The priority of the element.
Flags : Read / Write
deprecated : 1.10: Priority management is now done by GES itself.
priority
“self.props.priority” int
The priority of the element.
Flags : Read / Write
deprecated : 1.10: Priority management is now done by GES itself.
serialize
“self.props.serialize” bool
Whether the element should be serialized.
Flags : Read / Write
start
“start” guint64
The starting position of the element in the timeline (in nanoseconds and in the time coordinates of the timeline). For example, for a source element, this would determine the time at which it should start outputting its internal content. For an operation element, this would determine the time at which it should start applying its effect to any source content.
Flags : Read / Write
start
“start” Number
The starting position of the element in the timeline (in nanoseconds and in the time coordinates of the timeline). For example, for a source element, this would determine the time at which it should start outputting its internal content. For an operation element, this would determine the time at which it should start applying its effect to any source content.
Flags : Read / Write
start
“self.props.start” int
The starting position of the element in the timeline (in nanoseconds and in the time coordinates of the timeline). For example, for a source element, this would determine the time at which it should start outputting its internal content. For an operation element, this would determine the time at which it should start applying its effect to any source content.
Flags : Read / Write
timeline
“self.props.timeline” GES.Timeline
The timeline that the element lies within.
Flags : Read / Write
Virtual Methods
deep_copy
deep_copy (GESTimelineElement * self, GESTimelineElement * copy)
Prepare copy for pasting as a copy of self. At least by copying the children properties of self into copy.
Parameters:
self
–
copy
–
vfunc_deep_copy
function vfunc_deep_copy(self: GES.TimelineElement, copy: GES.TimelineElement): {
// javascript implementation of the 'deep_copy' virtual method
}
Prepare copy for pasting as a copy of self. At least by copying the children properties of self into copy.
Parameters:
do_deep_copy
def do_deep_copy (self, copy):
#python implementation of the 'deep_copy' virtual method
Prepare copy for pasting as a copy of self. At least by copying the children properties of self into copy.
Parameters:
get_layer_priority
guint32 get_layer_priority (GESTimelineElement * self)
Get the priority of the layer that this element is part of.
Parameters:
self
–
Since : 1.16
vfunc_get_layer_priority
function vfunc_get_layer_priority(self: GES.TimelineElement): {
// javascript implementation of the 'get_layer_priority' virtual method
}
Get the priority of the layer that this element is part of.
Parameters:
Since : 1.16
do_get_layer_priority
def do_get_layer_priority (self):
#python implementation of the 'get_layer_priority' virtual method
Get the priority of the layer that this element is part of.
Parameters:
Since : 1.16
get_natural_framerate
gboolean get_natural_framerate (GESTimelineElement * self, gint * framerate_n, gint * framerate_d)
Parameters:
self
–
framerate_n
–
The framerate numerator to retrieve
framerate_d
–
The framerate denominator to retrieve
TRUE if self has a natural framerate FALSE otherwise.
Since : 1.18
vfunc_get_natural_framerate
function vfunc_get_natural_framerate(self: GES.TimelineElement): {
// javascript implementation of the 'get_natural_framerate' virtual method
}
Parameters:
Returns a tuple made of:
Since : 1.18
do_get_natural_framerate
def do_get_natural_framerate (self):
#python implementation of the 'get_natural_framerate' virtual method
Parameters:
Returns a tuple made of:
Since : 1.18
get_track_types
GESTrackType get_track_types (GESTimelineElement * self)
Return a the track types for the element.
Parameters:
self
–
vfunc_get_track_types
function vfunc_get_track_types(self: GES.TimelineElement): {
// javascript implementation of the 'get_track_types' virtual method
}
Return a the track types for the element.
Parameters:
do_get_track_types
def do_get_track_types (self):
#python implementation of the 'get_track_types' virtual method
Return a the track types for the element.
Parameters:
list_children_properties
GParamSpec ** list_children_properties (GESTimelineElement * self, guint * n_properties)
List the children properties that have been registered for the element. The default implementation is able to fetch all of these, so should be sufficient. If you overwrite this, you should still call the default implementation to get the full list, and then edit its content.
Parameters:
self
–
n_properties
–
lookup_child
gboolean lookup_child (GESTimelineElement * self, const gchar * prop_name, GObject ** child, GParamSpec ** pspec)
Find child, and its registered child property pspec, corresponding to the child property specified by prop_name. The default implementation will search for the first child that matches. If you overwrite this, you will likely still want to call the default vmethod, which has access to the registered parameter specifications.
Parameters:
self
–
prop_name
–
child
–
pspec
–
vfunc_lookup_child
function vfunc_lookup_child(self: GES.TimelineElement, prop_name: String): {
// javascript implementation of the 'lookup_child' virtual method
}
Find child, and its registered child property pspec, corresponding to the child property specified by prop_name. The default implementation will search for the first child that matches. If you overwrite this, you will likely still want to call the default vmethod, which has access to the registered parameter specifications.
Parameters:
Returns a tuple made of:
do_lookup_child
def do_lookup_child (self, prop_name):
#python implementation of the 'lookup_child' virtual method
Find child, and its registered child property pspec, corresponding to the child property specified by prop_name. The default implementation will search for the first child that matches. If you overwrite this, you will likely still want to call the default vmethod, which has access to the registered parameter specifications.
Parameters:
Returns a tuple made of:
paste
GESTimelineElement * paste (GESTimelineElement * self, GESTimelineElement * ref_element, GstClockTime paste_position)
Paste self, which is the copy prepared by deep_copy, into the timeline at the given paste_position, with ref_element as a reference, which is the self that was passed to deep_copy.
Parameters:
self
–
ref_element
–
paste_position
–
ripple
gboolean ripple (GESTimelineElement * self, guint64 start)
Set this method to overwrite a redirect to ges_timeline_element_edit in ges_timeline_element_ripple.
Parameters:
self
–
start
–
vfunc_ripple
function vfunc_ripple(self: GES.TimelineElement, start: Number): {
// javascript implementation of the 'ripple' virtual method
}
Set this method to overwrite a redirect to GES.TimelineElement.prototype.edit in GES.TimelineElement.prototype.ripple.
Parameters:
do_ripple
def do_ripple (self, start):
#python implementation of the 'ripple' virtual method
Set this method to overwrite a redirect to GES.TimelineElement.edit in GES.TimelineElement.ripple.
Parameters:
ripple_end
gboolean ripple_end (GESTimelineElement * self, guint64 end)
Set this method to overwrite a redirect to ges_timeline_element_edit in ges_timeline_element_ripple_end.
Parameters:
self
–
end
–
vfunc_ripple_end
function vfunc_ripple_end(self: GES.TimelineElement, end: Number): {
// javascript implementation of the 'ripple_end' virtual method
}
Set this method to overwrite a redirect to GES.TimelineElement.prototype.edit in GES.TimelineElement.prototype.ripple_end.
Parameters:
do_ripple_end
def do_ripple_end (self, end):
#python implementation of the 'ripple_end' virtual method
Set this method to overwrite a redirect to GES.TimelineElement.edit in GES.TimelineElement.ripple_end.
Parameters:
roll_end
gboolean roll_end (GESTimelineElement * self, guint64 end)
Set this method to overwrite a redirect to ges_timeline_element_edit in ges_timeline_element_roll_end.
Parameters:
self
–
end
–
vfunc_roll_end
function vfunc_roll_end(self: GES.TimelineElement, end: Number): {
// javascript implementation of the 'roll_end' virtual method
}
Set this method to overwrite a redirect to GES.TimelineElement.prototype.edit in GES.TimelineElement.prototype.roll_end.
Parameters:
do_roll_end
def do_roll_end (self, end):
#python implementation of the 'roll_end' virtual method
Set this method to overwrite a redirect to GES.TimelineElement.edit in GES.TimelineElement.roll_end.
Parameters:
roll_start
gboolean roll_start (GESTimelineElement * self, guint64 start)
Parameters:
self
–
start
–
vfunc_roll_start
function vfunc_roll_start(self: GES.TimelineElement, start: Number): {
// javascript implementation of the 'roll_start' virtual method
}
Parameters:
do_roll_start
def do_roll_start (self, start):
#python implementation of the 'roll_start' virtual method
Parameters:
set_child_property
set_child_property (GESTimelineElement * self, GObject * child, GParamSpec * pspec, GValue * value)
Method for setting the child property given by pspec on child to value. Default implementation will use g_object_set_property.
Parameters:
self
–
child
–
pspec
–
value
–
Since : 1.16
vfunc_set_child_property
function vfunc_set_child_property(self: GES.TimelineElement, child: GObject.Object, pspec: GObject.ParamSpec, value: GObject.Value): {
// javascript implementation of the 'set_child_property' virtual method
}
Method for setting the child property given by pspec on child to value. Default implementation will use GObject.Object.prototype.set_property.
Parameters:
Since : 1.16
do_set_child_property
def do_set_child_property (self, child, pspec, value):
#python implementation of the 'set_child_property' virtual method
Method for setting the child property given by pspec on child to value. Default implementation will use GObject.Object.set_property.
Parameters:
Since : 1.16
set_child_property_full
gboolean set_child_property_full (GESTimelineElement * self, GObject * child, GParamSpec * pspec, const GValue * value, GError ** error)
Similar to set_child_property, except setting can fail, with the error being optionally set. Default implementation will call set_child_property and return TRUE.
Parameters:
self
–
child
–
pspec
–
value
–
error
–
Since : 1.18
vfunc_set_child_property_full
function vfunc_set_child_property_full(self: GES.TimelineElement, child: GObject.Object, pspec: GObject.ParamSpec, value: GObject.Value): {
// javascript implementation of the 'set_child_property_full' virtual method
}
Similar to set_child_property, except setting can fail, with the error being optionally set. Default implementation will call set_child_property and return true.
Parameters:
Since : 1.18
do_set_child_property_full
def do_set_child_property_full (self, child, pspec, value):
#python implementation of the 'set_child_property_full' virtual method
Similar to set_child_property, except setting can fail, with the error being optionally set. Default implementation will call set_child_property and return True.
Parameters:
Since : 1.18
set_duration
gboolean set_duration (GESTimelineElement * self, GstClockTime duration)
Parameters:
self
–
duration
–
vfunc_set_duration
function vfunc_set_duration(self: GES.TimelineElement, duration: Number): {
// javascript implementation of the 'set_duration' virtual method
}
Parameters:
do_set_duration
def do_set_duration (self, duration):
#python implementation of the 'set_duration' virtual method
Parameters:
set_inpoint
gboolean set_inpoint (GESTimelineElement * self, GstClockTime inpoint)
Method called just before the in-point is set to a new value. This method should not set the in-point itself, but should check whether it can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of FALSE means that the property should not be set.
Parameters:
self
–
inpoint
–
vfunc_set_inpoint
function vfunc_set_inpoint(self: GES.TimelineElement, inpoint: Number): {
// javascript implementation of the 'set_inpoint' virtual method
}
Method called just before the in-point is set to a new value. This method should not set the in-point itself, but should check whether it can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of false means that the property should not be set.
Parameters:
do_set_inpoint
def do_set_inpoint (self, inpoint):
#python implementation of the 'set_inpoint' virtual method
Method called just before the in_point is set to a new value. This method should not set the in_point itself, but should check whether it can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of False means that the property should not be set.
Parameters:
set_max_duration
gboolean set_max_duration (GESTimelineElement * self, GstClockTime maxduration)
Method called just before the max-duration is set. This method should not set the max-duration itself, but should check whether it can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of FALSE means that the property should not be set.
Parameters:
self
–
maxduration
–
vfunc_set_max_duration
function vfunc_set_max_duration(self: GES.TimelineElement, maxduration: Number): {
// javascript implementation of the 'set_max_duration' virtual method
}
Method called just before the max-duration is set. This method should not set the max-duration itself, but should check whether it can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of false means that the property should not be set.
Parameters:
do_set_max_duration
def do_set_max_duration (self, maxduration):
#python implementation of the 'set_max_duration' virtual method
Method called just before the max_duration is set. This method should not set the max_duration itself, but should check whether it can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of False means that the property should not be set.
Parameters:
set_parent
gboolean set_parent (GESTimelineElement * self, GESTimelineElement * parent)
Method called just before the parent is set.
Parameters:
self
–
parent
–
vfunc_set_parent
function vfunc_set_parent(self: GES.TimelineElement, parent: GES.TimelineElement): {
// javascript implementation of the 'set_parent' virtual method
}
Method called just before the parent is set.
Parameters:
do_set_parent
def do_set_parent (self, parent):
#python implementation of the 'set_parent' virtual method
Method called just before the parent is set.
Parameters:
set_priority
gboolean set_priority (GESTimelineElement * self, guint32 priority)
Method called just before the priority is set.
Parameters:
self
–
priority
–
vfunc_set_priority
function vfunc_set_priority(self: GES.TimelineElement, priority: Number): {
// javascript implementation of the 'set_priority' virtual method
}
Method called just before the priority is set.
Parameters:
do_set_priority
def do_set_priority (self, priority):
#python implementation of the 'set_priority' virtual method
Method called just before the priority is set.
Parameters:
set_start
gboolean set_start (GESTimelineElement * self, GstClockTime start)
Method called just before the start is set. This method should check whether the start can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of FALSE means that the property should not be set. A return of TRUE means that the property should be set to the value given to the setter and a notify emitted. A return of -1 means that the property should not be set but the setter should still return TRUE (normally because the method already handled setting the value, potentially to a snapped value, and emitted the notify signal). duration is set. This method should check whether the duration can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of FALSE means that the property should not be set. A return of TRUE means that the property should be set to the value given to the setter and a notify emitted. A return of -1 means that the property should not be set but the setter should still return TRUE (normally because the method already handled setting the value, potentially to a snapped value, and emitted the notify signal).
Parameters:
self
–
start
–
vfunc_set_start
function vfunc_set_start(self: GES.TimelineElement, start: Number): {
// javascript implementation of the 'set_start' virtual method
}
Method called just before the start is set. This method should check whether the start can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of false means that the property should not be set. A return of true means that the property should be set to the value given to the setter and a notify emitted. A return of -1 means that the property should not be set but the setter should still return true (normally because the method already handled setting the value, potentially to a snapped value, and emitted the notify signal). duration is set. This method should check whether the duration can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of false means that the property should not be set. A return of true means that the property should be set to the value given to the setter and a notify emitted. A return of -1 means that the property should not be set but the setter should still return true (normally because the method already handled setting the value, potentially to a snapped value, and emitted the notify signal).
Parameters:
do_set_start
def do_set_start (self, start):
#python implementation of the 'set_start' virtual method
Method called just before the start is set. This method should check whether the start can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of False means that the property should not be set. A return of True means that the property should be set to the value given to the setter and a notify emitted. A return of -1 means that the property should not be set but the setter should still return True (normally because the method already handled setting the value, potentially to a snapped value, and emitted the notify signal). duration is set. This method should check whether the duration can be changed to the new value and to otherwise prepare the element in response to what the new value will be. A return of False means that the property should not be set. A return of True means that the property should be set to the value given to the setter and a notify emitted. A return of -1 means that the property should not be set but the setter should still return True (normally because the method already handled setting the value, potentially to a snapped value, and emitted the notify signal).
Parameters:
trim
gboolean trim (GESTimelineElement * self, guint64 start)
Set this method to overwrite a redirect to ges_timeline_element_edit in ges_timeline_element_trim.
Parameters:
self
–
start
–
vfunc_trim
function vfunc_trim(self: GES.TimelineElement, start: Number): {
// javascript implementation of the 'trim' virtual method
}
Set this method to overwrite a redirect to GES.TimelineElement.prototype.edit in GES.TimelineElement.prototype.trim.
Parameters:
do_trim
def do_trim (self, start):
#python implementation of the 'trim' virtual method
Set this method to overwrite a redirect to GES.TimelineElement.edit in GES.TimelineElement.trim.
Parameters:
Function Macros
GES_TIMELINE_ELEMENT_DURATION
#define GES_TIMELINE_ELEMENT_DURATION(obj) (((GESTimelineElement*)obj)->duration)
The duration of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_END
#define GES_TIMELINE_ELEMENT_END(obj) ((((GESTimelineElement*)obj)->start) + (((GESTimelineElement*)obj)->duration))
The end position of obj: start + duration.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_INPOINT
#define GES_TIMELINE_ELEMENT_INPOINT(obj) (((GESTimelineElement*)obj)->inpoint)
The in-point of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_LAYER_PRIORITY
#define GES_TIMELINE_ELEMENT_LAYER_PRIORITY(obj) (ges_timeline_element_get_layer_priority(((GESTimelineElement*)obj)))
See ges_timeline_element_get_layer_priority.
Parameters:
obj
–
The object to retrieve the layer priority from
GES_TIMELINE_ELEMENT_MAX_DURATION
#define GES_TIMELINE_ELEMENT_MAX_DURATION(obj) (((GESTimelineElement*)obj)->maxduration)
The max-duration of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_NAME
#define GES_TIMELINE_ELEMENT_NAME(obj) (((GESTimelineElement*)obj)->name)
The name of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_PARENT
#define GES_TIMELINE_ELEMENT_PARENT(obj) (((GESTimelineElement*)obj)->parent)
The parent of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_PRIORITY
#define GES_TIMELINE_ELEMENT_PRIORITY(obj) (((GESTimelineElement*)obj)->priority)
The priority of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_START
#define GES_TIMELINE_ELEMENT_START(obj) (((GESTimelineElement*)obj)->start)
The start of obj.
Parameters:
obj
–
GES_TIMELINE_ELEMENT_TIMELINE
#define GES_TIMELINE_ELEMENT_TIMELINE(obj) (((GESTimelineElement*)obj)->timeline)
The timeline of obj.
Parameters:
obj
–
Constants
GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY
#define GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY ((guint32) -1)
Layer priority when a timeline element is not in any layer.
GES.TIMELINE_ELEMENT_NO_LAYER_PRIORITY
Layer priority when a timeline element is not in any layer.
GES.TIMELINE_ELEMENT_NO_LAYER_PRIORITY
Layer priority when a timeline element is not in any layer.
The results of the search are