Class (GI Class)

GES-1.0GESBaseEffectClipAbstract

GES.BaseEffectClip-s are clips whose core elements are GES.BaseEffect-s.

GES.BaseEffectClip-s can have additional GES.BaseEffect-s added as non-core elements. These additional effects are applied to the output of the core effects of the clip that they share a GES.Track with. See GES.Clip for how to add and move these effects from the clip.

Note that you cannot add time effects to GES.BaseEffectClip, neither as core children, nor as additional effects.

Hierarchy (View Summary)

Implements

Index

Constructors

Properties

Properties - Inherited from GES.OperationClip

Accessors - Inherited from GES.OperationClip

Methods

Methods - Inherited from GES.OperationClip

add add_asset add_child_property add_child_to_track add_metas_from_string add_top_effect check_meta_registered copy edit edit_full find_track_element find_track_elements foreach get_asset get_boolean get_child_property get_child_property_by_pspec get_children get_date get_date_time get_double get_duration get_duration_limit get_float get_id get_inpoint get_int get_int64 get_internal_time_from_timeline_time get_layer get_layer_priority get_marker_list get_max_duration get_meta get_name get_natural_framerate get_parent get_priority get_start get_string get_supported_formats get_timeline get_timeline_time_from_internal_time get_timeline_time_from_source_frame get_top_effect_index get_top_effect_position get_top_effects get_toplevel_parent get_track_types get_uint get_uint64 is_moving_between_layers list_children_properties lookup_child metas_to_string move_to_layer move_to_layer_full paste register_meta register_meta_boolean register_meta_date register_meta_date_time register_meta_double register_meta_float register_meta_int register_meta_int64 register_meta_string register_meta_uint register_meta_uint64 register_static_meta remove remove_child_property remove_top_effect ripple ripple_end roll_end roll_start set_asset set_boolean set_child_property set_child_property_by_pspec set_child_property_full set_date set_date_time set_double set_duration set_float set_inpoint set_int set_int64 set_marker_list set_max_duration set_meta set_name set_parent set_priority set_start set_string set_supported_formats set_timeline set_top_effect_index set_top_effect_index_full set_top_effect_priority set_uint set_uint64 split split_full trim ungroup vfunc_add_child vfunc_child_added vfunc_child_removed vfunc_create_track_element vfunc_create_track_elements vfunc_deep_copy vfunc_edit vfunc_get_id vfunc_get_layer_priority vfunc_get_natural_framerate vfunc_get_track_types vfunc_lookup_child vfunc_remove_child vfunc_ripple vfunc_ripple_end vfunc_roll_end vfunc_roll_start vfunc_set_asset vfunc_set_asset_full vfunc_set_child_property vfunc_set_child_property_full vfunc_set_duration vfunc_set_inpoint vfunc_set_max_duration vfunc_set_parent vfunc_set_priority vfunc_set_start vfunc_trim vfunc_ungroup _classInit compat_control find_property group install_properties install_property interface_find_property interface_install_property interface_list_properties list_properties newv override_property

Constructors

Properties

Compile-time signal type information.

This instance property is generated only for TypeScript type checking. It is not defined at runtime and should not be accessed in JS code.

Properties - Inherited from GES.OperationClip

asset: GES.Asset
children: GES.TimelineElement[]
children_control_mode: ChildrenControlMode
initiated_move: GES.TimelineElement
inpoint: number
maxduration: number

Accessors - Inherited from GES.OperationClip

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

    Returns number

  • set duration(val: number): void

    Parameters

    • val: number

    Returns void

  • get height(): number

    The span of the container's children's GES.TimelineElement.priority values, which is the number of integers that lie between (inclusive) the minimum and maximum priorities found amongst the container's children (maximum - minimum + 1).

    Returns number

  • get 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 GES.TimelineElement.start, it will begin outputting the data from the timestamp in-point onwards, until it reaches the end of its GES.TimelineElement.duration in the timeline.

    For elements that have no internal content, this should be kept as 0.

    Returns number

  • set in_point(val: number): void

    Parameters

    • val: number

    Returns void

  • get inPoint(): 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 GES.TimelineElement.start, it will begin outputting the data from the timestamp in-point onwards, until it reaches the end of its GES.TimelineElement.duration in the timeline.

    For elements that have no internal content, this should be kept as 0.

    Returns number

  • set inPoint(val: number): void

    Parameters

    • val: number

    Returns void

  • get layer(): GES.Layer

    The layer this clip lies in.

    If you want to connect to this property's GObject.Object::notify signal, you should connect to it with g_signal_connect_after() since the signal emission may be stopped internally.

    Returns GES.Layer

  • get 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 GES.TimelineElement.in_point of the element (which is in the same time coordinates), and will sometimes be used to limit the GES.TimelineElement.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.

    Returns number

  • set max_duration(val: number): void

    Parameters

    • val: number

    Returns void

  • get maxDuration(): 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 GES.TimelineElement.in_point of the element (which is in the same time coordinates), and will sometimes be used to limit the GES.TimelineElement.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.

    Returns number

  • set maxDuration(val: number): void

    Parameters

    • val: number

    Returns void

  • get name(): string

    The name of the element. This should be unique within its timeline.

    Returns string

  • set name(val: string): void

    Parameters

    • val: string

    Returns void

  • get priority(): number

    The priority of the element.

    Returns number

    since 1.10: Priority management is now done by GES itself.

  • set priority(val: number): void

    Parameters

    • val: number

    Returns void

  • get serialize(): boolean

    Whether the element should be serialized.

    Returns boolean

  • set serialize(val: boolean): void

    Parameters

    • val: boolean

    Returns void

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

    Returns number

  • set start(val: number): void

    Parameters

    • val: number

    Returns void

Methods

  • Creates a binding between source_property on source and target_property on target.

    Whenever the source_property is changed the target_property is updated using the same value. For instance:

      g_object_bind_property (action, "active", widget, "sensitive", 0);
    

    Will result in the "sensitive" property of the widget GObject.Object instance to be updated with the same value of the "active" property of the action GObject.Object instance.

    If flags contains GObject.BindingFlags.BIDIRECTIONAL then the binding will be mutual: if target_property on target changes then the source_property on source will be updated as well.

    The binding will automatically be removed when either the source or the target instances are finalized. To remove the binding without affecting the source and the target you can just call g_object_unref() on the returned GObject.Binding instance.

    Removing the binding by calling g_object_unref() on it must only be done if the binding, source and target are only used from a single thread and it is clear that both source and target outlive the binding. Especially it is not safe to rely on this if the binding, source or target can be finalized from different threads. Keep another reference to the binding and use g_binding_unbind() instead to be on the safe side.

    A GObject.Object can have multiple bindings.

    Parameters

    Returns GObject.Binding

    the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.

  • Complete version of g_object_bind_property().

    Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

    If flags contains GObject.BindingFlags.BIDIRECTIONAL then the binding will be mutual: if target_property on target changes then the source_property on source will be updated as well. The transform_from function is only used in case of bidirectional bindings, otherwise it will be ignored

    The binding will automatically be removed when either the source or the target instances are finalized. This will release the reference that is being held on the GObject.Binding instance; if you want to hold on to the GObject.Binding instance, you will need to hold a reference to it.

    To remove the binding, call g_binding_unbind().

    A GObject.Object can have multiple bindings.

    The same user_data parameter will be used for both transform_to and transform_from transformation functions; the notify function will be called once, when the binding is removed. If you need different data for each transformation function, please use g_object_bind_property_with_closures() instead.

    Parameters

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target GObject.Object

    • target_property: string

      the property on target to bind

    • flags: GObject.BindingFlags

      flags to pass to GObject.Binding

    • Optionaltransform_to: BindingTransformFunc

      the transformation function from the source to the target, or null to use the default

    • Optionaltransform_from: BindingTransformFunc

      the transformation function from the target to the source, or null to use the default

    • Optionalnotify: DestroyNotify

      a function to call when disposing the binding, to free resources used by the transformation functions, or null if not required

    Returns GObject.Binding

    the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.

  • Creates a binding between source_property on source and target_property on target, allowing you to set the transformation functions to be used by the binding.

    This function is the language bindings friendly version of g_object_bind_property_full(), using GClosures instead of function pointers.

    Parameters

    • ...args: never[]

      the property on source to bind

    Returns any

    the GObject.Binding instance representing the binding between the two GObject.Object instances. The binding is released whenever the GObject.Binding reference count reaches zero.

  • Disconnects a handler from an instance so it will not be called during any future or currently ongoing emissions of the signal it has been connected to.

    Parameters

    • id: number

      Handler ID of the handler to be disconnected

    Returns void

  • Increases the freeze count on object. If the freeze count is non-zero, the emission of "notify" signals on object is stopped. The signals are queued until the freeze count is decreased to zero. Duplicate notifications are squashed so that at most one GObject.Object::notify signal is emitted for each property modified while the object is frozen.

    This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.

    Returns void

  • Gets a named field from the objects table of associations (see g_object_set_data()).

    Parameters

    • key: string

      name of the key for that association

    Returns any

    the data if found, or null if no such data exists.

  • Gets a property of an object.

    The value can be:

    • an empty GObject.Value initialized by G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60)
    • a GObject.Value initialized with the expected type of the property
    • a GObject.Value initialized with a type to which the expected type of the property can be transformed

    In general, a copy is made of the property contents and the caller is responsible for freeing the memory by calling GObject.Value.unset.

    Note that GObject.Object.get_property is really intended for language bindings, GObject.Object.get is much more convenient for C programming.

    Parameters

    • property_name: string

      The name of the property to get

    • value: any

      Return location for the property value. Can be an empty GObject.Value initialized by G_VALUE_INIT (auto-initialized with expected type since GLib 2.60), a GObject.Value initialized with the expected property type, or a GObject.Value initialized with a transformable type

    Returns any

  • Gets n_properties properties for an object. Obtained properties will be set to values. All properties must be valid. Warnings will be emitted and undefined behaviour may result if invalid properties are passed in.

    Parameters

    • names: string[]

      the names of each property to get

    • values: any[]

      the values of each property to get

    Returns void

  • Emits a "notify" signal for the property property_name on object.

    When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.

    Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.

    Parameters

    • property_name: string

      the name of a property installed on the class of object.

    Returns void

  • Emits a "notify" signal for the property specified by pspec on object.

    This function omits the property name lookup, hence it is faster than g_object_notify().

    One way to avoid using g_object_notify() from within the class that registered the properties, and using g_object_notify_by_pspec() instead, is to store the GParamSpec used with g_object_class_install_property() inside a static array, e.g.:

      typedef enum
    {
    PROP_FOO = 1,
    PROP_LAST
    } MyObjectProperty;

    static GParamSpec *properties[PROP_LAST];

    static void
    my_object_class_init (MyObjectClass *klass)
    {
    properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL,
    0, 100,
    50,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    g_object_class_install_property (gobject_class,
    PROP_FOO,
    properties[PROP_FOO]);
    }

    and then notify a change on the "foo" property with:

      g_object_notify_by_pspec (self, properties[PROP_FOO]);
    

    Parameters

    Returns void

  • Increases the reference count of object.

    Since GLib 2.56, if GLIB_VERSION_MAX_ALLOWED is 2.56 or greater, the type of object will be propagated to the return type (using the GCC typeof() extension), so any casting the caller needs to do on the return type must be explicit.

    Returns GObject.Object

    the same object

  • Increase the reference count of object, and possibly remove the floating reference, if object has a floating reference.

    In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the reference count by one.

    Since GLib 2.56, the type of object will be propagated to the return type under the same conditions as for g_object_ref().

    Returns GObject.Object

    object

  • Sets multiple properties of an object at once. The properties argument should be a dictionary mapping property names to values.

    Parameters

    • properties: { [key: string]: any }

      Object containing the properties to set

    Returns void

  • Each object carries around a table of associations from strings to pointers. This function lets you set an association.

    If the object already had an association with that name, the old association will be destroyed.

    Internally, the key is converted to a GLib.Quark using g_quark_from_string(). This means a copy of key is kept permanently (even after object has been finalized) — so it is recommended to only use a small, bounded set of values for key in your program, to avoid the GLib.Quark storage growing unbounded.

    Parameters

    • key: string

      name of the key

    • Optionaldata: any

      data to associate with that key

    Returns void

  • This function gets back user data pointers stored via g_object_set_qdata() and removes the data from object without invoking its destroy() function (if any was set). Usually, calling this function is only required to update user data pointers with a destroy notifier, for example:

    void
    object_add_to_user_list (GObject *object,
    const gchar *new_string)
    {
    // the quark, naming the object data
    GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
    // retrieve the old string list
    GList *list = g_object_steal_qdata (object, quark_string_list);

    // prepend new string
    list = g_list_prepend (list, g_strdup (new_string));
    // this changed 'list', so we need to set it again
    g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
    }
    static void
    free_string_list (gpointer data)
    {
    GList *node, *list = data;

    for (node = list; node; node = node->next)
    g_free (node->data);
    g_list_free (list);
    }

    Using g_object_get_qdata() in the above example, instead of g_object_steal_qdata() would have left the destroy function set, and thus the partial string list would have been freed upon g_object_set_qdata_full().

    Parameters

    • quark: number

      A GLib.Quark, naming the user data pointer

    Returns any

    The user data pointer set, or null

  • Reverts the effect of a previous call to g_object_freeze_notify(). The freeze count is decreased on object and when it reaches zero, queued "notify" signals are emitted.

    Duplicate notifications for each property are squashed so that at most one GObject.Object::notify signal is emitted for each property, in the reverse order in which they have been queued.

    It is an error to call this function when the freeze count is zero.

    Returns void

  • Decreases the reference count of object. When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

    If the pointer to the GObject.Object may be reused in future (for example, if it is an instance variable of another object), it is recommended to clear the pointer to null rather than retain a dangling pointer to a potentially invalid GObject.Object instance. Use g_clear_object() for this.

    Returns void

  • the constructed function is called by g_object_new() as the final step of the object creation process. At the point of the call, all construction properties have been set on the object. The purpose of this call is to allow for object initialisation steps that can only be performed after construction properties have been set. constructed implementors should chain up to the constructed call of their parent class to allow it to complete its initialisation.

    Returns void

  • the dispose function is supposed to drop all references to other objects, but keep the instance otherwise intact, so that client method invocations still work. It may be run multiple times (due to reference loops). Before returning, dispose should chain up to the dispose method of the parent class.

    Returns void

  • Emits a "notify" signal for the property property_name on object.

    When possible, eg. when signaling a property change from within the class that registered the property, you should use g_object_notify_by_pspec() instead.

    Note that emission of the notify signal may be blocked with g_object_freeze_notify(). In this case, the signal emissions are queued and will be emitted (in reverse order) when g_object_thaw_notify() is called.

    Parameters

    Returns void

  • the generic setter for all properties of this type. Should be overridden for every type with properties. If implementations of set_property don't emit property change notification explicitly, this will be done implicitly by the type system. However, if the notify signal is emitted explicitly, the type system will not emit it a second time.

    Parameters

    Returns void

  • This function essentially limits the life time of the closure to the life time of the object. That is, when the object is finalized, the closure is invalidated by calling g_closure_invalidate() on it, in order to prevent invocations of the closure with a finalized (nonexisting) object. Also, g_object_ref() and g_object_unref() are added as marshal guards to the closure, to ensure that an extra reference count is held on object during invocation of the closure. Usually, this function will be called on closures that use this object as closure data.

    Parameters

    Returns void

Methods - Inherited from GES.OperationClip

  • Adds a timeline element to the container. The element will now be a child of the container (and the container will be the GES.TimelineElement.parent of the added element), which means that it is now controlled by the container. This may change the properties of the child or the container, depending on the subclass.

    Additionally, the children properties of the newly added element will be shared with the container, meaning they can also be read and set using ges_timeline_element_get_child_property() and ges_timeline_element_set_child_property() on the container.

    Parameters

    Returns boolean

    true if child was successfully added to container.

  • 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 GES.TimelineElement.SignalSignatures.deep_notify | GES.TimelineElement::deep-notify signal.

    pspec should be unique from other children properties that have been registered on self.

    Parameters

    Returns boolean

    true if the property was successfully registered.

  • Adds the track element child of the clip to a specific track.

    If the given child is already in another track, this will create a copy of the child, add it to the clip, and add this copy to the track.

    You should only call this whilst a clip is part of a GES.Timeline, and for tracks that are in the same timeline.

    This method is an alternative to using the GES.Timeline.SignalSignatures.select_tracks_for_object | GES.Timeline::select-tracks-for-object signal, but can be used to complement it when, say, you wish to copy a clip's children from one track into a new one.

    When the child is a core child, it must be added to a track that does not already contain another core child of the same clip. If it is not a core child (an additional effect), then it must be added to a track that already contains one of the core children of the same clip.

    This method can also fail if the adding the track element to the track would break a configuration rule of the corresponding GES.Timeline, such as causing three sources to overlap at a single time, or causing a source to completely overlap another in the same track.

    Parameters

    Returns GES.TrackElement

    The element that was added to track, either child or a copy of child, or null if the element could not be added.

  • Deserializes the given string, and adds and sets the found fields and their values on the container. The string should be the return of ges_meta_container_metas_to_string().

    Parameters

    • str: string

      A string to deserialize and add to container

    Returns boolean

    true if the fields in str was successfully deserialized and added to container.

  • Add a top effect to a clip at the given index.

    Unlike using ges_container_add(), this allows you to set the index in advance. It will also check that no error occurred during the track selection for the effect.

    Note, only subclasses of GES.ClipClass that have #GES_CLIP_CLASS_CAN_ADD_EFFECTS set to true (such as GES.SourceClip and GES.BaseEffectClip) can have additional top effects added.

    Note, if the effect is a time effect, this may be refused if the clip would not be able to adapt itself once the effect is added.

    Parameters

    • effect: GES.BaseEffect

      A top effect to add

    • index: number

      The index to add effect at, or -1 to add at the highest, see ges_clip_get_top_effect_index for more information

    Returns boolean

    true if effect was successfully added to clip at index.

  • Create a copy of self. All the properties of self are copied into a new element, with the exception of GES.TimelineElement.parent, GES.TimelineElement.timeline and GES.TimelineElement.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_timeline_element_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

    • deep: boolean

      Whether the copy is needed for pasting

    Returns GES.TimelineElement

    The newly create element, copied from self.

  • Edits the container within its timeline.

    Parameters

    • 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 container should be moved to. -1 means no move

    • mode: GES.EditMode

      The edit mode

    • edge: GES.Edge

      The edge of container where the edit should occur

    • position: number

      The edit position: a new location for the edge of container (in nanoseconds)

    Returns boolean

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

  • Edits the element within its timeline by adjusting its GES.TimelineElement.start, GES.TimelineElement.duration or GES.TimelineElement.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_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 GES.TimelineElement.start of self reach the edit position.

    Note that if the element's timeline has a GES.Timeline.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

    • 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 boolean

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

  • Finds an element controlled by the clip. If track is given, then only the track elements in track are searched for. If type is given, then this function searches for a track element of the given type.

    Note, if multiple track elements in the clip match the given criteria, this will return the element amongst them with the highest GES.TimelineElement.priority (numerically, the smallest). See ges_clip_find_track_elements() if you wish to find all such elements.

    Parameters

    • track: GES.Track

      The track to search in, or null to search in all tracks

    • type: GType

      The type of track element to search for, or G_TYPE_NONE to match any type

    Returns GES.TrackElement

    The element controlled by clip, in track, and of the given type, or null if no such element could be found.

  • Finds the GES.TrackElement-s controlled by the clip that match the given criteria. If track is given as null and track_type is given as #GES_TRACK_TYPE_UNKNOWN, then the search will match all elements in any track, including those with no track, and of any GES.TrackElement.track_type. Otherwise, if track is not null, but track_type is #GES_TRACK_TYPE_UNKNOWN, then only the track elements in track are searched for. Otherwise, if track_type is not #GES_TRACK_TYPE_UNKNOWN, but track is null, then only the track elements whose GES.TrackElement.track_type matches track_type are searched for. Otherwise, when both are given, the track elements that match either criteria are searched for. Therefore, if you wish to only find elements in a specific track, you should give the track as track, but you should not give the track's GES.Track.track_type as track_type because this would also select elements from other tracks of the same type.

    You may also give type to further restrict the search to track elements of the given type.

    Parameters

    • track: GES.Track

      The track to search in, or null to search in all tracks

    • track_type: GES.TrackType

      The track-type of the track element to search for, or #GES_TRACK_TYPE_UNKNOWN to match any track type

    • type: GType

      The type of track element to search for, or G_TYPE_NONE to match any type

    Returns GES.TrackElement[]

    A list of all the GES.TrackElement-s controlled by clip, in track or of the given track_type, and of the given type.

  • Gets the current boolean value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, boolean]

    true if the boolean value under meta_item was copied to dest.

  • 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

    • property_name: string

      The name of the child property to get

    Returns [boolean, unknown]

    true if the property was found and copied to value.

  • Gets the current date value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, GLib.Date]

    true if the date value under meta_item was copied to dest.

  • Gets the current date time value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, Gst.DateTime]

    true if the date time value under meta_item was copied to dest.

  • Gets the current double value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, number]

    true if the double value under meta_item was copied to dest.

  • Gets the current float value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, number]

    true if the float value under meta_item was copied to dest.

  • Gets the current int value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, number]

    true if the int value under meta_item was copied to dest.

  • Gets the current int64 value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, number]

    true if the int64 value under meta_item was copied to dest.

  • Convert the timeline time to an internal source time of the child. This will take any time effects placed on the clip into account (see GES.BaseEffect for what time effects are supported, and how to declare them in GES).

    When timeline_time is above the GES.TimelineElement.start of clip, this will return the internal time at which the content that appears at timeline_time in the output of the timeline is created in child. For example, if timeline_time corresponds to the current seek position, this would let you know which part of a media file is being read.

    This will be done assuming the clip has an indefinite end, so the internal time may be beyond the current out-point of the child, or even its GES.TimelineElement.max_duration.

    If, instead, timeline_time is below the current GES.TimelineElement.start of clip, this will return what you would need to set the GES.TimelineElement.in_point of child to if you set the GES.TimelineElement.start of clip to timeline_time and wanted to keep the content of child currently found at the current GES.TimelineElement.start of clip at the same timeline position. If this would be negative, the conversion fails. This is useful for determining what GES.TimelineElement.in_point would result from a #GES_EDIT_MODE_TRIM to timeline_time.

    Note that whilst a clip has no time effects, this second return is equivalent to finding the internal time at which the content that appears at timeline_time in the timeline can be found in child if it had indefinite extent in both directions. However, with non-linear time effects this second return will be more distinct.

    In either case, the returned time would be appropriate to use for the GES.TimelineElement.in_point or GES.TimelineElement.max_duration of the child.

    See ges_clip_get_timeline_time_from_internal_time(), which performs the reverse.

    Parameters

    Returns number

    The time in the internal coordinates of child corresponding to timeline_time, or #GST_CLOCK_TIME_NONE if the conversion could not be performed.

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

    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.

  • Gets the current string value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns string

    The string value under meta_item, or null if it could not be fetched.

  • Convert the internal source time from the child to a timeline time. This will take any time effects placed on the clip into account (see GES.BaseEffect for what time effects are supported, and how to declare them in GES).

    When internal_time is above the GES.TimelineElement.in_point of child, this will return the timeline time at which the internal content found at internal_time appears in the output of the timeline's track. For example, this would let you know where in the timeline a particular scene in a media file would appear.

    This will be done assuming the clip has an indefinite end, so the timeline time may be beyond the end of the clip, or even breaking its GES.Clip.duration_limit.

    If, instead, internal_time is below the current GES.TimelineElement.in_point of child, this will return what you would need to set the GES.TimelineElement.start of clip to if you set the GES.TimelineElement.in_point of child to internal_time and wanted to keep the content of child currently found at the current GES.TimelineElement.start of clip at the same timeline position. If this would be negative, the conversion fails. This is useful for determining what position to use in a #GES_EDIT_MODE_TRIM if you wish to trim to a specific point in the internal content, such as a particular scene in a media file.

    Note that whilst a clip has no time effects, this second return is equivalent to finding the timeline time at which the content of child at internal_time would be found in the timeline if it had indefinite extent in both directions. However, with non-linear time effects this second return will be more distinct.

    In either case, the returned time would be appropriate to use in ges_timeline_element_edit() for #GES_EDIT_MODE_TRIM, and similar, if you wish to use a particular internal point as a reference. For example, you could choose to end a clip at a certain internal 'out-point', similar to the GES.TimelineElement.in_point, by translating the desired end time into the timeline coordinates, and using this position to trim the end of a clip.

    See ges_clip_get_internal_time_from_timeline_time(), which performs the reverse, or ges_clip_get_timeline_time_from_source_frame() which does the same conversion, but using frame numbers.

    Parameters

    Returns number

    The time in the timeline coordinates corresponding to internal_time, or #GST_CLOCK_TIME_NONE if the conversion could not be performed.

  • Convert the source frame number to a timeline time. This acts the same as ges_clip_get_timeline_time_from_internal_time() using the core children of the clip and using the frame number to specify the internal position, rather than a timestamp.

    The returned timeline time can be used to seek or edit to a specific frame.

    Note that you can get the frame timestamp of a particular clip asset with ges_clip_asset_get_frame_time().

    Parameters

    • frame_number: number

      The frame number to get the corresponding timestamp of in the timeline coordinates

    Returns number

    The timestamp corresponding to frame_number in the core children of clip, in the timeline coordinates, or #GST_CLOCK_TIME_NONE if the conversion could not be performed.

  • Gets the internal index of an effect in the clip. The index of effects in a clip will run from 0 to n-1, where n is the total number of effects. If two effects share the same GES.TrackElement.track, the effect with the numerically lower index will be applied to the source data after the other effect, i.e. output data will always flow from a higher index effect to a lower index effect.

    Parameters

    Returns number

    The index of effect in clip, or -1 if something went wrong.

  • Gets the current uint value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, number]

    true if the uint value under meta_item was copied to dest.

  • Gets the current uint64 value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

    Parameters

    • meta_item: string

      The key for the container field to get

    Returns [boolean, number]

    true if the uint64 value under meta_item was copied to dest.

  • Tells you if the clip is currently in the process of being moved from one layer to another. This is useful from the layer::clip-added and layer::clip-removed callbacks to know if the clip is being moved between layers, or is being added/removed for other reasons (like being added for the first time, or being actually removed).

    Returns boolean

    true if clip is currently being moved between layers, false otherwise.

  • 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

    • prop_name: string

      The name of a child property

    Returns [boolean, GObject.Object, GObject.ParamSpec<unknown>]

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

  • Moves a clip to a new layer. If the clip already exists in a layer, it is first removed from its current layer before being added to the new layer.

    Parameters

    Returns boolean

    true if clip was successfully moved to layer.

  • 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

    • paste_position: number

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

    Returns GES.TimelineElement

    The newly created element, or null if pasting fails.

  • Sets the value of the specified field of the meta container to the given value, and registers the field to only hold a value of the same type. After calling this, only values of the same type as value can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: any

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold value types, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given boolean value, and registers the field to only hold a boolean typed value. After calling this, only boolean values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: boolean

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold boolean typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given date value, and registers the field to only hold a date typed value. After calling this, only date values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: GLib.Date

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold date typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given date time value, and registers the field to only hold a date time typed value. After calling this, only date time values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: Gst.DateTime

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold date time typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given double value, and registers the field to only hold a double typed value. After calling this, only double values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: number

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold double typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given float value, and registers the field to only hold a float typed value. After calling this, only float values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: number

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold float typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given int value, and registers the field to only hold an int typed value. After calling this, only int values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: number

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold int typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given int64 value, and registers the field to only hold an int64 typed value. After calling this, only int64 values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: number

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold int64 typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given string value, and registers the field to only hold a string typed value. After calling this, only string values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: string

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold string typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given uint value, and registers the field to only hold a uint typed value. After calling this, only uint values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: number

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold uint typed values, with the given flags, and the field was successfully set to value.

  • Sets the value of the specified field of the meta container to the given uint64 value, and registers the field to only hold a uint64 typed value. After calling this, only uint64 values can be set for this field. The given flags can be set to make this field only readable after calling this method.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • value: number

      The value to set for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold uint64 typed values, with the given flags, and the field was successfully set to value.

  • Registers a static metadata field on the container to only hold the specified type. After calling this, setting a value under this field can only succeed if its type matches the registered type of the field.

    Unlike ges_meta_container_register_meta(), no (initial) value is set for this field, which means you can use this method to reserve the space to be optionally set later.

    Note that if a value has already been set for the field being registered, then its type must match the registering type, and its value will be left in place. If the field has no set value, then you will likely want to include #GES_META_WRITABLE in flags to allow the value to be set later.

    Parameters

    • flags: GES.MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • type: GType

      The required value type for the registered field

    Returns boolean

    true if the meta_item field was successfully registered on container to only hold type values, with the given flags.

  • 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

    Returns boolean

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

  • Remove a top effect from the clip.

    Note, if the effect is a time effect, this may be refused if the clip would not be able to adapt itself once the effect is removed.

    Parameters

    Returns boolean

    true if effect was successfully added to clip at index.

  • 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

    • start: number

      The new start time of self in ripple mode

    Returns boolean

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

  • 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

    • end: number

      The new end time of self in ripple mode

    Returns boolean

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

  • 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

    • end: number

      The new end time of self in roll mode

    Returns boolean

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

  • 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

    • start: number

      The new start time of self in roll mode

    Returns boolean

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

  • Sets the asset for this extractable object.

    When an object is extracted from an asset using ges_asset_extract() its asset will be automatically set. Note that many classes that implement GES.Extractable will automatically create their objects using assets when you call their new methods. However, you can use this method to associate an object with a compatible asset if it was created by other means and does not yet have an asset. Or, for some implementations of GES.Extractable, you can use this to change the asset of the given extractable object, which will lead to a change in its state to match the new asset GES.Asset.id.

    Parameters

    Returns boolean

    true if asset could be successfully set on self.

  • Sets the value of the specified field of the meta container to the given boolean value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: boolean

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • 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

    • property_name: string

      The name of the child property to set

    • value: any

      The value to set the property to

    Returns boolean

    true if the property was found and set.

  • 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

    • property_name: string

      The name of the child property to set

    • value: any

      The value to set the property to

    Returns boolean

    true if the property was found and set.

  • Sets the value of the specified field of the meta container to the given date value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: GLib.Date

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Sets the value of the specified field of the meta container to the given double value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: number

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Sets GES.TimelineElement.duration for the element.

    Whilst the element is part of a GES.Timeline, 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 GES.TimelineElement.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

    • duration: number

      The desired duration in its timeline

    Returns boolean

    true if duration could be set for self.

  • Sets the value of the specified field of the meta container to the given float value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: number

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Sets the value of the specified field of the meta container to the given int value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: number

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Sets the value of the specified field of the meta container to the given int64 value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: number

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Sets the value of the specified field of the meta container to a copy of the given value. If the given value is null, the field given by meta_item is removed and true is returned.

    Parameters

    • meta_item: string

      The key for the container field to set

    • Optionalvalue: GObject.Value

      The value to set under meta_item, or null to remove the corresponding field

    Returns boolean

    true if value was set under meta_item for container.

  • Sets the GES.TimelineElement.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 GES.TimelineElement.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

    • Optionalname: string

      The name self should take

    Returns boolean

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

  • Sets the GES.TimelineElement.parent for the element.

    This is used internally and you should normally not call this. A GES.Container will set the GES.TimelineElement.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

    Returns boolean

    true if parent could be set for self.

  • Sets the priority of the element within the containing layer.

    Parameters

    • priority: number

      The priority

    Returns boolean

    true if priority could be set for self.

  • Sets GES.TimelineElement.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_timeline_element_edit() under #GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the GES.TimelineElement.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

    • start: number

      The desired start position of the element in its timeline

    Returns boolean

    true if start could be set for self.

  • Sets the value of the specified field of the meta container to the given string value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: string

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Set the index of an effect within the clip. See ges_clip_get_top_effect_index(). The new index must be an existing index of the clip. The effect is moved to the new index, and the other effects may be shifted in index accordingly to otherwise maintain the ordering.

    Parameters

    • effect: GES.BaseEffect

      An effect within clip to move

    • newindex: number

      The index for effect in clip

    Returns boolean

    true if effect was successfully moved to newindex.

  • Sets the value of the specified field of the meta container to the given uint value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: number

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • Sets the value of the specified field of the meta container to the given uint64 value.

    Parameters

    • meta_item: string

      The key for the container field to set

    • value: number

      The value to set under meta_item

    Returns boolean

    true if value was set under meta_item for container.

  • See ges_clip_split_full(), which also gives an error.

    Parameters

    • position: number

      The timeline position at which to perform the split

    Returns GES.Clip

    The newly created clip resulting from the splitting clip, or null if clip can't be split.

  • Splits a clip at the given timeline position into two clips. The clip must already have a GES.Clip.layer.

    The original clip's GES.TimelineElement.duration is reduced such that its end point matches the split position. Then a new clip is created in the same layer, whose GES.TimelineElement.start matches the split position and GES.TimelineElement.duration will be set such that its end point matches the old end point of the original clip. Thus, the two clips together will occupy the same positions in the timeline as the original clip did.

    The children of the new clip will be new copies of the original clip's children, so it will share the same sources and use the same operations.

    The new clip will also have its GES.TimelineElement.in_point set so that any internal data will appear in the timeline at the same time. Thus, when the timeline is played, the playback of data should appear the same. This may be complicated by any additional GES.Effect-s that have been placed on the original clip that depend on the playback time or change the data consumption rate of sources. This method will attempt to translate these effects such that the playback appears the same. In such complex situations, you may get a better result if you place the clip in a separate sub GES.Project, which only contains this clip (and its effects), and in the original layer create two neighbouring GES.UriClip-s that reference this sub-project, but at a different GES.TimelineElement.in_point.

    Parameters

    • position: number

      The timeline position at which to perform the split, between the start and end of the clip

    Returns GES.Clip

    The newly created clip resulting from the splitting clip, or null if clip can't be split.

  • 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

    • start: number

      The new start time of self in trim mode

    Returns boolean

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

  • Ungroups the container by splitting it into several containers containing various children of the original. The rules for how the container splits depends on the subclass. A GES.Group will simply split into its children. A GES.Clip will split into one GES.Clip per GES.TrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the GES.TrackElement-s from the original clip with a matching GES.TrackElement.track_type.

    If recursive is true, and the container contains other containers as children, then they will also be ungrouped, and so on.

    Parameters

    • recursive: boolean

      Whether to recursively ungroup container

    Returns GES.Container[]

    The list of new GES.Container-s created from the splitting of container.

  • Edits the container within its timeline.

    Parameters

    • 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 container should be moved to. -1 means no move

    • mode: GES.EditMode

      The edit mode

    • edge: GES.Edge

      The edge of container where the edit should occur

    • position: number

      The edit position: a new location for the edge of container (in nanoseconds)

    Returns boolean

  • 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

    • prop_name: string

      The name of a child property

    Returns [boolean, GObject.Object, GObject.ParamSpec<unknown>]

  • 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

    • start: number

      The new start time of self in ripple mode

    Returns boolean

  • 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

    • end: number

      The new end time of self in ripple mode

    Returns boolean

  • 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

    • end: number

      The new end time of self in roll mode

    Returns boolean

  • 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

    • start: number

      The new start time of self in roll mode

    Returns boolean

  • Sets GES.TimelineElement.duration for the element.

    Whilst the element is part of a GES.Timeline, 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 GES.TimelineElement.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

    • duration: number

      The desired duration in its timeline

    Returns boolean

  • Sets GES.TimelineElement.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_timeline_element_edit() under #GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the GES.TimelineElement.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

    • start: number

      The desired start position of the element in its timeline

    Returns boolean

  • 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

    • start: number

      The new start time of self in trim mode

    Returns boolean

  • Ungroups the container by splitting it into several containers containing various children of the original. The rules for how the container splits depends on the subclass. A GES.Group will simply split into its children. A GES.Clip will split into one GES.Clip per GES.TrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the GES.TrackElement-s from the original clip with a matching GES.TrackElement.track_type.

    If recursive is true, and the container contains other containers as children, then they will also be ungrouped, and so on.

    Parameters

    • recursive: boolean

      Whether to recursively ungroup container

    Returns GES.Container[]

  • Add a property to an interface; this is only useful for interfaces that are added to GObject-derived types. Adding a property to an interface forces all objects classes with that interface to have a compatible property. The compatible property could be a newly created GObject.ParamSpec, but normally g_object_class_override_property() will be used so that the object class only needs to provide an implementation and inherits the property description, default value, bounds, and so forth from the interface property.

    This function is meant to be called from the interface's default vtable initialization function (the class_init member of GObject.TypeInfo.) It must not be called after after class_init has been called for any object types implementing this interface.

    If pspec is a floating reference, it will be consumed.

    Parameters

    Returns void

Interfaces

ConstructorProps
SignalSignatures