[−][src]Trait gstreamer_editing_services::ClipExt
Required methods
fn add_asset<P: IsA<Asset>>(&self, asset: &P) -> Result<TrackElement, BoolError>
[−]
Extracts a TrackElement
from asset
and adds it to the self
.
Should only be called in order to add operations to a Clip
,
ni other cases TrackElement are added automatically when adding the
Clip
/Asset
to a layer.
Takes a reference on track_element
.
asset
a Asset
with GES_TYPE_TRACK_ELEMENT
as extractable_type
Returns
Created TrackElement
or NULL
if an error happened
fn find_track_element<P: IsA<Track>>(
&self,
track: Option<&P>,
type_: Type
) -> Option<TrackElement>
[−]
&self,
track: Option<&P>,
type_: Type
) -> Option<TrackElement>
Finds the TrackElement
controlled by self
that is used in track
. You
may optionally specify a GType to further narrow search criteria.
Note: If many objects match, then the one with the highest priority will be returned.
track
a Track
or NULL
type_
a glib::Type
indicating the type of track element you are looking
for or G_TYPE_NONE
if you do not care about the track type.
Returns
The TrackElement
used by track
,
else None
. Unref after usage
fn find_track_elements<P: IsA<Track>>(
&self,
track: Option<&P>,
track_type: TrackType,
type_: Type
) -> Vec<TrackElement>
[−]
&self,
track: Option<&P>,
track_type: TrackType,
type_: Type
) -> Vec<TrackElement>
Finds all the TrackElement
controlled by self
that is used in track
. You
may optionally specify a GType to further narrow search criteria.
track
a Track
or NULL
track_type
a TrackType
indicating the type of tracks in which elements
should be searched.
type_
a glib::Type
indicating the type of track element you are looking
for or G_TYPE_NONE
if you do not care about the track type.
Returns
a glib::List
of the
TrackElement
contained in self
.
The refcount of the objects will be increased. The user will have to
unref each TrackElement
and free the glib::List
.
fn get_layer(&self) -> Option<Layer>
[−]
Get the Layer
to which this clip belongs.
Returns
The Layer
where this self
is being
used, or None
if it is not used on any layer. The caller should unref it
usage.
fn get_supported_formats(&self) -> TrackType
[−]
fn get_top_effect_index<P: IsA<BaseEffect>>(&self, effect: &P) -> i32
[−]
Gets the index position of an effect.
effect
The BaseEffect
we want to get the top index from
Returns
The top index of the effect, -1 if something went wrong.
fn get_top_effect_position<P: IsA<BaseEffect>>(&self, effect: &P) -> i32
fn get_top_effects(&self) -> Vec<TrackElement>
[−]
Get effects applied on self
Returns
a glib::List
of the
BaseEffect
that are applied on self
order by ascendant priorities.
The refcount of the objects will be increased. The user will have to
unref each BaseEffect
and free the glib::List
.
fn move_to_layer<P: IsA<Layer>>(&self, layer: &P) -> Result<(), BoolError>
[−]
Moves self
to layer
. If self
is not in any layer, it adds it to
layer
, else, it removes it from its current layer, and adds it to layer
.
layer
the new Layer
Returns
true
if self
could be moved false
otherwize
fn set_supported_formats(&self, supportedformats: TrackType)
[−]
Sets the formats supported by the file.
supportedformats
the TrackType
defining formats supported by self
fn set_top_effect_index<P: IsA<BaseEffect>>(
&self,
effect: &P,
newindex: u32
) -> Result<(), BoolError>
[−]
&self,
effect: &P,
newindex: u32
) -> Result<(), BoolError>
This is a convenience method that lets you set the index of a top effect.
effect
The BaseEffect
to move
newindex
the new index at which to move the effect
inside this
Clip
Returns
true
if effect
was successfuly moved, false
otherwise.
fn set_top_effect_priority<P: IsA<BaseEffect>>(
&self,
effect: &P,
newpriority: u32
) -> Result<(), BoolError>
&self,
effect: &P,
newpriority: u32
) -> Result<(), BoolError>
fn split(&self, position: u64) -> Result<Clip, BoolError>
[−]
The function modifies self
, and creates another Clip
so we have two
clips at the end, splitted at the time specified by position
, as a position
in the timeline (not in the clip to be split). For example, if
ges_clip_split is called on a 4-second clip playing from 0:01.00 until
0:05.00, with a split position of 0:02.00, this will result in one clip of 1
second and one clip of 3 seconds, not in two clips of 2 seconds.
The newly created clip will be added to the same layer as self
is in. This
implies that self
must be in a Layer
for the operation to be possible.
This method supports clips playing at a different tempo than one second per
second. For example, splitting a clip with a Effect
'pitch tempo=1.5'
four seconds after it starts, will set the inpoint of the new clip to six
seconds after that of the clip to split. For this, the rate-changing
property must be registered using EffectClass::register_rate_property
;
for the 'pitch' plugin, this is already done.
position
a gst::ClockTime
representing the timeline position at which to split
Returns
The newly created Clip
resulting
from the splitting or None
if the clip can't be split.
fn connect_property_layer_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_property_supported_formats_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Implementors
impl<O: IsA<Clip>> ClipExt for O
[src][−]
fn add_asset<P: IsA<Asset>>(&self, asset: &P) -> Result<TrackElement, BoolError>
[src]
fn find_track_element<P: IsA<Track>>(
&self,
track: Option<&P>,
type_: Type
) -> Option<TrackElement>
[src]
&self,
track: Option<&P>,
type_: Type
) -> Option<TrackElement>
fn find_track_elements<P: IsA<Track>>(
&self,
track: Option<&P>,
track_type: TrackType,
type_: Type
) -> Vec<TrackElement>
[src]
&self,
track: Option<&P>,
track_type: TrackType,
type_: Type
) -> Vec<TrackElement>
fn get_layer(&self) -> Option<Layer>
[src]
fn get_supported_formats(&self) -> TrackType
[src]
fn get_top_effect_index<P: IsA<BaseEffect>>(&self, effect: &P) -> i32
[src]
fn get_top_effect_position<P: IsA<BaseEffect>>(&self, effect: &P) -> i32
[src]
fn get_top_effects(&self) -> Vec<TrackElement>
[src]
fn move_to_layer<P: IsA<Layer>>(&self, layer: &P) -> Result<(), BoolError>
[src]
fn set_supported_formats(&self, supportedformats: TrackType)
[src]
fn set_top_effect_index<P: IsA<BaseEffect>>(
&self,
effect: &P,
newindex: u32
) -> Result<(), BoolError>
[src]
&self,
effect: &P,
newindex: u32
) -> Result<(), BoolError>
fn set_top_effect_priority<P: IsA<BaseEffect>>(
&self,
effect: &P,
newpriority: u32
) -> Result<(), BoolError>
[src]
&self,
effect: &P,
newpriority: u32
) -> Result<(), BoolError>
fn split(&self, position: u64) -> Result<Clip, BoolError>
[src]
fn connect_property_layer_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId
fn connect_property_supported_formats_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
[src]
&self,
f: F
) -> SignalHandlerId