GESTrackElement
A GESTrackElement is a GESTimelineElement that specifically belongs to a single GESTrack of its timeline. Its start and duration specify its temporal extent in the track. Specifically, a track element wraps some nleobject, such as an NleSource or nleoperation, which can be retrieved with ges_track_element_get_nleobject, and its start, duration, in-point, priority and active properties expose the corresponding nleobject properties. When a track element is added to a track, its nleobject is added to the corresponding nlecomposition that the track wraps.
Most users will not have to work directly with track elements since a GESClip will automatically create track elements for its timeline's tracks and take responsibility for updating them. The only track elements that are not automatically created by clips, but a user is likely to want to create, are GESEffect-s.
Control Bindings for Children Properties
You can set up control bindings for a track element child property using ges_track_element_set_control_source. A GstTimedValueControlSource should specify the timed values using the internal source coordinates (see GESTimelineElement). By default, these will be updated to lie between the in-point and out-point of the element. This can be switched off by setting auto-clamp-control-sources to FALSE.
GESTrackElement
GObject ╰──GInitiallyUnowned ╰──GESTimelineElement ╰──GESTrackElement ╰──GESOperation ╰──GESSource
The GESTrackElement base class.
Members
parent
(GESTimelineElement)
–
Class structure
GESTrackElementClass
Fields
nleobject_factorytype
(const gchar *)
–
ABI._ges_reserved
(gpointer *)
–
ABI.abi.default_has_internal_source
(gboolean)
–
ABI.abi.default_track_type
(GESTrackType)
–
GES.TrackElement
GObject.Object ╰──GObject.InitiallyUnowned ╰──GES.TimelineElement ╰──GES.TrackElement ╰──GES.Operation ╰──GES.Source
The GES.TrackElement base class.
Members
parent
(GES.TimelineElement)
–
GES.TrackElement
GObject.Object ╰──GObject.InitiallyUnowned ╰──GES.TimelineElement ╰──GES.TrackElement ╰──GES.Operation ╰──GES.Source
The GES.TrackElement base class.
Members
parent
(GES.TimelineElement)
–
Methods
ges_track_element_add_children_props
ges_track_element_add_children_props (GESTrackElement * self, GstElement * element, const gchar ** wanted_categories, const gchar ** blacklist, const gchar ** whitelist)
Adds all the properties of a GstElement that match the criteria as children properties of the track element. If the name of element's GstElementFactory is not in blacklist, and the factory's GST_ELEMENT_METADATA_KLASS contains at least one member of wanted_categories (e.g. GST_ELEMENT_FACTORY_KLASS_DECODER), then all the properties of element that are also in whitelist are added as child properties of self using ges_timeline_element_add_child_property.
This is intended to be used by subclasses when constructing.
Parameters:
self
–
element
–
The child object to retrieve properties from
wanted_categories
–
(array zero-terminated=1) (transfer none) (allow-none): An array of element factory "klass" categories to whitelist, or NULL to accept all categories
blacklist
(
[arrayzero-terminated=1][transfer: none][allow-none])
–
A blacklist of element factory names, or NULL to not blacklist any element factory
whitelist
(
[arrayzero-terminated=1][transfer: none][allow-none])
–
A whitelist of element property names, or NULL to whitelist all writeable properties
GES.TrackElement.prototype.add_children_props
function GES.TrackElement.prototype.add_children_props(element: Gst.Element, wanted_categories: [ String ], blacklist: [ String ], whitelist: [ String ]): {
// javascript wrapper for 'ges_track_element_add_children_props'
}
Adds all the properties of a Gst.Element that match the criteria as children properties of the track element. If the name of element's Gst.ElementFactory is not in blacklist, and the factory's Gst.ELEMENT_METADATA_KLASS contains at least one member of wanted_categories (e.g. Gst.ELEMENT_FACTORY_KLASS_DECODER), then all the properties of element that are also in whitelist are added as child properties of self using GES.TimelineElement.prototype.add_child_property.
This is intended to be used by subclasses when constructing.
Parameters:
The child object to retrieve properties from
(array zero-terminated=1) (transfer none) (allow-none): An array of element factory "klass" categories to whitelist, or null to accept all categories
A blacklist of element factory names, or null to not blacklist any element factory
GES.TrackElement.add_children_props
def GES.TrackElement.add_children_props (self, element, wanted_categories, blacklist, whitelist):
#python wrapper for 'ges_track_element_add_children_props'
Adds all the properties of a Gst.Element that match the criteria as children properties of the track element. If the name of element's Gst.ElementFactory is not in blacklist, and the factory's Gst.ELEMENT_METADATA_KLASS contains at least one member of wanted_categories (e.g. Gst.ELEMENT_FACTORY_KLASS_DECODER), then all the properties of element that are also in whitelist are added as child properties of self using GES.TimelineElement.add_child_property.
This is intended to be used by subclasses when constructing.
Parameters:
The child object to retrieve properties from
(array zero-terminated=1) (transfer none) (allow-none): An array of element factory "klass" categories to whitelist, or None to accept all categories
A blacklist of element factory names, or None to not blacklist any element factory
ges_track_element_clamp_control_source
ges_track_element_clamp_control_source (GESTrackElement * object, const gchar * property_name)
Clamp the GstTimedValueControlSource for the specified child property to lie between the in-point and out-point of the element. The out-point is the GES_TIMELINE_ELEMENT_END of the element translated from the timeline coordinates to the internal source coordinates of the element.
If the property does not have a GstTimedValueControlSource set by ges_track_element_set_control_source, nothing happens. Otherwise, if a timed value for the control source lies before the in-point of the element, or after its out-point, then it will be removed. At the in-point and out-point times, a new interpolated value will be placed.
Parameters:
object
–
property_name
–
The name of the child property to clamp the control source of
Since : 1.18
GES.TrackElement.prototype.clamp_control_source
function GES.TrackElement.prototype.clamp_control_source(property_name: String): {
// javascript wrapper for 'ges_track_element_clamp_control_source'
}
Clamp the GstController.TimedValueControlSource for the specified child property to lie between the in-point and out-point of the element. The out-point is the GES_TIMELINE_ELEMENT_END (not introspectable) of the element translated from the timeline coordinates to the internal source coordinates of the element.
If the property does not have a GstController.TimedValueControlSource set by GES.TrackElement.prototype.set_control_source, nothing happens. Otherwise, if a timed value for the control source lies before the in-point of the element, or after its out-point, then it will be removed. At the in-point and out-point times, a new interpolated value will be placed.
Parameters:
The name of the child property to clamp the control source of
Since : 1.18
GES.TrackElement.clamp_control_source
def GES.TrackElement.clamp_control_source (self, property_name):
#python wrapper for 'ges_track_element_clamp_control_source'
Clamp the GstController.TimedValueControlSource for the specified child property to lie between the in_point and out-point of the element. The out-point is the GES_TIMELINE_ELEMENT_END (not introspectable) of the element translated from the timeline coordinates to the internal source coordinates of the element.
If the property does not have a GstController.TimedValueControlSource set by GES.TrackElement.set_control_source, nothing happens. Otherwise, if a timed value for the control source lies before the in-point of the element, or after its out-point, then it will be removed. At the in-point and out-point times, a new interpolated value will be placed.
Parameters:
The name of the child property to clamp the control source of
Since : 1.18
ges_track_element_edit
gboolean ges_track_element_edit (GESTrackElement * object, GList * layers, GESEditMode mode, GESEdge edge, guint64 position)
Edits the element within its track.
Parameters:
object
–
The GESTrackElement to edit
layers
(
[element-typeGESLayer][nullable])
–
A whitelist of layers where the edit can be performed, NULL allows all layers in the timeline
mode
–
The edit mode
edge
–
The edge of object where the edit should occur
position
–
The edit position: a new location for the edge of object (in nanoseconds)
deprecated : 1.18: use #ges_timeline_element_edit instead.
GES.TrackElement.prototype.edit
function GES.TrackElement.prototype.edit(layers: [ GES.Layer ], mode: GES.EditMode, edge: GES.Edge, position: Number): {
// javascript wrapper for 'ges_track_element_edit'
}
Edits the element within its track.
Parameters:
The GES.TrackElement to edit
A whitelist of layers where the edit can be performed, null allows all layers in the timeline
The edit mode
The edge of object where the edit should occur
The edit position: a new location for the edge of object (in nanoseconds)
deprecated : 1.18: use #ges_timeline_element_edit instead.
GES.TrackElement.edit
def GES.TrackElement.edit (self, layers, mode, edge, position):
#python wrapper for 'ges_track_element_edit'
Edits the element within its track.
Parameters:
The GES.TrackElement to edit
A whitelist of layers where the edit can be performed, None allows all layers in the timeline
The edit mode
The edge of object where the edit should occur
The edit position: a new location for the edge of object (in nanoseconds)
deprecated : 1.18: use #ges_timeline_element_edit instead.
ges_track_element_get_all_control_bindings
GHashTable * ges_track_element_get_all_control_bindings (GESTrackElement * trackelement)
Get all the control bindings that have been created for the children properties of the track element using ges_track_element_set_control_source. The keys used in the returned hash table are the child property names that were passed to ges_track_element_set_control_source, and their values are the corresponding created GstControlBinding.
Parameters:
trackelement
–
A hash table containing all child-property-name/control-binding pairs for trackelement.
GES.TrackElement.prototype.get_all_control_bindings
function GES.TrackElement.prototype.get_all_control_bindings(): {
// javascript wrapper for 'ges_track_element_get_all_control_bindings'
}
Get all the control bindings that have been created for the children properties of the track element using GES.TrackElement.prototype.set_control_source. The keys used in the returned hash table are the child property names that were passed to GES.TrackElement.prototype.set_control_source, and their values are the corresponding created Gst.ControlBinding.
Parameters:
A hash table containing all child-property-name/control-binding pairs for trackelement.
GES.TrackElement.get_all_control_bindings
def GES.TrackElement.get_all_control_bindings (self):
#python wrapper for 'ges_track_element_get_all_control_bindings'
Get all the control bindings that have been created for the children properties of the track element using GES.TrackElement.set_control_source. The keys used in the returned hash table are the child property names that were passed to GES.TrackElement.set_control_source, and their values are the corresponding created Gst.ControlBinding.
Parameters:
A hash table containing all child-property-name/control-binding pairs for trackelement.
ges_track_element_get_auto_clamp_control_sources
gboolean ges_track_element_get_auto_clamp_control_sources (GESTrackElement * object)
Gets auto-clamp-control-sources.
Parameters:
object
–
Whether the control sources for the child properties of object are automatically clamped.
Since : 1.18
GES.TrackElement.prototype.get_auto_clamp_control_sources
function GES.TrackElement.prototype.get_auto_clamp_control_sources(): {
// javascript wrapper for 'ges_track_element_get_auto_clamp_control_sources'
}
Gets auto-clamp-control-sources.
Parameters:
Whether the control sources for the child properties of object are automatically clamped.
Since : 1.18
GES.TrackElement.get_auto_clamp_control_sources
def GES.TrackElement.get_auto_clamp_control_sources (self):
#python wrapper for 'ges_track_element_get_auto_clamp_control_sources'
Gets auto_clamp_control_sources.
Parameters:
Whether the control sources for the child properties of object are automatically clamped.
Since : 1.18
ges_track_element_get_child_properties
ges_track_element_get_child_properties (GESTrackElement * object, const gchar * first_property_name, ... ...)
Gets properties of a child of object.
Parameters:
object
–
The origin GESTrackElement
first_property_name
–
The name of the first property to get
...
–
return location for the first property, followed optionally by more name/return location pairs, followed by NULL
deprecated : Use #ges_timeline_element_get_child_properties
ges_track_element_get_child_property
gboolean ges_track_element_get_child_property (GESTrackElement * object, const gchar * property_name, GValue * value)
In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling g_value_unset.
Gets a property of a GstElement contained in object.
Note that ges_track_element_get_child_property is really intended for language bindings, ges_track_element_get_child_properties is much more convenient for C programming.
Parameters:
object
–
The origin GESTrackElement
property_name
–
The name of the property
value
(
[out])
–
return location for the property value, it will be initialized if it is initialized with 0
deprecated : Use #ges_timeline_element_get_child_property
ges_track_element_get_child_property_by_pspec
ges_track_element_get_child_property_by_pspec (GESTrackElement * object, GParamSpec * pspec, GValue * value)
Gets a property of a child of object.
Parameters:
object
–
pspec
–
The GParamSpec that specifies the property you want to get
value
(
[out])
–
return location for the value
deprecated : Use #ges_timeline_element_get_child_property_by_pspec
ges_track_element_get_child_property_valist
ges_track_element_get_child_property_valist (GESTrackElement * object, const gchar * first_property_name, va_list var_args)
Gets a property of a child of object. If there are various child elements that have the same property name, you can distinguish them using the following syntax: 'ClasseName::property_name' as property name. If you don't, the corresponding property of the first element found will be set.
Parameters:
object
–
The GESTrackElement parent object
first_property_name
–
The name of the first property to get
var_args
–
Value for the first property, followed optionally by more name/return location pairs, followed by NULL
deprecated : Use #ges_timeline_element_get_child_property_valist
ges_track_element_get_control_binding
GstControlBinding * ges_track_element_get_control_binding (GESTrackElement * object, const gchar * property_name)
Gets the control binding that was created for the specified child property of the track element using ges_track_element_set_control_source. The given property_name must be the same name of the child property that was passed to ges_track_element_set_control_source.
Parameters:
object
–
property_name
–
The name of the child property to return the control binding of
The control binding that was created for the specified child property of object, or NULL if property_name does not correspond to any control binding.
GES.TrackElement.prototype.get_control_binding
function GES.TrackElement.prototype.get_control_binding(property_name: String): {
// javascript wrapper for 'ges_track_element_get_control_binding'
}
Gets the control binding that was created for the specified child property of the track element using GES.TrackElement.prototype.set_control_source. The given property_name must be the same name of the child property that was passed to GES.TrackElement.prototype.set_control_source.
Parameters:
The name of the child property to return the control binding of
The control binding that was created for the specified child property of object, or null if property_name does not correspond to any control binding.
GES.TrackElement.get_control_binding
def GES.TrackElement.get_control_binding (self, property_name):
#python wrapper for 'ges_track_element_get_control_binding'
Gets the control binding that was created for the specified child property of the track element using GES.TrackElement.set_control_source. The given property_name must be the same name of the child property that was passed to GES.TrackElement.set_control_source.
Parameters:
The name of the child property to return the control binding of
The control binding that was created for the specified child property of object, or None if property_name does not correspond to any control binding.
ges_track_element_get_element
GstElement * ges_track_element_get_element (GESTrackElement * object)
Get the GstElement that the track element's underlying nleobject controls.
Parameters:
object
–
The GstElement being controlled by the nleobject that object wraps.
GES.TrackElement.prototype.get_element
function GES.TrackElement.prototype.get_element(): {
// javascript wrapper for 'ges_track_element_get_element'
}
Get the Gst.Element that the track element's underlying nleobject controls.
Parameters:
The Gst.Element being controlled by the nleobject that object wraps.
GES.TrackElement.get_element
def GES.TrackElement.get_element (self):
#python wrapper for 'ges_track_element_get_element'
Get the Gst.Element that the track element's underlying nleobject controls.
Parameters:
The Gst.Element being controlled by the nleobject that object wraps.
ges_track_element_get_gnlobject
GstElement * ges_track_element_get_gnlobject (GESTrackElement * object)
Get the GNonLin object this object is controlling.
Parameters:
object
–
The GNonLin object this object is controlling.
deprecated : use #ges_track_element_get_nleobject instead.
GES.TrackElement.prototype.get_gnlobject
function GES.TrackElement.prototype.get_gnlobject(): {
// javascript wrapper for 'ges_track_element_get_gnlobject'
}
Get the GNonLin object this object is controlling.
Parameters:
The GNonLin object this object is controlling.
deprecated : use #ges_track_element_get_nleobject instead.
GES.TrackElement.get_gnlobject
def GES.TrackElement.get_gnlobject (self):
#python wrapper for 'ges_track_element_get_gnlobject'
Get the GNonLin object this object is controlling.
Parameters:
The GNonLin object this object is controlling.
deprecated : use #ges_track_element_get_nleobject instead.
ges_track_element_get_nleobject
GstElement * ges_track_element_get_nleobject (GESTrackElement * object)
Get the nleobject that this element wraps.
Parameters:
object
–
The nleobject that object wraps.
Since : 1.6
GES.TrackElement.prototype.get_nleobject
function GES.TrackElement.prototype.get_nleobject(): {
// javascript wrapper for 'ges_track_element_get_nleobject'
}
Get the nleobject that this element wraps.
Parameters:
The nleobject that object wraps.
Since : 1.6
GES.TrackElement.get_nleobject
def GES.TrackElement.get_nleobject (self):
#python wrapper for 'ges_track_element_get_nleobject'
Get the nleobject that this element wraps.
Parameters:
The nleobject that object wraps.
Since : 1.6
ges_track_element_get_track
GESTrack * ges_track_element_get_track (GESTrackElement * object)
Get the track for the element.
Parameters:
object
–
The track that object belongs to, or NULL if it does not belong to a track.
GES.TrackElement.prototype.get_track
function GES.TrackElement.prototype.get_track(): {
// javascript wrapper for 'ges_track_element_get_track'
}
Get the track for the element.
Parameters:
GES.TrackElement.get_track
def GES.TrackElement.get_track (self):
#python wrapper for 'ges_track_element_get_track'
Get the track for the element.
Parameters:
ges_track_element_get_track_type
GESTrackType ges_track_element_get_track_type (GESTrackElement * object)
Gets the track-type for the element.
Parameters:
object
–
The track-type of object.
GES.TrackElement.prototype.get_track_type
function GES.TrackElement.prototype.get_track_type(): {
// javascript wrapper for 'ges_track_element_get_track_type'
}
Gets the track-type for the element.
Parameters:
The track-type of object.
GES.TrackElement.get_track_type
def GES.TrackElement.get_track_type (self):
#python wrapper for 'ges_track_element_get_track_type'
Gets the track_type for the element.
Parameters:
The track-type of object.
ges_track_element_has_internal_source
gboolean ges_track_element_has_internal_source (GESTrackElement * object)
Gets has-internal-source for the element.
Parameters:
object
–
TRUE if object can have its 'internal time' properties set.
Since : 1.18
GES.TrackElement.prototype.has_internal_source
function GES.TrackElement.prototype.has_internal_source(): {
// javascript wrapper for 'ges_track_element_has_internal_source'
}
Gets has-internal-source for the element.
Parameters:
Since : 1.18
GES.TrackElement.has_internal_source
def GES.TrackElement.has_internal_source (self):
#python wrapper for 'ges_track_element_has_internal_source'
Gets has_internal_source for the element.
Parameters:
Since : 1.18
ges_track_element_is_active
gboolean ges_track_element_is_active (GESTrackElement * object)
Gets active for the element.
Parameters:
object
–
TRUE if object is active in its track.
GES.TrackElement.prototype.is_active
function GES.TrackElement.prototype.is_active(): {
// javascript wrapper for 'ges_track_element_is_active'
}
Gets active for the element.
Parameters:
GES.TrackElement.is_active
def GES.TrackElement.is_active (self):
#python wrapper for 'ges_track_element_is_active'
Gets active for the element.
Parameters:
ges_track_element_is_core
gboolean ges_track_element_is_core (GESTrackElement * object)
Get whether the given track element is a core track element. That is, it was created by the create_track_elements GESClipClass method for some GESClip.
Note that such a track element can only be added to a clip that shares the same GESAsset as the clip that created it. For example, you are allowed to move core children between clips that resulted from ges_container_ungroup, but you could not move the core child from a GESUriClip to a GESTitleClip or another GESUriClip with a different uri.
Moreover, if a core track element is added to a clip, it will always be added as a core child. Therefore, if this returns TRUE, then element will be a core child of its parent clip.
Parameters:
object
–
TRUE if element is a core track element.
Since : 1.18
GES.TrackElement.prototype.is_core
function GES.TrackElement.prototype.is_core(): {
// javascript wrapper for 'ges_track_element_is_core'
}
Get whether the given track element is a core track element. That is, it was created by the create_track_elements GES.ClipClass method for some GES.Clip.
Note that such a track element can only be added to a clip that shares the same GES.Asset as the clip that created it. For example, you are allowed to move core children between clips that resulted from GES.Container.prototype.ungroup, but you could not move the core child from a GES.UriClip to a GES.TitleClip or another GES.UriClip with a different uri.
Moreover, if a core track element is added to a clip, it will always be added as a core child. Therefore, if this returns true, then element will be a core child of its parent clip.
Parameters:
Since : 1.18
GES.TrackElement.is_core
def GES.TrackElement.is_core (self):
#python wrapper for 'ges_track_element_is_core'
Get whether the given track element is a core track element. That is, it was created by the create_track_elements GES.ClipClass method for some GES.Clip.
Note that such a track element can only be added to a clip that shares the same GES.Asset as the clip that created it. For example, you are allowed to move core children between clips that resulted from GES.Container.ungroup, but you could not move the core child from a GES.UriClip to a GES.TitleClip or another GES.UriClip with a different uri.
Moreover, if a core track element is added to a clip, it will always be added as a core child. Therefore, if this returns True, then element will be a core child of its parent clip.
Parameters:
Since : 1.18
ges_track_element_list_children_properties
GParamSpec ** ges_track_element_list_children_properties (GESTrackElement * object, guint * n_properties)
Gets an array of GParamSpec* for all configurable properties of the children of object.
Parameters:
object
–
The GESTrackElement to get the list of children properties from
n_properties
(
[out])
–
return location for the length of the returned array
An array of GParamSpec* which should be freed after use or NULL if something went wrong.
deprecated : Use #ges_timeline_element_list_children_properties
GES.TrackElement.prototype.list_children_properties
function GES.TrackElement.prototype.list_children_properties(): {
// javascript wrapper for 'ges_track_element_list_children_properties'
}
Gets an array of GObject.ParamSpec* for all configurable properties of the children of object.
Parameters:
The GES.TrackElement to get the list of children properties from
Returns a tuple made of:
An array of GObject.ParamSpec* which should be freed after use or null if something went wrong.
An array of GObject.ParamSpec* which should be freed after use or null if something went wrong.
deprecated : Use #ges_timeline_element_list_children_properties
GES.TrackElement.list_children_properties
def GES.TrackElement.list_children_properties (self):
#python wrapper for 'ges_track_element_list_children_properties'
Gets an array of GObject.ParamSpec* for all configurable properties of the children of object.
Parameters:
The GES.TrackElement to get the list of children properties from
Returns a tuple made of:
An array of GObject.ParamSpec* which should be freed after use or None if something went wrong.
An array of GObject.ParamSpec* which should be freed after use or None if something went wrong.
deprecated : Use #ges_timeline_element_list_children_properties
ges_track_element_lookup_child
gboolean ges_track_element_lookup_child (GESTrackElement * object, const gchar * prop_name, GstElement ** element, GParamSpec ** pspec)
Looks up which element and pspec would be effected by the given name. If various contained elements have this property name you will get the first one, unless you specify the class name in name.
Parameters:
object
–
Object to lookup the property in
prop_name
–
Name of the property to look up. You can specify the name of the class as such: "ClassName::property-name", to guarantee that you get the proper GParamSpec in case various GstElement-s contain the same property name. If you don't do so, you will get the first element found, having this property and the and the corresponding GParamSpec.
element
(
[out][allow-none][transfer: full])
–
pointer to a GstElement that takes the real object to set property on
pspec
(
[out][allow-none][transfer: full])
–
pointer to take the specification describing the property
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
deprecated : Use #ges_timeline_element_lookup_child
GES.TrackElement.prototype.lookup_child
function GES.TrackElement.prototype.lookup_child(prop_name: String): {
// javascript wrapper for 'ges_track_element_lookup_child'
}
Looks up which element and pspec would be effected by the given name. If various contained elements have this property name you will get the first one, unless you specify the class name in name.
Parameters:
Object to lookup the property in
Name of the property to look up. You can specify the name of the class as such: "ClassName::property-name", to guarantee that you get the proper GParamSpec in case various GstElement-s contain the same property name. If you don't do so, you will get the first element found, having this property and the and the corresponding GParamSpec.
Returns a tuple made of:
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
deprecated : Use #ges_timeline_element_lookup_child
GES.TrackElement.lookup_child
def GES.TrackElement.lookup_child (self, prop_name):
#python wrapper for 'ges_track_element_lookup_child'
Looks up which element and pspec would be effected by the given name. If various contained elements have this property name you will get the first one, unless you specify the class name in name.
Parameters:
Object to lookup the property in
Name of the property to look up. You can specify the name of the class as such: "ClassName::property-name", to guarantee that you get the proper GParamSpec in case various GstElement-s contain the same property name. If you don't do so, you will get the first element found, having this property and the and the corresponding GParamSpec.
Returns a tuple made of:
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
TRUE if element and pspec could be found. FALSE otherwise. In that case the values for pspec and element are not modified. Unref element after usage.
deprecated : Use #ges_timeline_element_lookup_child
ges_track_element_remove_control_binding
gboolean ges_track_element_remove_control_binding (GESTrackElement * object, const gchar * property_name)
Removes the GstControlBinding that was created for the specified child property of the track element using ges_track_element_set_control_source. The given property_name must be the same name of the child property that was passed to ges_track_element_set_control_source.
Parameters:
object
–
property_name
–
The name of the child property to remove the control binding from
GES.TrackElement.prototype.remove_control_binding
function GES.TrackElement.prototype.remove_control_binding(property_name: String): {
// javascript wrapper for 'ges_track_element_remove_control_binding'
}
Removes the Gst.ControlBinding that was created for the specified child property of the track element using GES.TrackElement.prototype.set_control_source. The given property_name must be the same name of the child property that was passed to GES.TrackElement.prototype.set_control_source.
Parameters:
The name of the child property to remove the control binding from
GES.TrackElement.remove_control_binding
def GES.TrackElement.remove_control_binding (self, property_name):
#python wrapper for 'ges_track_element_remove_control_binding'
Removes the Gst.ControlBinding that was created for the specified child property of the track element using GES.TrackElement.set_control_source. The given property_name must be the same name of the child property that was passed to GES.TrackElement.set_control_source.
Parameters:
The name of the child property to remove the control binding from
ges_track_element_set_active
gboolean ges_track_element_set_active (GESTrackElement * object, gboolean active)
Sets active for the element.
TRUE if the property was toggled.
GES.TrackElement.prototype.set_active
function GES.TrackElement.prototype.set_active(active: Number): {
// javascript wrapper for 'ges_track_element_set_active'
}
Sets active for the element.
Parameters:
Whether object should be active in its track
GES.TrackElement.set_active
def GES.TrackElement.set_active (self, active):
#python wrapper for 'ges_track_element_set_active'
Sets active for the element.
Parameters:
Whether object should be active in its track
ges_track_element_set_auto_clamp_control_sources
ges_track_element_set_auto_clamp_control_sources (GESTrackElement * object, gboolean auto_clamp)
Sets auto-clamp-control-sources. If set to TRUE, this will immediately clamp all the control sources.
Parameters:
object
–
auto_clamp
–
Whether to automatically clamp the control sources for the child properties of object
Since : 1.18
GES.TrackElement.prototype.set_auto_clamp_control_sources
function GES.TrackElement.prototype.set_auto_clamp_control_sources(auto_clamp: Number): {
// javascript wrapper for 'ges_track_element_set_auto_clamp_control_sources'
}
Sets auto-clamp-control-sources. If set to true, this will immediately clamp all the control sources.
Parameters:
Whether to automatically clamp the control sources for the child properties of object
Since : 1.18
GES.TrackElement.set_auto_clamp_control_sources
def GES.TrackElement.set_auto_clamp_control_sources (self, auto_clamp):
#python wrapper for 'ges_track_element_set_auto_clamp_control_sources'
Sets auto_clamp_control_sources. If set to True, this will immediately clamp all the control sources.
Parameters:
Whether to automatically clamp the control sources for the child properties of object
Since : 1.18
ges_track_element_set_child_properties
ges_track_element_set_child_properties (GESTrackElement * object, const gchar * first_property_name, ... ...)
Sets a property of a child of object. If there are various child elements that have the same property name, you can distinguish them using the following syntax: 'ClasseName::property_name' as property name. If you don't, the corresponding property of the first element found will be set.
Parameters:
object
–
The GESTrackElement parent object
first_property_name
–
The name of the first property to set
...
–
value for the first property, followed optionally by more name/return location pairs, followed by NULL
deprecated : Use #ges_timeline_element_set_child_properties
ges_track_element_set_child_property
gboolean ges_track_element_set_child_property (GESTrackElement * object, const gchar * property_name, GValue * value)
Sets a property of a GstElement contained in object.
Note that ges_track_element_set_child_property is really intended for language bindings, ges_track_element_set_child_properties is much more convenient for C programming.
Parameters:
object
–
The origin GESTrackElement
property_name
–
The name of the property
value
–
The value
deprecated : use #ges_timeline_element_set_child_property instead
ges_track_element_set_child_property_by_pspec
ges_track_element_set_child_property_by_pspec (GESTrackElement * object, GParamSpec * pspec, GValue * value)
Sets a property of a child of object.
Parameters:
object
–
pspec
–
The GParamSpec that specifies the property you want to set
value
–
The value
deprecated : Use #ges_timeline_element_set_child_property_by_spec
ges_track_element_set_child_property_valist
ges_track_element_set_child_property_valist (GESTrackElement * object, const gchar * first_property_name, va_list var_args)
Sets a property of a child of object. If there are various child elements that have the same property name, you can distinguish them using the following syntax: 'ClasseName::property_name' as property name. If you don't, the corresponding property of the first element found will be set.
Parameters:
object
–
The GESTrackElement parent object
first_property_name
–
The name of the first property to set
var_args
–
Value for the first property, followed optionally by more name/return location pairs, followed by NULL
deprecated : Use #ges_timeline_element_set_child_property_valist
ges_track_element_set_control_source
gboolean ges_track_element_set_control_source (GESTrackElement * object, GstControlSource * source, const gchar * property_name, const gchar * binding_type)
Creates a GstControlBinding for the specified child property of the track element using the given control source. The given property_name should refer to an existing child property of the track element, as used in ges_timeline_element_lookup_child.
If binding_type is "direct", then the control binding is created with gst_direct_control_binding_new using the given control source. If binding_type is "direct-absolute", it is created with gst_direct_control_binding_new_absolute instead.
Parameters:
object
–
source
–
The control source to bind the child property to
property_name
–
The name of the child property to control
binding_type
–
The type of binding to create ("direct" or "direct-absolute")
GES.TrackElement.prototype.set_control_source
function GES.TrackElement.prototype.set_control_source(source: Gst.ControlSource, property_name: String, binding_type: String): {
// javascript wrapper for 'ges_track_element_set_control_source'
}
Creates a Gst.ControlBinding for the specified child property of the track element using the given control source. The given property_name should refer to an existing child property of the track element, as used in GES.TimelineElement.prototype.lookup_child.
If binding_type is "direct", then the control binding is created with GstController.DirectControlBinding.prototype.new using the given control source. If binding_type is "direct-absolute", it is created with GstController.DirectControlBinding.prototype.new_absolute instead.
Parameters:
The control source to bind the child property to
The name of the child property to control
The type of binding to create ("direct" or "direct-absolute")
GES.TrackElement.set_control_source
def GES.TrackElement.set_control_source (self, source, property_name, binding_type):
#python wrapper for 'ges_track_element_set_control_source'
Creates a Gst.ControlBinding for the specified child property of the track element using the given control source. The given property_name should refer to an existing child property of the track element, as used in GES.TimelineElement.lookup_child.
If binding_type is "direct", then the control binding is created with GstController.DirectControlBinding.new using the given control source. If binding_type is "direct-absolute", it is created with GstController.DirectControlBinding.new_absolute instead.
Parameters:
The control source to bind the child property to
The name of the child property to control
The type of binding to create ("direct" or "direct-absolute")
ges_track_element_set_has_internal_source
gboolean ges_track_element_set_has_internal_source (GESTrackElement * object, gboolean has_internal_source)
Sets has-internal-source for the element. If this is set to FALSE, this method will also set the in-point of the element to 0 and its max-duration to GST_CLOCK_TIME_NONE.
Parameters:
object
–
has_internal_source
–
Whether the object should be allowed to have its 'internal time' properties set.
Since : 1.18
GES.TrackElement.prototype.set_has_internal_source
function GES.TrackElement.prototype.set_has_internal_source(has_internal_source: Number): {
// javascript wrapper for 'ges_track_element_set_has_internal_source'
}
Sets has-internal-source for the element. If this is set to false, this method will also set the in-point of the element to 0 and its max-duration to Gst.CLOCK_TIME_NONE.
Parameters:
Whether the object should be allowed to have its 'internal time' properties set.
Since : 1.18
GES.TrackElement.set_has_internal_source
def GES.TrackElement.set_has_internal_source (self, has_internal_source):
#python wrapper for 'ges_track_element_set_has_internal_source'
Sets has_internal_source for the element. If this is set to False, this method will also set the in_point of the element to 0 and its max_duration to Gst.CLOCK_TIME_NONE.
Parameters:
Whether the object should be allowed to have its 'internal time' properties set.
Since : 1.18
ges_track_element_set_track_type
ges_track_element_set_track_type (GESTrackElement * object, GESTrackType type)
Sets the track-type for the element.
GES.TrackElement.prototype.set_track_type
function GES.TrackElement.prototype.set_track_type(type: GES.TrackType): {
// javascript wrapper for 'ges_track_element_set_track_type'
}
Sets the track-type for the element.
Parameters:
The new track-type for object
GES.TrackElement.set_track_type
def GES.TrackElement.set_track_type (self, type):
#python wrapper for 'ges_track_element_set_track_type'
Sets the track_type for the element.
Parameters:
The new track-type for object
Signals
control-binding-added
control_binding_added_callback (GESTrackElement * self, GstControlBinding * control_binding, gpointer user_data)
This is emitted when a control binding is added to a child property of the track element.
Parameters:
self
–
control_binding
–
The control binding that has been added
user_data
–
Flags: Run First
control-binding-added
function control_binding_added_callback(self: GES.TrackElement, control_binding: Gst.ControlBinding, user_data: Object): {
// javascript callback for the 'control-binding-added' signal
}
This is emitted when a control binding is added to a child property of the track element.
Parameters:
The control binding that has been added
Flags: Run First
control-binding-added
def control_binding_added_callback (self, control_binding, *user_data):
#python callback for the 'control-binding-added' signal
This is emitted when a control binding is added to a child property of the track element.
Parameters:
The control binding that has been added
Flags: Run First
control-binding-removed
control_binding_removed_callback (GESTrackElement * self, GstControlBinding * control_binding, gpointer user_data)
This is emitted when a control binding is removed from a child property of the track element.
Parameters:
self
–
control_binding
–
The control binding that has been removed
user_data
–
Flags: Run First
control-binding-removed
function control_binding_removed_callback(self: GES.TrackElement, control_binding: Gst.ControlBinding, user_data: Object): {
// javascript callback for the 'control-binding-removed' signal
}
This is emitted when a control binding is removed from a child property of the track element.
Parameters:
The control binding that has been removed
Flags: Run First
control-binding-removed
def control_binding_removed_callback (self, control_binding, *user_data):
#python callback for the 'control-binding-removed' signal
This is emitted when a control binding is removed from a child property of the track element.
Parameters:
The control binding that has been removed
Flags: Run First
Properties
active
“active” gboolean
Whether the effect of the element should be applied in its track. If set to FALSE, it will not be used in the output of the track.
Flags : Read / Write
auto-clamp-control-sources
“auto-clamp-control-sources” gboolean
Whether the control sources on the element (see ges_track_element_set_control_source) will be automatically updated whenever the in-point or out-point of the element change in value.
See ges_track_element_clamp_control_source for how this is done per control source.
Default value: TRUE
Flags : Read / Write
Since : 1.18
auto-clamp-control-sources
“auto-clamp-control-sources” Number
Whether the control sources on the element (see GES.TrackElement.prototype.set_control_source) will be automatically updated whenever the in-point or out-point of the element change in value.
See GES.TrackElement.prototype.clamp_control_source for how this is done per control source.
Default value: true
Flags : Read / Write
Since : 1.18
auto_clamp_control_sources
“self.props.auto_clamp_control_sources” bool
Whether the control sources on the element (see GES.TrackElement.set_control_source) will be automatically updated whenever the in_point or out-point of the element change in value.
See GES.TrackElement.clamp_control_source for how this is done per control source.
Default value: True
Flags : Read / Write
Since : 1.18
has-internal-source
“has-internal-source” gboolean
This property is used to determine whether the 'internal time' properties of the element have any meaning. In particular, unless this is set to TRUE, the in-point and max-duration can not be set to any value other than the default 0 and GST_CLOCK_TIME_NONE, respectively.
If an element has some internal timed source GstElement that it reads stream data from as part of its function in a GESTrack, then you'll likely want to set this to TRUE to allow the in-point and max-duration to be set.
The default value is determined by the GESTrackElementClass default_has_internal_source class property. For most GESSourceClass-es, this will be TRUE, with the exception of those that have a potentially static source, such as GESImageSourceClass and GESTitleSourceClass. Otherwise, this will usually be FALSE.
For most GESOperation-s you will likely want to leave this set to FALSE. The exception may be for an operation that reads some stream data from some private internal source as part of manipulating the input data from the usual linked upstream GESTrackElement.
For example, you may want to set this to TRUE for a GES_TRACK_TYPE_VIDEO operation that wraps a textoverlay that reads from a subtitle file and places its text on top of the received video data. The in-point of the element would be used to shift the initial seek time on the textoverlay away from 0, and the max-duration could be set to reflect the time at which the subtitle file runs out of data.
Note that GES can not support track elements that have both internal content and manipulate the timing of their data streams (time effects).
Flags : Read / Write
Since : 1.18
has-internal-source
“has-internal-source” Number
This property is used to determine whether the 'internal time' properties of the element have any meaning. In particular, unless this is set to true, the in-point and max-duration can not be set to any value other than the default 0 and Gst.CLOCK_TIME_NONE, respectively.
If an element has some internal timed source Gst.Element that it reads stream data from as part of its function in a GES.Track, then you'll likely want to set this to true to allow the in-point and max-duration to be set.
The default value is determined by the GES.TrackElementClass default_has_internal_source class property. For most GES.SourceClass-es, this will be true, with the exception of those that have a potentially static source, such as GES.ImageSourceClass and GES.TitleSourceClass. Otherwise, this will usually be false.
For most GES.Operation-s you will likely want to leave this set to false. The exception may be for an operation that reads some stream data from some private internal source as part of manipulating the input data from the usual linked upstream GES.TrackElement.
For example, you may want to set this to true for a GES.TrackType.VIDEO operation that wraps a textoverlay (not introspectable) that reads from a subtitle file and places its text on top of the received video data. The in-point of the element would be used to shift the initial seek time on the textoverlay (not introspectable) away from 0, and the max-duration could be set to reflect the time at which the subtitle file runs out of data.
Note that GES can not support track elements that have both internal content and manipulate the timing of their data streams (time effects).
Flags : Read / Write
Since : 1.18
has_internal_source
“self.props.has_internal_source” bool
This property is used to determine whether the 'internal time' properties of the element have any meaning. In particular, unless this is set to True, the in_point and max_duration can not be set to any value other than the default 0 and Gst.CLOCK_TIME_NONE, respectively.
If an element has some internal timed source Gst.Element that it reads stream data from as part of its function in a GES.Track, then you'll likely want to set this to True to allow the in_point and max_duration to be set.
The default value is determined by the GES.TrackElementClass default_has_internal_source class property. For most GES.SourceClass-es, this will be True, with the exception of those that have a potentially static source, such as GES.ImageSourceClass and GES.TitleSourceClass. Otherwise, this will usually be False.
For most GES.Operation-s you will likely want to leave this set to False. The exception may be for an operation that reads some stream data from some private internal source as part of manipulating the input data from the usual linked upstream GES.TrackElement.
For example, you may want to set this to True for a GES.TrackType.VIDEO operation that wraps a textoverlay (not introspectable) that reads from a subtitle file and places its text on top of the received video data. The in_point of the element would be used to shift the initial seek time on the textoverlay (not introspectable) away from 0, and the max_duration could be set to reflect the time at which the subtitle file runs out of data.
Note that GES can not support track elements that have both internal content and manipulate the timing of their data streams (time effects).
Flags : Read / Write
Since : 1.18
track
“track” GESTrack *
The track that this element belongs to, or NULL if it does not belong to a track.
Flags : Read
track-type
“track-type” GESTrackType *
The track type of the element, which determines the type of track the element can be added to (see track-type). This should correspond to the type of data that the element can produce or process.
Flags : Read / Write / Construct
track-type
“track-type” GES.TrackType
The track type of the element, which determines the type of track the element can be added to (see track-type). This should correspond to the type of data that the element can produce or process.
Flags : Read / Write / Construct
track_type
“self.props.track_type” GES.TrackType
The track type of the element, which determines the type of track the element can be added to (see track_type). This should correspond to the type of data that the element can produce or process.
Flags : Read / Write / Construct
Virtual Methods
active_changed
active_changed (GESTrackElement * object, gboolean active)
Notify when the active property changes
vfunc_active_changed
function vfunc_active_changed(object: GES.TrackElement, active: Number): {
// javascript implementation of the 'active_changed' virtual method
}
Notify when the active property changes
do_active_changed
def do_active_changed (object, active):
#python implementation of the 'active_changed' virtual method
Notify when the active property changes
vfunc_changed
function vfunc_changed(object: GES.TrackElement): {
// javascript implementation of the 'changed' virtual method
}
Parameters:
deprecated
do_changed
def do_changed (object):
#python implementation of the 'changed' virtual method
Parameters:
deprecated
create_element
GstElement * create_element (GESTrackElement * object)
Parameters:
object
–
The GESTrackElement
the GstElement that the underlying nleobject controls.
vfunc_create_element
function vfunc_create_element(object: GES.TrackElement): {
// javascript implementation of the 'create_element' virtual method
}
Parameters:
The GES.TrackElement
the Gst.Element that the underlying nleobject controls.
do_create_element
def do_create_element (object):
#python implementation of the 'create_element' virtual method
Parameters:
The GES.TrackElement
the Gst.Element that the underlying nleobject controls.
create_gnl_object
GstElement * create_gnl_object (GESTrackElement * object)
Parameters:
object
–
The GESTrackElement
the NLEObject to use in the nlecomposition
vfunc_create_gnl_object
function vfunc_create_gnl_object(object: GES.TrackElement): {
// javascript implementation of the 'create_gnl_object' virtual method
}
Parameters:
The GES.TrackElement
the NLEObject to use in the nlecomposition (not introspectable)
do_create_gnl_object
def do_create_gnl_object (object):
#python implementation of the 'create_gnl_object' virtual method
Parameters:
The GES.TrackElement
the NLEObject to use in the nlecomposition (not introspectable)
list_children_properties
GParamSpec ** list_children_properties (GESTrackElement * object, guint * n_properties)
Listing children properties is handled by ges_timeline_element_list_children_properties instead.
Parameters:
object
–
n_properties
–
deprecated : 1.14: Use #GESTimelineElementClass::list_children_properties instead
lookup_child
gboolean lookup_child (GESTrackElement * object, const gchar * prop_name, GstElement ** element, GParamSpec ** pspec)
Parameters:
object
–
prop_name
–
element
–
pspec
–
deprecated : 1.14: Use #GESTimelineElementClass::lookup_child instead
vfunc_lookup_child
function vfunc_lookup_child(object: GES.TrackElement, prop_name: String): {
// javascript implementation of the 'lookup_child' virtual method
}
Parameters:
Returns a tuple made of:
deprecated : 1.14: Use #GESTimelineElementClass::lookup_child instead
do_lookup_child
def do_lookup_child (object, prop_name):
#python implementation of the 'lookup_child' virtual method
Parameters:
Returns a tuple made of:
deprecated : 1.14: Use #GESTimelineElementClass::lookup_child instead
Function Macros
GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE
#define GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE(klass) \ ((GES_TRACK_ELEMENT_CLASS (klass))->ABI.abi.default_has_internal_source)
What the default has-internal-source value should be for new elements from this class.
Parameters:
klass
–
Constants
GES_TYPE_TRACK_ELEMENT
#define GES_TYPE_TRACK_ELEMENT ges_track_element_get_type()
Subpages:
GESVideoSource – Base Class for video sources
GESAudioSource – Base Class for audio sources
GESAudioTestSource – produce a simple test waveform or silence
GESAudioUriSource – outputs a single audio stream from a given file
GESVideoUriSource – outputs a single video stream from a given file
GESVideoTestSource – produce solid colors and patterns, possibly with a time overlay.
GESTitleSource – render stand-alone text titles
GESTextOverlay – render text onto another video stream in a GESLayer
The results of the search are