pub struct Group { /* private fields */ }
Expand description

A Group controls one or more Container-s (usually Clip-s, but it can also control other Group-s). Its children must share the same Timeline, but can otherwise lie in separate Layer-s and have different timings.

To initialise a group, you may want to use Container::group(), and similarly use GESContainerExt::ungroup() to dispose of it.

A group will maintain the relative start times of its children, as well as their relative layer priority. Therefore, if one of its children has its start set, all other children will have their 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 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 start of a group refers to the earliest start time of its children. If the group’s start is set, all the children will be shifted equally such that the earliest start time will match the set value. The duration of a group is the difference between the earliest start time and latest end time of its children. If the group’s 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 TimelineElementExt::layer_priority() and TimelineElementExt::edit() a group is considered to have a layer priority that is the highest priority (numerically, the smallest) of all the layers it spans.

§Properties

§duration

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

Readable | Writeable

§in-point

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

Readable | Writeable

§max-duration

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

Readable | Writeable | Construct

§priority

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

Readable | Writeable

§start

An overwrite of the start property. For a Group, this is the earliest start time amongst its children.

Readable | Writeable

Container

§height

The span of the container’s children’s 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).

Readable

TimelineElement

§duration

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.

Readable | Writeable

§in-point

The initial offset to use internally when outputting content (in nanoseconds, but in the time coordinates of the internal content).

For example, for a VideoUriSource that references some media file, the “internal content” is the media file data, and the in-point would correspond to some timestamp in the media file. When playing the timeline, and when the element is first reached at timeline-time start, it will begin outputting the data from the timestamp in-point onwards, until it reaches the end of its duration in the timeline.

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

Readable | Writeable

§max-duration

The full duration of internal content that is available (a time difference in nanoseconds using the time coordinates of the internal content).

This will act as a cap on the in-point of the element (which is in the same time coordinates), and will sometimes be used to limit the duration of the element in the timeline.

For example, for a 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.

Readable | Writeable | Construct

§name

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

Readable | Writeable | Construct

§parent

The parent container of the element.

Readable | Writeable

§priority

The priority of the element.

Readable | Writeable

§serialize

Whether the element should be serialized.

Readable | Writeable

§start

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.

Readable | Writeable

§timeline

The timeline that the element lies within.

Readable | Writeable

§Implements

GESContainerExt, TimelineElementExt, [trait@glib::ObjectExt], ExtractableExt, MetaContainerExt, [TimelineElementExtManual][trait@crate::prelude::TimelineElementExtManual]

Implementations§

source§

impl Group

source

pub const NONE: Option<&'static Group> = None

source

pub fn new() -> Group

Created a new empty group. You may wish to use Container::group() instead, which can return a different Container subclass if possible.

§Returns

The new empty group.

Trait Implementations§

source§

impl Clone for Group

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Group

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Group

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl HasParamSpec for Group

§

type ParamSpec = ParamSpecObject

§

type SetValue = Group

Preferred value to be used as setter for the associated ParamSpec.
§

type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, Group>

source§

fn param_spec_builder() -> Self::BuilderFn

source§

impl Hash for Group

source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Group

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl ParentClassIs for Group

source§

impl<OT: ObjectType> PartialEq<OT> for Group

source§

fn eq(&self, other: &OT) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<OT: ObjectType> PartialOrd<OT> for Group

source§

fn partial_cmp(&self, other: &OT) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for Group

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for Group

source§

impl IsA<Container> for Group

source§

impl IsA<Extractable> for Group

source§

impl IsA<MetaContainer> for Group

source§

impl IsA<TimelineElement> for Group

Auto Trait Implementations§

§

impl Freeze for Group

§

impl RefUnwindSafe for Group

§

impl !Send for Group

§

impl !Sync for Group

§

impl Unpin for Group

§

impl UnwindSafe for Group

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Cast for T
where T: ObjectType,

source§

fn upcast<T>(self) -> T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a superclass or interface T. Read more
source§

fn upcast_ref<T>(&self) -> &T
where T: ObjectType, Self: IsA<T>,

Upcasts an object to a reference of its superclass or interface T. Read more
source§

fn downcast<T>(self) -> Result<T, Self>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a subclass or interface implementor T. Read more
source§

fn downcast_ref<T>(&self) -> Option<&T>
where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a reference of its subclass or interface implementor T. Read more
source§

fn dynamic_cast<T>(self) -> Result<T, Self>
where T: ObjectType,

Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while upcast will do many checks at compile-time already. downcast will perform the same checks at runtime as dynamic_cast, but will also ensure some amount of compile-time safety. Read more
source§

fn dynamic_cast_ref<T>(&self) -> Option<&T>
where T: ObjectType,

Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
source§

unsafe fn unsafe_cast<T>(self) -> T
where T: ObjectType,

Casts to T unconditionally. Read more
source§

unsafe fn unsafe_cast_ref<T>(&self) -> &T
where T: ObjectType,

Casts to &T unconditionally. Read more
source§

impl<O> ExtractableExt for O
where O: IsA<Extractable>,

source§

fn asset(&self) -> Option<Asset>

Get the asset that has been set on the extractable object. Read more
source§

fn id(&self) -> GString

Gets the 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 id that is compatible with the current state of the object, as determined by the Extractable implementer. If it was indeed extracted from an asset, this should return the same as its corresponding asset id. Read more
source§

fn set_asset(&self, asset: &impl IsA<Asset>) -> Result<(), BoolError>

Sets the asset for this extractable object. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *const GList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(_: *const GList, _: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *const GPtrArray, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(_: *const GPtrArray, _: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *const GSList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(_: *const GSList, _: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

source§

unsafe fn from_glib_none_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_container_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

source§

unsafe fn from_glib_full_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>

source§

impl<O> GESContainerExt for O
where O: IsA<Container>,

source§

fn add(&self, child: &impl IsA<TimelineElement>) -> Result<(), BoolError>

Adds a timeline element to the container. The element will now be a child of the container (and the container will be the 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. Read more
source§

fn edit( &self, layers: &[Layer], new_layer_priority: i32, mode: EditMode, edge: Edge, position: u64 ) -> Result<(), BoolError>

👎Deprecated: Since 1.18
Edits the container within its timeline. Read more
source§

fn children(&self, recursive: bool) -> Vec<TimelineElement>

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. Read more
source§

fn remove(&self, child: &impl IsA<TimelineElement>) -> Result<(), BoolError>

Removes a timeline element from the container. The element will no longer be controlled by the container. Read more
source§

fn ungroup(self, recursive: bool) -> Vec<Container>

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 Group will simply split into its children. A Clip will split into one Clip per 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 TrackElement-s from the original clip with a matching track-type. Read more
source§

fn height(&self) -> u32

The span of the container’s children’s 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).
source§

fn connect_child_added<F: Fn(&Self, &TimelineElement) + 'static>( &self, f: F ) -> SignalHandlerId

Will be emitted after a child is added to the container. Usually, you should connect with g_signal_connect_after() since the signal may be stopped internally. Read more
source§

fn connect_child_removed<F: Fn(&Self, &TimelineElement) + 'static>( &self, f: F ) -> SignalHandlerId

Will be emitted after a child is removed from the container. Read more
source§

fn connect_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source§

impl<O> GObjectExtManualGst for O
where O: IsA<Object>,

source§

fn set_property_from_str(&self, name: &str, value: &str)

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

source§

impl<U> IsSubclassableExt for U

source§

impl<O> MetaContainerExt for O
where O: IsA<MetaContainer>,

source§

fn add_metas_from_string(&self, str: &str) -> bool

Deserializes the given string, and adds and sets the found fields and their values on the container. The string should be the return of metas_to_string(). Read more
source§

fn check_meta_registered(&self, meta_item: &str) -> Option<(MetaFlag, Type)>

Checks whether the specified field has been registered as static, and gets the registered type and flags of the field, as used in register_meta() and register_static_meta(). Read more
source§

fn foreach<P: FnMut(&MetaContainer, &str, &Value)>(&self, func: P)

Calls the given function on each of the meta container’s set metadata fields. Read more
source§

fn boolean(&self, meta_item: &str) -> Option<bool>

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. Read more
source§

fn date(&self, meta_item: &str) -> Option<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. Read more
source§

fn date_time(&self, meta_item: &str) -> Option<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. Read more
source§

fn double(&self, meta_item: &str) -> Option<f64>

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. Read more
source§

fn float(&self, meta_item: &str) -> Option<f32>

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. Read more
source§

fn int(&self, meta_item: &str) -> Option<i32>

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. Read more
source§

fn int64(&self, meta_item: &str) -> Option<i64>

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. Read more
source§

fn marker_list(&self, key: &str) -> Option<MarkerList>

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. Read more
source§

fn meta(&self, key: &str) -> Option<Value>

Gets the current value of the specified field of the meta container. Read more
source§

fn string(&self, meta_item: &str) -> Option<GString>

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. Read more
source§

fn uint(&self, meta_item: &str) -> Option<u32>

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. Read more
source§

fn uint64(&self, meta_item: &str) -> Option<u64>

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. Read more
source§

fn metas_to_string(&self) -> GString

Serializes the set metadata fields of the meta container to a string. Read more
source§

fn register_meta(&self, flags: MetaFlag, meta_item: &str, value: &Value) -> bool

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. Read more
source§

fn register_meta_boolean( &self, flags: MetaFlag, meta_item: &str, value: bool ) -> bool

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. Read more
source§

fn register_meta_date( &self, flags: MetaFlag, meta_item: &str, value: &Date ) -> bool

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. Read more
source§

fn register_meta_date_time( &self, flags: MetaFlag, meta_item: &str, value: &DateTime ) -> bool

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. Read more
source§

fn register_meta_double( &self, flags: MetaFlag, meta_item: &str, value: f64 ) -> bool

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. Read more
source§

fn register_meta_float( &self, flags: MetaFlag, meta_item: &str, value: f32 ) -> bool

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. Read more
source§

fn register_meta_int( &self, flags: MetaFlag, meta_item: &str, value: i32 ) -> bool

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. Read more
source§

fn register_meta_int64( &self, flags: MetaFlag, meta_item: &str, value: i64 ) -> bool

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. Read more
source§

fn register_meta_string( &self, flags: MetaFlag, meta_item: &str, value: &str ) -> bool

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. Read more
source§

fn register_meta_uint( &self, flags: MetaFlag, meta_item: &str, value: u32 ) -> bool

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. Read more
source§

fn register_meta_uint64( &self, flags: MetaFlag, meta_item: &str, value: u64 ) -> bool

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. Read more
source§

fn register_static_meta( &self, flags: MetaFlag, meta_item: &str, type_: Type ) -> bool

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. Read more
source§

fn set_boolean(&self, meta_item: &str, value: bool) -> bool

Sets the value of the specified field of the meta container to the given boolean value. Read more
source§

fn set_date(&self, meta_item: &str, value: &Date) -> bool

Sets the value of the specified field of the meta container to the given date value. Read more
source§

fn set_date_time(&self, meta_item: &str, value: &DateTime) -> bool

Sets the value of the specified field of the meta container to the given date time value. Read more
source§

fn set_double(&self, meta_item: &str, value: f64) -> bool

Sets the value of the specified field of the meta container to the given double value. Read more
source§

fn set_float(&self, meta_item: &str, value: f32) -> bool

Sets the value of the specified field of the meta container to the given float value. Read more
source§

fn set_int(&self, meta_item: &str, value: i32) -> bool

Sets the value of the specified field of the meta container to the given int value. Read more
source§

fn set_int64(&self, meta_item: &str, value: i64) -> bool

Sets the value of the specified field of the meta container to the given int64 value. Read more
source§

fn set_marker_list(&self, meta_item: &str, list: &MarkerList) -> bool

Sets the value of the specified field of the meta container to the given marker list value. Read more
source§

fn set_meta(&self, meta_item: &str, value: Option<&Value>) -> bool

Sets the value of the specified field of the meta container to a copy of the given value. If the given value is None, the field given by meta_item is removed and true is returned. Read more
source§

fn set_string(&self, meta_item: &str, value: &str) -> bool

Sets the value of the specified field of the meta container to the given string value. Read more
source§

fn set_uint(&self, meta_item: &str, value: u32) -> bool

Sets the value of the specified field of the meta container to the given uint value. Read more
source§

fn set_uint64(&self, meta_item: &str, value: u64) -> bool

Sets the value of the specified field of the meta container to the given uint64 value. Read more
source§

fn connect_notify_meta<F: Fn(&Self, &str, Option<&Value>) + 'static>( &self, detail: Option<&str>, f: F ) -> SignalHandlerId

This is emitted for a meta container whenever the metadata under one of its fields changes, is set for the first time, or is removed. In the latter case, value will be None. Read more
source§

impl<T> ObjectExt for T
where T: ObjectType,

source§

fn is<U>(&self) -> bool
where U: StaticType,

Returns true if the object is an instance of (can be cast to) T.
source§

fn type_(&self) -> Type

Returns the type of the object.
source§

fn object_class(&self) -> &Class<Object>

Returns the ObjectClass of the object. Read more
source§

fn class(&self) -> &Class<T>
where T: IsClass,

Returns the class of the object.
source§

fn class_of<U>(&self) -> Option<&Class<U>>
where U: IsClass,

Returns the class of the object in the given type T. Read more
source§

fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>
where U: IsInterface,

Returns the interface T of the object. Read more
source§

fn set_property(&self, property_name: &str, value: impl Into<Value>)

Sets the property property_name of the object to value value. Read more
source§

fn set_property_from_value(&self, property_name: &str, value: &Value)

Sets the property property_name of the object to value value. Read more
source§

fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])

Sets multiple properties of the object at once. Read more
source§

fn set_properties_from_value(&self, property_values: &[(&str, Value)])

Sets multiple properties of the object at once. Read more
source§

fn property<V>(&self, property_name: &str) -> V
where V: for<'b> FromValue<'b> + 'static,

Gets the property property_name of the object and cast it to the type V. Read more
source§

fn property_value(&self, property_name: &str) -> Value

Gets the property property_name of the object. Read more
source§

fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if the object has a property property_name of the given type_. Read more
source§

fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this object. Read more
source§

fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this object.
source§

fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this object.
source§

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

Freeze all property notifications until the return guard object is dropped. Read more
source§

unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
source§

unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn set_data<QD>(&self, key: &str, value: QD)
where QD: 'static,

Set arbitrary data on this object with the given key. Read more
source§

unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>
where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>
where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
source§

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
source§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
source§

fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)

Stop emission of the currently emitted signal.
source§

fn stop_signal_emission_by_name(&self, signal_name: &str)

Stop emission of the currently emitted signal by the (possibly detailed) signal name.
source§

fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_name on this object. Read more
source§

fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_id on this object. Read more
source§

fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_name on this object. Read more
source§

fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_id on this object. Read more
source§

unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_name on this object. Read more
source§

unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerId
where F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_id on this object. Read more
source§

fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_name on this object. Read more
source§

fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_id on this object. Read more
source§

fn watch_closure(&self, closure: &impl AsRef<Closure>)

Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
source§

fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> R

Emit signal by signal id. Read more
source§

fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>

Same as Self::emit but takes Value for the arguments.
source§

fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> R

Emit signal by its name. Read more
source§

fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>

Emit signal by its name. Read more
source§

fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> R

Emit signal by its name with details. Read more
source§

fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by its name with details. Read more
source§

fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> R

Emit signal by signal id with details. Read more
source§

fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by signal id with details. Read more
source§

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
source§

fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + Send + Sync + 'static,

Connect to the notify signal of the object. Read more
source§

fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
where F: Fn(&T, &ParamSpec) + 'static,

Connect to the notify signal of the object. Read more
source§

unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerId
where F: Fn(&T, &ParamSpec),

Connect to the notify signal of the object. Read more
source§

fn notify(&self, property_name: &str)

Notify that the given property has changed its value. Read more
source§

fn notify_by_pspec(&self, pspec: &ParamSpec)

Notify that the given property has changed its value. Read more
source§

fn downgrade(&self) -> WeakRef<T>

Downgrade this object to a weak reference.
source§

fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + Send + 'static,

Add a callback to be notified when the Object is disposed.
source§

fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + 'static,

Add a callback to be notified when the Object is disposed. Read more
source§

fn bind_property<'a, 'f, 't, O>( &'a self, source_property: &'a str, target: &'a O, target_property: &'a str ) -> BindingBuilder<'a, 'f, 't>
where O: ObjectType,

Bind property source_property on this object to the target_property on the target object. Read more
source§

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
source§

unsafe fn run_dispose(&self)

Runs the dispose mechanism of the object. Read more
source§

impl<T> Property for T
where T: HasParamSpec,

§

type Value = T

source§

impl<T> PropertyGet for T
where T: HasParamSpec,

§

type Value = T

source§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

source§

impl<T> StaticTypeExt for T
where T: StaticType,

source§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<O> TimelineElementExt for O
where O: IsA<TimelineElement>,

source§

fn add_child_property( &self, pspec: impl AsRef<ParamSpec>, child: &impl IsA<Object> ) -> Result<(), BoolError>

Register a property of a child of the element to allow it to be written with set_child_property() and read with child_property(). A change in the property will also appear in the deep-notify signal. Read more
source§

fn copy(&self, deep: bool) -> TimelineElement

source§

fn edit( &self, layers: &[Layer], new_layer_priority: i64, mode: EditMode, edge: Edge, position: u64 ) -> bool

See edit_full(), which also gives an error. Read more
source§

fn edit_full( &self, new_layer_priority: i64, mode: EditMode, edge: Edge, position: u64 ) -> Result<(), Error>

Edits the element within its timeline by adjusting its start, duration or in-point, and potentially doing the same for other elements in the timeline. See 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. Read more
source§

fn child_property(&self, property_name: &str) -> Option<Value>

Gets the property of a child of the element. Read more
source§

fn child_property_by_pspec(&self, pspec: impl AsRef<ParamSpec>) -> Value

Gets the property of a child of the element. Specifically, the property corresponding to the pspec used in add_child_property() is copied into value. Read more
source§

fn duration(&self) -> ClockTime

Gets the duration for the element. Read more
source§

fn inpoint(&self) -> ClockTime

Gets the in-point for the element. Read more
source§

fn layer_priority(&self) -> u32

Gets the priority of the layer the element is in. A Group may span several layers, so this would return the highest priority (numerically, the smallest) amongst them. Read more
source§

fn max_duration(&self) -> Option<ClockTime>

Gets the max-duration for the element. Read more
source§

fn name(&self) -> Option<GString>

Gets the name for the element. Read more
source§

fn natural_framerate(&self) -> Option<(i32, i32)>

Get the “natural” framerate of self. This is to say, for example for a VideoUriSource the framerate of the source. Read more
source§

fn parent(&self) -> Option<TimelineElement>

Gets the parent for the element. Read more
source§

fn priority(&self) -> u32

Gets the priority for the element. Read more
source§

fn start(&self) -> ClockTime

Gets the start for the element. Read more
source§

fn timeline(&self) -> Option<Timeline>

Gets the timeline for the element. Read more
source§

fn toplevel_parent(&self) -> TimelineElement

Gets the toplevel parent of the element. Read more
source§

fn track_types(&self) -> TrackType

Gets the track types that the element can interact with, i.e. the type of Track it can exist in, or will create TrackElement-s for. Read more
source§

fn list_children_properties(&self) -> Vec<ParamSpec>

Get a list of children properties of the element, which is a list of all the specifications passed to add_child_property(). Read more
source§

fn lookup_child(&self, prop_name: &str) -> Option<(Object, ParamSpec)>

Looks up a child property of the element. Read more
source§

fn paste(&self, paste_position: ClockTime) -> Result<TimelineElement, BoolError>

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. Read more
source§

fn remove_child_property( &self, pspec: impl AsRef<ParamSpec> ) -> Result<(), BoolError>

Remove a child property from the element. pspec should be a specification that was passed to add_child_property(). The corresponding property will no longer be registered as a child property for the element. Read more
source§

fn ripple(&self, start: ClockTime) -> Result<(), BoolError>

Edits the start time of an element within its timeline in ripple mode. See edit() with EditMode::Ripple and Edge::None. Read more
source§

fn ripple_end(&self, end: ClockTime) -> Result<(), BoolError>

Edits the end time of an element within its timeline in ripple mode. See edit() with EditMode::Ripple and Edge::End. Read more
source§

fn roll_end(&self, end: ClockTime) -> Result<(), BoolError>

Edits the end time of an element within its timeline in roll mode. See edit() with EditMode::Roll and Edge::End. Read more
source§

fn roll_start(&self, start: ClockTime) -> Result<(), BoolError>

Edits the start time of an element within its timeline in roll mode. See edit() with EditMode::Roll and Edge::Start. Read more
source§

fn set_child_property( &self, property_name: &str, value: &Value ) -> Result<(), BoolError>

See set_child_property_full(), which also gives an error. Read more
source§

fn set_child_property_by_pspec( &self, pspec: impl AsRef<ParamSpec>, value: &Value )

Sets the property of a child of the element. Specifically, the property corresponding to the pspec used in add_child_property() is set to value. Read more
source§

fn set_child_property_full( &self, property_name: &str, value: &Value ) -> Result<(), Error>

Sets the property of a child of the element. Read more
source§

fn set_duration(&self, duration: impl Into<Option<ClockTime>>) -> bool

Sets duration for the element. Read more
source§

fn set_inpoint(&self, inpoint: ClockTime) -> bool

Sets in-point for the element. If the new in-point is above the current max-duration of the element, this method will fail. Read more
source§

fn set_max_duration(&self, maxduration: impl Into<Option<ClockTime>>) -> bool

Sets max-duration for the element. If the new maximum duration is below the current in-point of the element, this method will fail. Read more
source§

fn set_name(&self, name: Option<&str>) -> Result<(), BoolError>

Sets the name for the element. If None is given for name, then the library will instead generate a new name based on the type name of the element, such as the name “uriclip3” for a UriClip, and will set that name instead. Read more
source§

fn set_parent( &self, parent: &impl IsA<TimelineElement> ) -> Result<(), BoolError>

Sets the parent for the element. Read more
source§

fn set_priority(&self, priority: u32) -> bool

👎Deprecated: Since 1.10
Sets the priority of the element within the containing layer. Read more
source§

fn set_start(&self, start: ClockTime) -> bool

Sets start for the element. If the element has a parent, this will also move its siblings with the same shift. Read more
source§

fn set_timeline(&self, timeline: &impl IsA<Timeline>) -> Result<(), BoolError>

Sets the timeline of the element. Read more
source§

fn trim(&self, start: ClockTime) -> Result<(), BoolError>

Edits the start time of an element within its timeline in trim mode. See edit() with EditMode::Trim and Edge::Start. Read more
source§

fn in_point(&self) -> u64

The initial offset to use internally when outputting content (in nanoseconds, but in the time coordinates of the internal content). Read more
source§

fn set_in_point(&self, in_point: u64)

The initial offset to use internally when outputting content (in nanoseconds, but in the time coordinates of the internal content). Read more
source§

fn is_serialize(&self) -> bool

Whether the element should be serialized.
source§

fn set_serialize(&self, serialize: bool)

Whether the element should be serialized.
source§

fn connect_child_property_added<F: Fn(&Self, &Object, &ParamSpec) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when the element has a new child property registered. See add_child_property(). Read more
source§

fn connect_child_property_removed<F: Fn(&Self, &Object, &ParamSpec) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when the element has a child property unregistered. See remove_child_property(). Read more
source§

fn connect_deep_notify<F: Fn(&Self, &Object, &ParamSpec) + 'static>( &self, detail: Option<&str>, f: F ) -> SignalHandlerId

Emitted when a child of the element has one of its registered properties set. See add_child_property(). Note that unlike notify, a child property name can not be used as a signal detail. Read more
source§

fn connect_duration_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source§

fn connect_in_point_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source§

fn connect_max_duration_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source§

fn connect_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source§

fn connect_parent_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source§

fn connect_priority_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

👎Deprecated: Since 1.10
source§

fn connect_serialize_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source§

fn connect_start_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source§

fn connect_timeline_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> TransparentType for T

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,

source§

impl<Super, Sub> MayDowncastTo<Sub> for Super
where Super: IsA<Super>, Sub: IsA<Super>,