Trait gstreamer_editing_services::prelude::TrackElementExt [−][src]
pub trait TrackElementExt: 'static {
Show methods
fn add_children_props<P: IsA<Element>>(
&self,
element: &P,
wanted_categories: &[&str],
blacklist: &[&str],
whitelist: &[&str]
);
fn clamp_control_source(&self, property_name: &str);
fn edit(
&self,
layers: &[Layer],
mode: EditMode,
edge: Edge,
position: u64
) -> Result<(), BoolError>;
fn is_auto_clamp_control_sources(&self) -> bool;
fn element(&self) -> Option<Element>;
fn gnlobject(&self) -> Option<Element>;
fn nleobject(&self) -> Option<Element>;
fn track(&self) -> Option<Track>;
fn track_type(&self) -> TrackType;
fn has_internal_source(&self) -> bool;
fn is_active(&self) -> bool;
fn is_core(&self) -> bool;
fn remove_control_binding(
&self,
property_name: &str
) -> Result<(), BoolError>;
fn set_active(&self, active: bool) -> bool;
fn set_auto_clamp_control_sources(&self, auto_clamp: bool);
fn set_has_internal_source(&self, has_internal_source: bool) -> bool;
fn set_track_type(&self, type_: TrackType);
fn connect_active_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_auto_clamp_control_sources_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_has_internal_source_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_track_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_track_type_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}Required methods
fn add_children_props<P: IsA<Element>>(
&self,
element: &P,
wanted_categories: &[&str],
blacklist: &[&str],
whitelist: &[&str]
)[src]
&self,
element: &P,
wanted_categories: &[&str],
blacklist: &[&str],
whitelist: &[&str]
)
Adds all the properties of a crate::gst::Element that match the criteria as
children properties of the track element. If the name of element’s
crate::gst::ElementFactory is not in blacklist, and the factory’s
GST_ELEMENT_METADATA_KLASS contains at least one member of
wanted_categories (e.g. GST_ELEMENT_FACTORY_KLASS_DECODER), then
all the properties of element that are also in whitelist are added as
child properties of self using
[crate::prelude::TimelineElementExt::add_child_property()].
This is intended to be used by subclasses when constructing.
element
The child object to retrieve properties from
wanted_categories
An array of element factory “klass” categories to whitelist, or None
to accept all categories
blacklist
A
blacklist of element factory names, or None to not blacklist any
element factory
whitelist
A
whitelist of element property names, or None to whitelist all
writeable properties
fn clamp_control_source(&self, property_name: &str)[src]
v1_18 only.Clamp the GstTimedValueControlSource for the specified child property
to lie between the [crate::TimelineElement:in-point] and out-point of the
element. The out-point is the GES_TIMELINE_ELEMENT_END of the element
translated from the timeline coordinates to the internal source
coordinates of the element.
If the property does not have a GstTimedValueControlSource set by
[Self::set_control_source()], nothing happens. Otherwise, if
a timed value for the control source lies before the in-point of the
element, or after its out-point, then it will be removed. At the
in-point and out-point times, a new interpolated value will be placed.
property_name
The name of the child property to clamp the control source of
fn edit(
&self,
layers: &[Layer],
mode: EditMode,
edge: Edge,
position: u64
) -> Result<(), BoolError>[src]
&self,
layers: &[Layer],
mode: EditMode,
edge: Edge,
position: u64
) -> Result<(), BoolError>
Since 1.18
Edits the element within its track.
Deprecated since 1.18
use crate::prelude::TimelineElementExt::edit instead.
layers
A whitelist of layers
where the edit can be performed, None allows all layers in the
timeline
mode
The edit mode
edge
The edge of self where the edit should occur
position
The edit position: a new location for the edge of self
(in nanoseconds)
Returns
fn is_auto_clamp_control_sources(&self) -> bool[src]
v1_18 only.Gets [crate::TrackElement:auto-clamp-control-sources].
Returns
Whether the control sources for the child properties of
self are automatically clamped.
fn element(&self) -> Option<Element>[src]
Get the crate::gst::Element that the track element’s underlying nleobject
controls.
Returns
The crate::gst::Element being controlled by the
nleobject that self wraps.
fn gnlobject(&self) -> Option<Element>[src]
Get the GNonLin object this object is controlling.
Deprecated
use [Self::get_nleobject] instead.
Returns
The GNonLin object this object is controlling.
fn nleobject(&self) -> Option<Element>[src]
fn track(&self) -> Option<Track>[src]
Get the [crate::TrackElement:track] for the element.
Returns
The track that self belongs to,
or None if it does not belong to a track.
fn track_type(&self) -> TrackType[src]
fn has_internal_source(&self) -> bool[src]
v1_18 only.Gets [crate::TrackElement:has-internal-source] for the element.
Returns
true if self can have its ‘internal time’ properties set.
fn is_active(&self) -> bool[src]
fn is_core(&self) -> bool[src]
v1_18 only.Get whether the given track element is a core track element. That is,
it was created by the create_track_elements [crate::ClipClass] method for
some crate::Clip.
Note that such a track element can only be added to a clip that shares
the same crate::Asset as the clip that created it. For example, you are
allowed to move core children between clips that resulted from
crate::prelude::GESContainerExt::ungroup(), but you could not move the core child from a
crate::UriClip to a [crate::TitleClip] or another crate::UriClip with a different
[crate::UriClip:uri].
Moreover, if a core track element is added to a clip, it will always be
added as a core child. Therefore, if this returns true, then element
will be a core child of its parent clip.
Returns
true if element is a core track element.
fn remove_control_binding(&self, property_name: &str) -> Result<(), BoolError>[src]
Removes the crate::gst::ControlBinding that was created for the specified child
property of the track element using
[Self::set_control_source()]. The given property_name must
be the same name of the child property that was passed to
[Self::set_control_source()].
property_name
The name of the child property to remove the control binding from
Returns
true if the control binding was removed from the specified
child property of self, or false if an error occurred.
fn set_active(&self, active: bool) -> bool[src]
Sets [crate::TrackElement:active] for the element.
active
Whether self should be active in its track
Returns
true if the property was toggled.
fn set_auto_clamp_control_sources(&self, auto_clamp: bool)[src]
v1_18 only.Sets [crate::TrackElement:auto-clamp-control-sources]. If set to true, this
will immediately clamp all the control sources.
auto_clamp
Whether to automatically clamp the control sources for the
child properties of self
fn set_has_internal_source(&self, has_internal_source: bool) -> bool[src]
v1_18 only.Sets [crate::TrackElement:has-internal-source] for the element. If this is
set to false, this method will also set the
[crate::TimelineElement:in-point] of the element to 0 and its
[crate::TimelineElement:max-duration] to GST_CLOCK_TIME_NONE.
has_internal_source
Whether the self should be allowed to have its
‘internal time’ properties set.
Returns
false if has_internal_source is forbidden for self and
true in any other case.
fn set_track_type(&self, type_: TrackType)[src]
fn connect_active_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId[src]
fn connect_auto_clamp_control_sources_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
v1_18 only.fn connect_has_internal_source_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
v1_18 only.fn connect_track_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId[src]
fn connect_track_type_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<TrackElement>> TrackElementExt for O[src]
impl<O: IsA<TrackElement>> TrackElementExt for O[src]fn add_children_props<P: IsA<Element>>(
&self,
element: &P,
wanted_categories: &[&str],
blacklist: &[&str],
whitelist: &[&str]
)[src]
&self,
element: &P,
wanted_categories: &[&str],
blacklist: &[&str],
whitelist: &[&str]
)
fn clamp_control_source(&self, property_name: &str)[src]
fn clamp_control_source(&self, property_name: &str)[src]v1_18 only.fn edit(
&self,
layers: &[Layer],
mode: EditMode,
edge: Edge,
position: u64
) -> Result<(), BoolError>[src]
fn edit(
&self,
layers: &[Layer],
mode: EditMode,
edge: Edge,
position: u64
) -> Result<(), BoolError>[src]Since 1.18
fn is_auto_clamp_control_sources(&self) -> bool[src]
fn is_auto_clamp_control_sources(&self) -> bool[src]v1_18 only.fn element(&self) -> Option<Element>[src]
fn gnlobject(&self) -> Option<Element>[src]
fn nleobject(&self) -> Option<Element>[src]
fn track(&self) -> Option<Track>[src]
fn track_type(&self) -> TrackType[src]
fn has_internal_source(&self) -> bool[src]
fn has_internal_source(&self) -> bool[src]v1_18 only.fn is_active(&self) -> bool[src]
fn remove_control_binding(&self, property_name: &str) -> Result<(), BoolError>[src]
fn set_active(&self, active: bool) -> bool[src]
fn set_auto_clamp_control_sources(&self, auto_clamp: bool)[src]
fn set_auto_clamp_control_sources(&self, auto_clamp: bool)[src]v1_18 only.fn set_has_internal_source(&self, has_internal_source: bool) -> bool[src]
fn set_has_internal_source(&self, has_internal_source: bool) -> bool[src]v1_18 only.fn set_track_type(&self, type_: TrackType)[src]
fn connect_active_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId[src]
fn connect_auto_clamp_control_sources_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
fn connect_auto_clamp_control_sources_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]v1_18 only.fn connect_has_internal_source_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
fn connect_has_internal_source_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]v1_18 only.fn connect_track_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId[src]
fn connect_track_type_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId