Gjsify LogoGjsify Logo

A #GESGroup controls one or more #GESContainer-s (usually #GESClip-s, but it can also control other #GESGroup-s). Its children must share the same #GESTimeline, but can otherwise lie in separate #GESLayer-s and have different timings.

To initialise a group, you may want to use ges_container_group(), and similarly use ges_container_ungroup() to dispose of it.

A group will maintain the relative #GESTimelineElement:start times of its children, as well as their relative layer #GESLayer:priority. Therefore, if one of its children has its #GESTimelineElement:start set, all other children will have their #GESTimelineElement:start shifted by the same amount. Similarly, if one of its children moves to a new layer, the other children will also change layers to maintain the difference in their layer priorities. For example, if a child moves from a layer with #GESLayer:priority 1 to a layer with priority 3, then another child that was in a layer with priority 0 will move to the layer with priority 2.

The #GESGroup:start of a group refers to the earliest start time of its children. If the group's #GESGroup:start is set, all the children will be shifted equally such that the earliest start time will match the set value. The #GESGroup:duration of a group is the difference between the earliest start time and latest end time of its children. If the group's #GESGroup:duration is increased, the children whose end time matches the end of the group will be extended accordingly. If it is decreased, then any child whose end time exceeds the new end time will also have their duration decreased accordingly.

A group may span several layers, but for methods such as ges_timeline_element_get_layer_priority() and ges_timeline_element_edit() a group is considered to have a layer priority that is the highest #GESLayer:priority (numerically, the smallest) of all the layers it spans.

Hierarchy

Index

Constructors

Properties

Methods

Constructors

Properties

asset: Asset

The #GESAsset from which the object has been extracted

field
children: TimelineElement[]

The list of #GESTimelineElement-s controlled by this Container

field
children_control_mode: ChildrenControlMode
duration: number

An overwrite of the #GESTimelineElement:duration property. For a #GESGroup, this is the difference between the earliest #GESTimelineElement:start time and the latest end time (given by #GESTimelineElement:start + #GESTimelineElement:duration) amongst its children.

g_type_instance: TypeInstance
height: number

The #GESContainer:height of obj

field
in_point: number

An overwrite of the #GESTimelineElement:in-point property. This has no meaning for a group and should not be set.

initiated_move: TimelineElement
inpoint: number

The #GESTimelineElement:in-point of the element

field
max_duration: number

An overwrite of the #GESTimelineElement:max-duration property. This has no meaning for a group and should not be set.

maxduration: number

The #GESTimelineElement:max-duration of the element

field
name: string

The #GESTimelineElement:name of the element

field
parent: GES.Container

The #GESTimelineElement:parent of the element

parent_instance: InitiallyUnowned
priority: number

An overwrite of the #GESTimelineElement:priority property. Setting #GESTimelineElement priorities is deprecated as all priority management is now done by GES itself.

serialize: boolean

Whether the element should be serialized.

start: number

An overwrite of the #GESTimelineElement:start property. For a #GESGroup, this is the earliest #GESTimelineElement:start time amongst its children.

timeline: GES.Timeline

The #GESTimelineElement:timeline of the element

field
$gtype: GType<GES.Group>
name: string

Methods

  • Adds a timeline element to the container. The element will now be a child of the container (and the container will be the #GESTimelineElement: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

  • 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 #GESTimelineElement::deep-notify signal.

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

    Parameters

    • pspec: ParamSpec

      The specification for the property to add

    • child: GObject.Object

      The #GstObject who the property belongs to

    Returns boolean

  • add_metas_from_string(str: string): boolean
  • 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

  • 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 instance to be updated with the same value of the "active" property of the action #GObject instance.

    If flags contains %G_BINDING_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 #GBinding 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 can have multiple bindings.

    Parameters

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target #GObject

    • target_property: string

      the property on target to bind

    • flags: BindingFlags

      flags to pass to #GBinding

    Returns Binding

  • 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

    • source_property: string

      the property on source to bind

    • target: GObject.Object

      the target #GObject

    • target_property: string

      the property on target to bind

    • flags: BindingFlags

      flags to pass to #GBinding

    • transform_to: TClosure<any, any>

      a #GClosure wrapping the transformation function from the source to the target, or %NULL to use the default

    • transform_from: TClosure<any, any>

      a #GClosure wrapping the transformation function from the target to the source, or %NULL to use the default

    Returns Binding

  • check_meta_registered(meta_item: string): [boolean, MetaFlag, GType<unknown>]
  • Checks whether the specified field has been registered as static, and gets the registered type and flags of the field, as used in ges_meta_container_register_meta() and ges_meta_container_register_static_meta().

    Parameters

    • meta_item: string

      The key for the container field to check

    Returns [boolean, MetaFlag, GType<unknown>]

  • connect(sigName: "notify::duration", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect(sigName: "notify::in-point", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect(sigName: "notify::max-duration", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect(sigName: "notify::priority", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect(sigName: "notify::start", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect(sigName: "notify::serialize", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect(sigName: string, callback: ((...args: any[]) => void)): number
  • connect_after(sigName: "notify::duration", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect_after(sigName: "notify::in-point", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect_after(sigName: "notify::max-duration", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect_after(sigName: "notify::priority", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect_after(sigName: "notify::start", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect_after(sigName: "notify::serialize", callback: (($obj: GES.Group, pspec: ParamSpec) => void)): number
  • connect_after(sigName: string, callback: ((...args: any[]) => void)): number
  • Create a copy of self. All the properties of self are copied into a new element, with the exception of #GESTimelineElement:parent, #GESTimelineElement:timeline and #GESTimelineElement:name. Other data, such the list of a #GESContainer's children, is not copied.

    If deep is %TRUE, then the new element is prepared so that it can be used in ges_timeline_element_paste() or ges_timeline_paste_element(). In the case of copying a #GESContainer, this ensures that the children of self will also be pasted. The new element should not be used for anything else and can only be used once in a pasting operation. In particular, the new element itself is not an actual 'deep' copy of self, but should be thought of as an intermediate object used for a single paste operation.

    Parameters

    • deep: boolean

      Whether the copy is needed for pasting

    Returns TimelineElement

  • disconnect(id: number): void
  • edit(layers: GES.Layer[], new_layer_priority?: number, mode?: EditMode, edge?: Edge, position?: number): boolean
  • edit(layers: GES.Layer[], new_layer_priority?: number, mode?: EditMode, edge?: Edge, position?: number): boolean
  • edit(...args: any[]): any
  • edit(args_or_layers: any[] | GES.Layer[], new_layer_priority?: number, mode?: EditMode, edge?: Edge, position?: number): any
  • 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

    • Optional new_layer_priority: number

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

    • Optional mode: EditMode

      The edit mode

    • Optional edge: Edge

      The edge of container where the edit should occur

    • Optional position: number

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

    Returns boolean

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

    Note that the layers argument is currently ignored, so you should just pass %NULL.

    Parameters

    • layers: GES.Layer[]

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

    • Optional new_layer_priority: number

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

    • Optional mode: EditMode

      The edit mode

    • Optional edge: Edge

      The edge of self where the edit should occur

    • Optional position: number

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

    Returns boolean

  • Parameters

    • Rest ...args: any[]

    Returns any

  • Parameters

    • args_or_layers: any[] | GES.Layer[]
    • Optional new_layer_priority: number
    • Optional mode: EditMode
    • Optional edge: Edge
    • Optional position: number

    Returns any

  • edit_full(new_layer_priority: number, mode: EditMode, edge: Edge, position: number): boolean
  • Edits the element within its timeline by adjusting its #GESTimelineElement:start, #GESTimelineElement:duration or #GESTimelineElement:in-point, and potentially doing the same for other elements in the timeline. See #GESEditMode for details about each edit mode. An edit may fail if it would place one of these properties out of bounds, or if it would place the timeline in an unsupported configuration.

    Note that if you act on a #GESTrackElement, this will edit its parent #GESClip instead. Moreover, for any #GESTimelineElement, if you select #GES_EDGE_NONE for #GES_EDIT_MODE_NORMAL or #GES_EDIT_MODE_RIPPLE, this will edit the toplevel instead, but still in such a way as to make the #GESTimelineElement:start of self reach the edit position.

    Note that if the element's timeline has a #GESTimeline: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: EditMode

      The edit mode

    • edge: 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

  • emit(sigName: "notify::duration", ...args: any[]): void
  • emit(sigName: "notify::in-point", ...args: any[]): void
  • emit(sigName: "notify::max-duration", ...args: any[]): void
  • emit(sigName: "notify::priority", ...args: any[]): void
  • emit(sigName: "notify::start", ...args: any[]): void
  • emit(sigName: "notify::serialize", ...args: any[]): void
  • emit(sigName: string, ...args: any[]): void
  • force_floating(): void
  • This function is intended for #GObject implementations to re-enforce a [floating][floating-ref] object reference. Doing this is seldom required: all #GInitiallyUnowneds are created with a floating reference which usually just needs to be sunken by calling g_object_ref_sink().

    Returns void

  • freeze_notify(): 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::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

  • get_boolean(meta_item: string): [boolean, boolean]
  • 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]

  • get_child_property(property_name: string): [boolean, any]
  • 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, any]

  • get_child_property_by_pspec(pspec: ParamSpec): any
  • Get the list of timeline elements contained in the container. If recursive is %TRUE, and the container contains other containers as children, then their children will be added to the list, in addition to themselves, and so on.

    Parameters

    • recursive: boolean

      Whether to recursively get children in container

    Returns TimelineElement[]

  • get_data(key?: string): object
  • get_date(meta_item: string): [boolean, GLib.Date]
  • 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]

  • get_date_time(meta_item: string): [boolean, Gst.DateTime]
  • 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]

  • get_double(meta_item: string): [boolean, number]
  • 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]

  • get_duration(): number
  • get_float(meta_item: string): [boolean, number]
  • 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]

  • get_id(): string
  • Gets the #GESAsset:id of some associated asset. It may be the case that the object has no set asset, or even that such an asset does not yet exist in the GES cache. Instead, this will return the asset #GESAsset:id that is compatible with the current state of the object, as determined by the #GESExtractable implementer. If it was indeed extracted from an asset, this should return the same as its corresponding asset #GESAsset:id.

    Returns string

  • get_inpoint(): number
  • get_int(meta_item: string): [boolean, number]
  • 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]

  • get_int64(meta_item: string): [boolean, number]
  • 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]

  • get_layer_priority(): number
  • Gets the current marker list 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

    • key: string

      The key for the container field to get

    Returns MarkerList

  • get_max_duration(): number
  • get_meta(key: string): any
  • get_name(): string
  • get_natural_framerate(): [boolean, number, number]
  • Get the "natural" framerate of self. This is to say, for example for a #GESVideoUriSource the framerate of the source.

    Note that a #GESAudioSource may also have a natural framerate if it derives from the same #GESSourceClip asset as a #GESVideoSource, and its value will be that of the video source. For example, if the uri of a #GESUriClip points to a file that contains both a video and audio stream, then the corresponding #GESAudioUriSource will share the natural framerate of the corresponding #GESVideoUriSource.

    Returns [boolean, number, number]

  • get_priority(): number
  • get_property(property_name?: string, value?: any): void
  • Gets a property of an object.

    The value can be:

    • an empty #GValue initialized by %G_VALUE_INIT, which will be automatically initialized with the expected type of the property (since GLib 2.60)
    • a #GValue initialized with the expected type of the property
    • a #GValue 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 g_value_unset().

    Note that g_object_get_property() is really intended for language bindings, g_object_get() is much more convenient for C programming.

    Parameters

    • Optional property_name: string

      the name of the property to get

    • Optional value: any

      return location for the property value

    Returns void

  • get_qdata(quark: number): object
  • get_start(): number
  • get_string(meta_item: string): string
  • 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

  • get_uint(meta_item: string): [boolean, number]
  • 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]

  • get_uint64(meta_item: string): [boolean, number]
  • 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]

  • getv(names: string[], values: any[]): void
  • 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

  • is_floating(): 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, ParamSpec]

  • metas_to_string(): string
  • notify(property_name: string): 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.:

      enum
    {
    PROP_0,
    PROP_FOO,
    PROP_LAST
    };

    static GParamSpec *properties[PROP_LAST];

    static void
    my_object_class_init (MyObjectClass *klass)
    {
    properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
    0, 100,
    50,
    G_PARAM_READWRITE);
    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

    • pspec: ParamSpec

      the #GParamSpec of a property installed on the class of object.

    Returns void

  • 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 #GESTimelineElement:start value for the pasted element.

    Returns TimelineElement

  • 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

  • Increase the reference count of object, and possibly remove the [floating][floating-ref] 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

  • register_meta(flags: MetaFlag, meta_item: string, value: any): boolean
  • 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: 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

  • register_meta_boolean(flags: MetaFlag, meta_item: string, value: boolean): boolean
  • 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: 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

  • register_meta_date(flags: MetaFlag, meta_item: string, value: GLib.Date): boolean
  • 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: 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

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

  • register_meta_double(flags: MetaFlag, meta_item: string, value: number): boolean
  • 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: 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

  • register_meta_float(flags: MetaFlag, meta_item: string, value: number): boolean
  • 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: 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

  • register_meta_int(flags: MetaFlag, meta_item: string, value: number): boolean
  • 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: 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

  • register_meta_int64(flags: MetaFlag, meta_item: string, value: number): boolean
  • 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: 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

  • register_meta_string(flags: MetaFlag, meta_item: string, value: string): boolean
  • 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: 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

  • register_meta_uint(flags: MetaFlag, meta_item: string, value: number): boolean
  • 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: 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

  • register_meta_uint64(flags: MetaFlag, meta_item: string, value: number): boolean
  • 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: 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

  • register_static_meta(flags: MetaFlag, meta_item: string, type: GType<unknown>): boolean
  • 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: MetaFlag

      Flags to be used for the registered field

    • meta_item: string

      The key for the container field to register

    • type: GType<unknown>

      The required value type for the registered field

    Returns boolean

  • remove_child_property(pspec: ParamSpec): boolean
  • 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

    • pspec: ParamSpec

      The specification for the property to remove

    Returns boolean

  • ripple(start: number): boolean
  • 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

  • ripple_end(end: number): 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

  • roll_end(end: number): 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

  • roll_start(start: number): 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

  • run_dispose(): void
  • set_asset(asset: Asset): boolean
  • 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 #GESExtractable 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 #GESExtractable, 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 #GESAsset:id.

    Parameters

    • asset: Asset

      The asset to set

    Returns boolean

  • set_boolean(meta_item: string, value: boolean): boolean
  • 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

  • set_child_property(property_name: string, value: any): boolean
  • 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

  • set_child_property_by_pspec(pspec: ParamSpec, value: any): void
  • Sets the property of a child of the element. Specifically, the property corresponding to the pspec used in ges_timeline_element_add_child_property() is set to value.

    Parameters

    • pspec: ParamSpec

      The specification of a registered child property to set

    • value: any

      The value to set the property to

    Returns void

  • set_child_property_full(property_name: string, value: any): boolean
  • 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

  • set_data(key: string, data?: object): 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 #GQuark 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 #GQuark storage growing unbounded.

    Parameters

    • key: string

      name of the key

    • Optional data: object

      data to associate with that key

    Returns void

  • set_date(meta_item: string, value: GLib.Date): boolean
  • 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

  • set_date_time(meta_item: string, value: Gst.DateTime): boolean
  • set_double(meta_item: string, value: number): boolean
  • 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

  • set_duration(duration: number): boolean
  • Sets #GESTimelineElement:duration for the element.

    Whilst the element is part of a #GESTimeline, this is the same as editing the element with ges_timeline_element_edit() under #GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the #GESTimelineElement: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

  • set_float(meta_item: string, value: number): boolean
  • 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

  • set_inpoint(inpoint: number): boolean
  • Sets #GESTimelineElement:in-point for the element. If the new in-point is above the current #GESTimelineElement:max-duration of the element, this method will fail.

    Parameters

    • inpoint: number

      The in-point, in internal time coordinates

    Returns boolean

  • set_int(meta_item: string, value: number): boolean
  • 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

  • set_int64(meta_item: string, value: number): boolean
  • 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

  • set_marker_list(meta_item: string, list: MarkerList): boolean
  • set_max_duration(maxduration: number): boolean
  • Sets #GESTimelineElement:max-duration for the element. If the new maximum duration is below the current #GESTimelineElement:in-point of the element, this method will fail.

    Parameters

    • maxduration: number

      The maximum duration, in internal time coordinates

    Returns boolean

  • set_meta(meta_item: string, value: any): boolean
  • 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

    • value: any

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

    Returns boolean

  • set_name(name: string): boolean
  • Sets the #GESTimelineElement:name for the element. If %NULL is given for name, then the library will instead generate a new name based on the type name of the element, such as the name "uriclip3" for a #GESUriClip, and will set that name instead.

    If self already has a #GESTimelineElement:timeline, you should not call this function with name set to %NULL.

    You should ensure that, within each #GESTimeline, every element has a unique name. If you call this function with name as %NULL, then the library should ensure that the set generated name is unique from previously generated names. However, if you choose a name that interferes with the naming conventions of the library, the library will attempt to ensure that the generated names will not conflict with the chosen name, which may lead to a different name being set instead, but the uniqueness between generated and user-chosen names is not guaranteed.

    Parameters

    • name: string

      The name self should take

    Returns boolean

  • Sets the #GESTimelineElement:parent for the element.

    This is used internally and you should normally not call this. A #GESContainer will set the #GESTimelineElement: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

  • set_priority(priority: number): boolean
  • set_property(property_name: string, value?: any): void
  • set_start(start: number): boolean
  • Sets #GESTimelineElement:start for the element. If the element has a parent, this will also move its siblings with the same shift.

    Whilst the element is part of a #GESTimeline, this is the same as editing the element with ges_timeline_element_edit() under #GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the #GESTimelineElement: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

  • set_string(meta_item: string, value: string): boolean
  • 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

  • Sets the #GESTimelineElement:timeline of the element.

    This is used internally and you should normally not call this. A #GESClip will have its #GESTimelineElement:timeline set through its #GESLayer. A #GESTrack will similarly take care of setting the #GESTimelineElement:timeline of its #GESTrackElement-s. A #GESGroup will adopt the same #GESTimelineElement:timeline as its children.

    If timeline is %NULL, this will stop its current #GESTimelineElement:timeline from tracking it, otherwise timeline will start tracking self. Note, in the latter case, self must not already have a timeline set. Therefore, if you wish to switch timelines, you will need to call this function twice: first to set the timeline to %NULL, and then to the new timeline.

    Parameters

    Returns boolean

  • set_uint(meta_item: string, value: number): boolean
  • 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

  • set_uint64(meta_item: string, value: number): boolean
  • 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

  • steal_data(key?: string): object
  • steal_qdata(quark: number): object
  • 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 #GQuark, naming the user data pointer

    Returns object

  • thaw_notify(): void
  • 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::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

  • trim(start: number): 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 #GESGroup will simply split into its children. A #GESClip will split into one #GESClip per #GESTrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the #GESTrackElement-s from the original clip with a matching #GESTrackElement: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[]

  • unref(): 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 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 instance. Use g_clear_object() for this.

    Returns void

  • vfunc_constructed(): void
  • vfunc_dispatch_properties_changed(n_pspecs: number, pspecs: ParamSpec): void
  • vfunc_dispose(): void
  • vfunc_edit(layers: GES.Layer[], new_layer_priority: number, mode: EditMode, edge: Edge, position: number): boolean
  • Edits the container within its timeline.

    virtual

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

      The edit mode

    • edge: 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

  • vfunc_finalize(): void
  • vfunc_get_id(): string
  • Gets the #GESAsset:id of some associated asset. It may be the case that the object has no set asset, or even that such an asset does not yet exist in the GES cache. Instead, this will return the asset #GESAsset:id that is compatible with the current state of the object, as determined by the #GESExtractable implementer. If it was indeed extracted from an asset, this should return the same as its corresponding asset #GESAsset:id.

    virtual

    Returns string

  • vfunc_get_layer_priority(): number
  • vfunc_get_natural_framerate(): [boolean, number, number]
  • Get the "natural" framerate of self. This is to say, for example for a #GESVideoUriSource the framerate of the source.

    Note that a #GESAudioSource may also have a natural framerate if it derives from the same #GESSourceClip asset as a #GESVideoSource, and its value will be that of the video source. For example, if the uri of a #GESUriClip points to a file that contains both a video and audio stream, then the corresponding #GESAudioUriSource will share the natural framerate of the corresponding #GESVideoUriSource.

    virtual

    Returns [boolean, number, number]

  • vfunc_get_property(property_id: number, value?: any, pspec?: ParamSpec): void
  • 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.

    virtual

    Parameters

    • prop_name: string

      The name of a child property

    Returns [boolean, GObject.Object, ParamSpec]

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

    virtual

    Parameters

    Returns void

  • vfunc_ripple(start: number): boolean
  • 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.

    virtual

    Parameters

    • start: number

      The new start time of self in ripple mode

    Returns boolean

  • vfunc_ripple_end(end: number): 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.

    virtual

    Parameters

    • end: number

      The new end time of self in ripple mode

    Returns boolean

  • vfunc_roll_end(end: number): 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.

    virtual

    Parameters

    • end: number

      The new end time of self in roll mode

    Returns boolean

  • vfunc_roll_start(start: number): 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.

    virtual

    Parameters

    • start: number

      The new start time of self in roll mode

    Returns boolean

  • vfunc_set_asset(asset: Asset): void
  • vfunc_set_asset_full(asset: Asset): boolean
  • vfunc_set_duration(duration: number): boolean
  • Sets #GESTimelineElement:duration for the element.

    Whilst the element is part of a #GESTimeline, this is the same as editing the element with ges_timeline_element_edit() under #GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the #GESTimelineElement: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.

    virtual

    Parameters

    • duration: number

      The desired duration in its timeline

    Returns boolean

  • vfunc_set_inpoint(inpoint: number): boolean
  • Sets #GESTimelineElement:in-point for the element. If the new in-point is above the current #GESTimelineElement:max-duration of the element, this method will fail.

    virtual

    Parameters

    • inpoint: number

      The in-point, in internal time coordinates

    Returns boolean

  • vfunc_set_max_duration(maxduration: number): boolean
  • Sets #GESTimelineElement:max-duration for the element. If the new maximum duration is below the current #GESTimelineElement:in-point of the element, this method will fail.

    virtual

    Parameters

    • maxduration: number

      The maximum duration, in internal time coordinates

    Returns boolean

  • Sets the #GESTimelineElement:parent for the element.

    This is used internally and you should normally not call this. A #GESContainer will set the #GESTimelineElement: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.

    virtual

    Parameters

    Returns boolean

  • vfunc_set_priority(priority: number): boolean
  • vfunc_set_property(property_id: number, value?: any, pspec?: ParamSpec): void
  • vfunc_set_start(start: number): boolean
  • Sets #GESTimelineElement:start for the element. If the element has a parent, this will also move its siblings with the same shift.

    Whilst the element is part of a #GESTimeline, this is the same as editing the element with ges_timeline_element_edit() under #GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the #GESTimelineElement: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.

    virtual

    Parameters

    • start: number

      The desired start position of the element in its timeline

    Returns boolean

  • vfunc_trim(start: number): 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.

    virtual

    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 #GESGroup will simply split into its children. A #GESClip will split into one #GESClip per #GESTrackType it overlaps with (so an audio-video clip will split into an audio clip and a video clip), where each clip contains all the #GESTrackElement-s from the original clip with a matching #GESTrackElement:track-type.

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

    virtual

    Parameters

    • recursive: boolean

      Whether to recursively ungroup container

    Returns GES.Container[]

  • watch_closure(closure: TClosure<any, any>): 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

    • closure: TClosure<any, any>

      #GClosure to watch

    Returns void

  • compat_control(what: number, data: object): number
  • Groups the containers into a single container by merging them. The containers must all belong to the same #GESTimelineElement:timeline.

    If the elements are all #GESClip-s then this method will attempt to combine them all into a single #GESClip. This should succeed if they: share the same #GESTimelineElement:start, #GESTimelineElement:duration and #GESTimelineElement:in-point; exist in the same layer; and all of the sources share the same #GESAsset. If this fails, or one of the elements is not a #GESClip, this method will try to create a #GESGroup instead.

    Parameters

    Returns GES.Container

  • Find the #GParamSpec with the given name for an interface. Generally, the interface vtable passed in as g_iface will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface

    • property_name: string

      name of a property to look up.

    Returns ParamSpec

  • 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 #GParamSpec, 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 #GTypeInfo.) 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

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface.

    • pspec: ParamSpec

      the #GParamSpec for the new property

    Returns void

  • Lists the properties of an interface.Generally, the interface vtable passed in as g_iface will be the default vtable from g_type_default_interface_ref(), or, if you know the interface has already been loaded, g_type_default_interface_peek().

    Parameters

    • g_iface: TypeInterface

      any interface vtable for the interface, or the default vtable for the interface

    Returns ParamSpec[]

  • Created a new empty group. You may wish to use ges_container_group() instead, which can return a different #GESContainer subclass if possible.

    Returns GES.Group

  • Creates a new instance of a #GObject subtype and sets its properties.

    Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values.

    Parameters

    • object_type: GType<unknown>

      the type id of the #GObject subtype to instantiate

    • parameters: GObject.Parameter[]

      an array of #GParameter

    Returns GObject.Object

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method