# 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) –
No description available
`parent` (GESTimelineElement *) –

The parent of the element

`asset` (GESAsset *) –

The GESAsset from which the object has been extracted

`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

`priority` (guint32) –

The priority of the element

`timeline` (GESTimeline *) –

The timeline of the element

`name` (gchar *) –

The name 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) –
No description available
`_ges_reserved` (gpointer *) –
No description available

### 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) –
No description available
`_ges_reserved` ([ Object ]) –
No description available

### 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) –
No description available
`_ges_reserved` ([ object ]) –
No description available

## 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) –
No description available
`parent` (GES.TimelineElement) –

The parent of the element

`asset` (GES.Asset) –

The GES.Asset from which the object has been extracted

`start` (Number) –

The start of the element

`inpoint` (Number) –

The in-point of the element

`duration` (Number) –

The duration of the element

`maxduration` (Number) –

The max-duration of the element

`priority` (Number) –

The priority of the element

`timeline` (GES.Timeline) –

The timeline of the element

`name` (String) –

The name 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) –
No description available
`parent` (GES.TimelineElement) –

The parent of the element

`asset` (GES.Asset) –

The GES.Asset from which the object has been extracted

`start` (int) –

The start of the element

`inpoint` (int) –

The in_point of the element

`duration` (int) –

The duration of the element

`maxduration` (int) –

The max_duration of the element

`priority` (int) –

The priority of the element

`timeline` (GES.Timeline) –

The timeline of the element

`name` (str) –

The name 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` –

A GESTimelineElement

`pspec` –

The specification for the property to add

`child` –

The GstObject who the property belongs to

Returns –

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.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

The specification for the property to add

`child` (GObject.Object) –

The Gst.Object who the property belongs to

Returns (Number) –

true if the property was successfully registered.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

The specification for the property to add

`child` (GObject.Object) –

The Gst.Object who the property belongs to

Returns (bool) –

True if the property was successfully registered.

#### 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.

Parameters:

`self` –

The GESTimelineElement to copy

`deep` –

Whether the copy is needed for pasting

Returns ( [transfer: floating]) –

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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to copy

`deep` (Number) –

Whether the copy is needed for pasting

Returns (GES.TimelineElement) –

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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to copy

`deep` (bool) –

Whether the copy is needed for pasting

Returns (GES.TimelineElement) –

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

Returns –

TRUE if the edit of self completed, FALSE on failure.

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to edit

`layers` ([ GES.Layer ]) –

A whitelist of layers where the edit can be performed, null allows all layers in the timeline.

`new_layer_priority` (Number) –

The priority/index of the layer self should be moved to. -1 means no move

`mode` (GES.EditMode) –

The edit mode

`edge` (GES.Edge) –

The edge of self where the edit should occur

`position` (Number) –

The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates

Returns (Number) –

true if the edit of self completed, false on failure.

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to edit

`layers` ([ GES.Layer ]) –

A whitelist of layers where the edit can be performed, None allows all layers in the timeline.

`new_layer_priority` (int) –

The priority/index of the layer self should be moved to. -1 means no move

`mode` (GES.EditMode) –

The edit mode

`edge` (GES.Edge) –

The edge of self where the edit should occur

`position` (int) –

The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates

Returns (bool) –

True if the edit of self completed, False on failure.

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` ( [nullable]) –

Return location for an error

Returns –

TRUE if the edit of self completed, FALSE on failure.

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to edit

`new_layer_priority` (Number) –

The priority/index of the layer self should be moved to. -1 means no move

`mode` (GES.EditMode) –

The edit mode

`edge` (GES.Edge) –

The edge of self where the edit should occur

`position` (Number) –

The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates

Returns (Number) –

true if the edit of self completed, false on failure.

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to edit

`new_layer_priority` (int) –

The priority/index of the layer self should be moved to. -1 means no move

`mode` (GES.EditMode) –

The edit mode

`edge` (GES.Edge) –

The edge of self where the edit should occur

`position` (int) –

The edit position: a new location for the edge of self (in nanoseconds) in the timeline coordinates

Returns (bool) –

True if the edit of self completed, False on failure.

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` –

A GESTimelineElement

`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` –

A GESTimelineElement

`property_name` –

The name of the child property to get

`value` ( [out]) –

The return location for the value

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`property_name` (String) –

The name of the child property to get

Returns a tuple made of:

(Number ) –

true if the property was found and copied to value.

`value` (GObject.Value ) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`property_name` (str) –

The name of the child property to get

Returns a tuple made of:

(bool ) –

True if the property was found and copied to value.

`value` (GObject.Value ) –

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` –

A GESTimelineElement

`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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

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` –

A GESTimelineElement

`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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (Number) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (int) –

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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (Number) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (int) –

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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (Number) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (int) –

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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (Number) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (int) –

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` –

A GESTimelineElement

Returns ( [transfer: full]) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (String) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (str) –

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

Returns –

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to get "natural" framerate from

Returns a tuple made of:

(Number ) –

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.

`framerate_n` (Number ) –

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.

`framerate_d` (Number ) –

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to get "natural" framerate from

Returns a tuple made of:

(bool ) –

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.

`framerate_n` (int ) –

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.

`framerate_d` (int ) –

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` –

A GESTimelineElement

Returns ( [transfer: full][nullable]) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (GES.TimelineElement) –

The parent of self, or null if self has no parent.

#### GES.TimelineElement.get_parent

    def GES.TimelineElement.get_parent (self):
        #python wrapper for 'ges_timeline_element_get_parent'

Gets the parent for the element.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (GES.TimelineElement) –

The parent of self, or None 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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (Number) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (int) –

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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (Number) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (int) –

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` –

A GESTimelineElement

Returns ( [transfer: full][nullable]) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (GES.Timeline) –

The timeline of self, or null if self has no timeline.

#### GES.TimelineElement.get_timeline

    def GES.TimelineElement.get_timeline (self):
        #python wrapper for 'ges_timeline_element_get_timeline'

Gets the timeline for the element.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (GES.Timeline) –

The timeline of self, or None 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

Returns ( [transfer: full]) –

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to get the toplevel parent from

Returns (GES.TimelineElement) –

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to get the toplevel parent from

Returns (GES.TimelineElement) –

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` –

A GESTimelineElement

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (GES.TrackType) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns (GES.TrackType) –

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` –

A GESTimelineElement

`n_properties` ( [out]) –

The return location for the length of the returned array

Returns ( [transfer: full][arraylength=n_properties]) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns a tuple made of:

([ GObject.ParamSpec ] ) –

An array of GObject.ParamSpec corresponding to the child properties of self, or null if something went wrong.

`n_properties` (Number ) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns a tuple made of:

([ GObject.ParamSpec ] ) –

An array of GObject.ParamSpec corresponding to the child properties of self, or None if something went wrong.

`n_properties` (int ) –

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` –

A GESTimelineElement

`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

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`prop_name` (String) –

The name of a child property

Returns a tuple made of:

(Number ) –

true if a child corresponding to the property was found, in which case child and pspec are set.

`child` (GObject.Object ) –

true if a child corresponding to the property was found, in which case child and pspec are set.

`pspec` (GObject.ParamSpec ) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`prop_name` (str) –

The name of a child property

Returns a tuple made of:

(bool ) –

True if a child corresponding to the property was found, in which case child and pspec are set.

`child` (GObject.Object ) –

True if a child corresponding to the property was found, in which case child and pspec are set.

`pspec` (GObject.ParamSpec ) –

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.

Returns ( [transfer: full][nullable]) –

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to paste

`paste_position` (Number) –

The position in the timeline element should be pasted to, i.e. the start value for the pasted element.

Returns (GES.TimelineElement) –

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:

`self` (GES.TimelineElement) –

The GES.TimelineElement to paste

`paste_position` (int) –

The position in the timeline element should be pasted to, i.e. the start value for the pasted element.

Returns (GES.TimelineElement) –

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.

Parameters:

`self` –

A GESTimelineElement

`pspec` –

The specification for the property to remove

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

The specification for the property to remove

Returns (Number) –

true if the property was successfully un-registered for self.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

The specification for the property to remove

Returns (bool) –

True if the property was successfully un-registered for self.

#### 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

Returns –

TRUE if the ripple edit of self completed, FALSE on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to ripple

`start` (Number) –

The new start time of self in ripple mode

Returns (Number) –

true if the ripple edit of self completed, false on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to ripple

`start` (int) –

The new start time of self in ripple mode

Returns (bool) –

True if the ripple edit of self completed, False on failure.

#### 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.

Parameters:

`self` –

The GESTimelineElement to ripple

`end` –

The new end time of self in ripple mode

Returns –

TRUE if the ripple edit of self completed, FALSE on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to ripple

`end` (Number) –

The new end time of self in ripple mode

Returns (Number) –

true if the ripple edit of self completed, false on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to ripple

`end` (int) –

The new end time of self in ripple mode

Returns (bool) –

True if the ripple edit of self completed, False on failure.

#### 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.

Parameters:

`self` –

The GESTimelineElement to roll

`end` –

The new end time of self in roll mode

Returns –

TRUE if the roll edit of self completed, FALSE on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to roll

`end` (Number) –

The new end time of self in roll mode

Returns (Number) –

true if the roll edit of self completed, false on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to roll

`end` (int) –

The new end time of self in roll mode

Returns (bool) –

True if the roll edit of self completed, False on failure.

#### 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.

Parameters:

`self` –

The GESTimelineElement to roll

`start` –

The new start time of self in roll mode

Returns –

TRUE if the roll edit of self completed, FALSE on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to roll

`start` (Number) –

The new start time of self in roll mode

Returns (Number) –

true if the roll edit of self completed, false on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to roll

`start` (int) –

The new start time of self in roll mode

Returns (bool) –

True if the roll edit of self completed, False on failure.

#### 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` –

A GESTimelineElement

`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` –

A GESTimelineElement

`property_name` –

The name of the child property to set

`value` –

The value to set the property to

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`property_name` (String) –

The name of the child property to set

`value` (GObject.Value) –

The value to set the property to

Returns (Number) –

true if the property was found and set.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`property_name` (str) –

The name of the child property to set

`value` (GObject.Value) –

The value to set the property to

Returns (bool) –

True if the property was found and set.

#### 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` –

A GESTimelineElement

`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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

The specification of a registered child property to set

`value` (GObject.Value) –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`pspec` (GObject.ParamSpec) –

The specification of a registered child property to set

`value` (GObject.Value) –

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` –

A GESTimelineElement

`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

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`property_name` (String) –

The name of the child property to set

`value` (GObject.Value) –

The value to set the property to

Returns (Number) –

true if the property was found and set.

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`property_name` (str) –

The name of the child property to set

`value` (GObject.Value) –

The value to set the property to

Returns (bool) –

True if the property was found and set.

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` –

A GESTimelineElement

`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.

Parameters:

`self` –

A GESTimelineElement

`duration` –

The desired duration in its timeline

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`duration` (Number) –

The desired duration in its timeline

Returns (Number) –

true if duration could be set for self.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`duration` (int) –

The desired duration in its timeline

Returns (bool) –

True if duration could be set for self.

#### 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.

Parameters:

`self` –

A GESTimelineElement

`inpoint` –

The in-point, in internal time coordinates

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`inpoint` (Number) –

The in-point, in internal time coordinates

Returns (Number) –

true if inpoint could be set for self.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`inpoint` (int) –

The in-point, in internal time coordinates

Returns (bool) –

True if inpoint could be set for self.

#### 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` –

A GESTimelineElement

`maxduration` –

The maximum duration, in internal time coordinates

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`maxduration` (Number) –

The maximum duration, in internal time coordinates

Returns (Number) –

true if maxduration could be set for self.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`maxduration` (int) –

The maximum duration, in internal time coordinates

Returns (bool) –

True if maxduration could be set for self.

#### 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.

Parameters:

`self` –

A GESTimelineElement

`name` ( [allow-none]) –

The name self should take

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`name` (String) –

The name self should take

Returns (Number) –

true if name or a generated name for self could be set.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`name` (str) –

The name self should take

Returns (bool) –

True if name or a generated name for self could be set.

#### 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` –
No description available
Returns –

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.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement parent (nullable): New parent of self

`parent` (GES.TimelineElement) –
No description available
Returns (Number) –

true if parent could be set for self.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement parent (nullable): New parent of self

`parent` (GES.TimelineElement) –
No description available
Returns (bool) –

True if parent could be set for self.

#### 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.

Parameters:

`self` –

A GESTimelineElement

`priority` –

The priority

Returns –

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.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`priority` (Number) –

The priority

Returns (Number) –

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.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.

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`priority` (int) –

The priority

Returns (bool) –

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_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` –

A GESTimelineElement

`start` –

The desired start position of the element in its timeline

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`start` (Number) –

The desired start position of the element in its timeline

Returns (Number) –

true if start could be set for self.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

`start` (int) –

The desired start position of the element in its timeline

Returns (bool) –

True if start could be set for self.

#### 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` –
No description available
Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement timeline (nullable): The GES.Timeline self should be in

`timeline` (GES.Timeline) –
No description available
Returns (Number) –

true if timeline could be set for self.

#### 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:

`self` (GES.TimelineElement) –

A GES.TimelineElement timeline (nullable): The GES.Timeline self should be in

`timeline` (GES.Timeline) –
No description available
Returns (bool) –

True if timeline could be set for self.

#### 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.

Parameters:

`self` –

The GESTimelineElement to trim

`start` –

The new start time of self in trim mode

Returns –

TRUE if the trim edit of self completed, FALSE on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to trim

`start` (Number) –

The new start time of self in trim mode

Returns (Number) –

true if the trim edit of self completed, false on failure.

#### 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.

Parameters:

`self` (GES.TimelineElement) –

The GES.TimelineElement to trim

`start` (int) –

The new start time of self in trim mode

Returns (bool) –

True if the trim edit of self completed, False on failure.

### 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` –
No description available
`prop_object` –

The child whose property has been registered

`prop` –

The specification for the property that has been registered

`user_data` –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`prop_object` (GObject.Object) –

The child whose property has been registered

`prop` (GObject.ParamSpec) –

The specification for the property that has been registered

`user_data` (Object) –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`prop_object` (GObject.Object) –

The child whose property has been registered

`prop` (GObject.ParamSpec) –

The specification for the property that has been registered

`user_data` (variadic) –
No description available

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` –
No description available
`prop_object` –

The child whose property has been unregistered

`prop` –

The specification for the property that has been unregistered

`user_data` –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`prop_object` (GObject.Object) –

The child whose property has been unregistered

`prop` (GObject.ParamSpec) –

The specification for the property that has been unregistered

`user_data` (Object) –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`prop_object` (GObject.Object) –

The child whose property has been unregistered

`prop` (GObject.ParamSpec) –

The specification for the property that has been unregistered

`user_data` (variadic) –
No description available

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` –
No description available
`prop_object` –

The child whose property has been set

`prop` –

The specification for the property that been set

`user_data` –
No description available

Flags: Run First / No Hooks

#### 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:

`self` (GES.TimelineElement) –
No description available
`prop_object` (GObject.Object) –

The child whose property has been set

`prop` (GObject.ParamSpec) –

The specification for the property that been set

`user_data` (Object) –
No description available

Flags: Run First / No Hooks

#### 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:

`self` (GES.TimelineElement) –
No description available
`prop_object` (GObject.Object) –

The child whose property has been set

`prop` (GObject.ParamSpec) –

The specification for the property that been set

`user_data` (variadic) –
No description available

Flags: Run First / No Hooks

### 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

    “parent” GESTimelineElement *

The parent container of the element.

Flags : Read / Write

#### parent

    “parent” GES.TimelineElement

The parent container of the element.

Flags : Read / Write

#### 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

#### priority

    “priority” Number

The priority of the element.

Flags : Read / Write

#### priority

    “self.props.priority” int

The priority of the element.

Flags : Read / Write

#### serialize

    “serialize” gboolean

Whether the element should be serialized.

Flags : Read / Write

#### serialize

    “serialize” Number

Whether the element should be serialized.

Flags : Read / Write

#### 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

    “timeline” GESTimeline *

The timeline that the element lies within.

Flags : Read / Write

#### timeline

    “timeline” GES.Timeline

The timeline that the element lies within.

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` –
No description available
`copy` –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`copy` (GES.TimelineElement) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`copy` (GES.TimelineElement) –
No description available

#### get_layer_priority

    guint32
    get_layer_priority (GESTimelineElement * self)

Get the priority of the layer that this element is part of.

Parameters:

`self` –
No description available
Returns –
No description available

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:

`self` (GES.TimelineElement) –
No description available
Returns (Number) –
No description available

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:

`self` (GES.TimelineElement) –
No description available
Returns (int) –
No description available

Since : 1.16

#### get_natural_framerate

    gboolean
    get_natural_framerate (GESTimelineElement * self,
                           gint * framerate_n,
                           gint * framerate_d)

Parameters:

`self` –

A GESTimelineElement

`framerate_n` –

The framerate numerator to retrieve

`framerate_d` –

The framerate denominator to retrieve

Returns –

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:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns a tuple made of:

(Number ) –

true if self has a natural framerate FALSE otherwise.

`framerate_n` (Number ) –

true if self has a natural framerate FALSE otherwise.

`framerate_d` (Number ) –

true if self has a natural framerate FALSE otherwise.

Since : 1.18

#### do_get_natural_framerate

    def do_get_natural_framerate (self):
        #python implementation of the 'get_natural_framerate' virtual method

Parameters:

`self` (GES.TimelineElement) –

A GES.TimelineElement

Returns a tuple made of:

(bool ) –

True if self has a natural framerate FALSE otherwise.

`framerate_n` (int ) –

True if self has a natural framerate FALSE otherwise.

`framerate_d` (int ) –

True if self has a natural framerate FALSE otherwise.

Since : 1.18

#### get_track_types

    GESTrackType
    get_track_types (GESTimelineElement * self)

Return a the track types for the element.

Parameters:

`self` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
Returns (GES.TrackType) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
Returns (GES.TrackType) –
No description available

#### 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` –
No description available
`n_properties` –
No description available
Returns –
No description available

#### 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` –
No description available
`prop_name` –
No description available
`child` –
No description available
`pspec` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`prop_name` (String) –
No description available

Returns a tuple made of:

(Number ) –
No description available
`child` (GObject.Object ) –
No description available
`pspec` (GObject.ParamSpec ) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`prop_name` (str) –
No description available

Returns a tuple made of:

(bool ) –
No description available
`child` (GObject.Object ) –
No description available
`pspec` (GObject.ParamSpec ) –
No description available

#### 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` –
No description available
`ref_element` –
No description available
`paste_position` –
No description available
Returns –
No description available

#### 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` –
No description available
`start` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`start` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`start` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`end` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`end` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`end` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`end` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`end` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`end` (int) –
No description available
Returns (bool) –
No description available

#### roll_start

    gboolean
    roll_start (GESTimelineElement * self,
                guint64 start)

Parameters:

`self` –
No description available
`start` –
No description available
Returns –
No description available

#### vfunc_roll_start

    function vfunc_roll_start(self: GES.TimelineElement, start: Number): {
        // javascript implementation of the 'roll_start' virtual method
    }

Parameters:

`self` (GES.TimelineElement) –
No description available
`start` (Number) –
No description available
Returns (Number) –
No description available

#### do_roll_start

    def do_roll_start (self, start):
        #python implementation of the 'roll_start' virtual method

Parameters:

`self` (GES.TimelineElement) –
No description available
`start` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`child` –
No description available
`pspec` –
No description available
`value` –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`child` (GObject.Object) –
No description available
`pspec` (GObject.ParamSpec) –
No description available
`value` (GObject.Value) –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`child` (GObject.Object) –
No description available
`pspec` (GObject.ParamSpec) –
No description available
`value` (GObject.Value) –
No description available

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` –
No description available
`child` –
No description available
`pspec` –
No description available
`value` –
No description available
`error` –
No description available
Returns –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`child` (GObject.Object) –
No description available
`pspec` (GObject.ParamSpec) –
No description available
`value` (GObject.Value) –
No description available
Returns (Number) –
No description available

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:

`self` (GES.TimelineElement) –
No description available
`child` (GObject.Object) –
No description available
`pspec` (GObject.ParamSpec) –
No description available
`value` (GObject.Value) –
No description available
Returns (bool) –
No description available

Since : 1.18

#### set_duration

    gboolean
    set_duration (GESTimelineElement * self,
                  GstClockTime duration)

Parameters:

`self` –
No description available
`duration` –
No description available
Returns –
No description available

#### vfunc_set_duration

    function vfunc_set_duration(self: GES.TimelineElement, duration: Number): {
        // javascript implementation of the 'set_duration' virtual method
    }

Parameters:

`self` (GES.TimelineElement) –
No description available
`duration` (Number) –
No description available
Returns (Number) –
No description available

#### do_set_duration

    def do_set_duration (self, duration):
        #python implementation of the 'set_duration' virtual method

Parameters:

`self` (GES.TimelineElement) –
No description available
`duration` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`inpoint` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`inpoint` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`inpoint` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`maxduration` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`maxduration` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`maxduration` (int) –
No description available
Returns (bool) –
No description available

#### set_parent

    gboolean
    set_parent (GESTimelineElement * self,
                GESTimelineElement * parent)

Method called just before the parent is set.

Parameters:

`self` –
No description available
`parent` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`parent` (GES.TimelineElement) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`parent` (GES.TimelineElement) –
No description available
Returns (bool) –
No description available

#### set_priority

    gboolean
    set_priority (GESTimelineElement * self,
                  guint32 priority)

Method called just before the priority is set.

Parameters:

`self` –
No description available
`priority` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`priority` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`priority` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`start` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`start` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`start` (int) –
No description available
Returns (bool) –
No description available

#### 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` –
No description available
`start` –
No description available
Returns –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`start` (Number) –
No description available
Returns (Number) –
No description available

#### 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:

`self` (GES.TimelineElement) –
No description available
`start` (int) –
No description available
Returns (bool) –
No description available

## Function Macros

### GES_TIMELINE_ELEMENT_DURATION

    #define GES_TIMELINE_ELEMENT_DURATION(obj) (((GESTimelineElement*)obj)->duration)

The duration of obj.

Parameters:

`obj` –

A GESTimelineElement

### 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` –

A GESTimelineElement

### GES_TIMELINE_ELEMENT_INPOINT

    #define GES_TIMELINE_ELEMENT_INPOINT(obj) (((GESTimelineElement*)obj)->inpoint)

The in-point of obj.

Parameters:

`obj` –

A GESTimelineElement

### 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` –

A GESTimelineElement

### GES_TIMELINE_ELEMENT_NAME

    #define GES_TIMELINE_ELEMENT_NAME(obj) (((GESTimelineElement*)obj)->name)

The name of obj.

Parameters:

`obj` –

A GESTimelineElement

### GES_TIMELINE_ELEMENT_PARENT

    #define GES_TIMELINE_ELEMENT_PARENT(obj) (((GESTimelineElement*)obj)->parent)

The parent of obj.

Parameters:

`obj` –

A GESTimelineElement

### GES_TIMELINE_ELEMENT_PRIORITY

    #define GES_TIMELINE_ELEMENT_PRIORITY(obj) (((GESTimelineElement*)obj)->priority)

The priority of obj.

Parameters:

`obj` –

A GESTimelineElement

### GES_TIMELINE_ELEMENT_START

    #define GES_TIMELINE_ELEMENT_START(obj) (((GESTimelineElement*)obj)->start)

The start of obj.

Parameters:

`obj` –

A GESTimelineElement

### GES_TIMELINE_ELEMENT_TIMELINE

    #define GES_TIMELINE_ELEMENT_TIMELINE(obj) (((GESTimelineElement*)obj)->timeline)

The timeline of obj.

Parameters:

`obj` –

A GESTimelineElement

## 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