[−][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