![]() |
![]() |
![]() |
GStreamer Editing Services 1.2.1 Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#include <ges/ges.h> GESTrackElement; GESTrackElementClass; gboolean ges_track_element_set_active (GESTrackElement *object
,gboolean active
); GESTrack * ges_track_element_get_track (GESTrackElement *object
); GstElement * ges_track_element_get_gnlobject (GESTrackElement *object
); GstElement * ges_track_element_get_element (GESTrackElement *object
); gboolean ges_track_element_is_active (GESTrackElement *object
); gboolean ges_track_element_lookup_child (GESTrackElement *object
,const gchar *prop_name
,GstElement **element
,GParamSpec **pspec
); GParamSpec ** ges_track_element_list_children_properties (GESTrackElement *object
,guint *n_properties
); gboolean ges_track_element_set_child_property (GESTrackElement *object
,const gchar *property_name
,GValue *value
); void ges_track_element_set_child_properties (GESTrackElement *object
,const gchar *first_property_name
,...
); void ges_track_element_set_child_property_valist (GESTrackElement *object
,const gchar *first_property_name
,va_list var_args
); void ges_track_element_set_child_property_by_pspec (GESTrackElement *object
,GParamSpec *pspec
,GValue *value
); gboolean ges_track_element_get_child_property (GESTrackElement *object
,const gchar *property_name
,GValue *value
); void ges_track_element_get_child_properties (GESTrackElement *object
,const gchar *first_property_name
,...
); void ges_track_element_get_child_property_valist (GESTrackElement *object
,const gchar *first_property_name
,va_list var_args
); void ges_track_element_get_child_property_by_pspec (GESTrackElement *object
,GParamSpec *pspec
,GValue *value
); gboolean ges_track_element_edit (GESTrackElement *object
,GList *layers
,GESEditMode mode
,GESEdge edge
,guint64 position
); gboolean ges_track_element_set_control_source (GESTrackElement *object
,GstControlSource *source
,const gchar *property_name
,const gchar *binding_type
); GstControlBinding * ges_track_element_get_control_binding (GESTrackElement *object
,const gchar *property_name
);
GObject +----GInitiallyUnowned +----GESTimelineElement +----GESTrackElement +----GESSource +----GESOperation
"active" gboolean : Read / Write "track" GESTrack* : Read "track-type" GESTrackType : Read / Write / Construct
GESTrackElement is the Base Class for any object that can be contained in a GESTrack.
It contains the basic information as to the location of the object within its container, like the start position, the inpoint, the duration and the priority.
typedef struct { /* virtual methods for subclasses */ const gchar *gnlobject_factorytype; GstElement* (*create_gnl_object) (GESTrackElement * object); GstElement* (*create_element) (GESTrackElement * object); void (*active_changed) (GESTrackElement *object, gboolean active); /* virtual methods for subclasses */ GParamSpec** (*list_children_properties) (GESTrackElement * object, guint *n_properties); } GESTrackElementClass;
Subclasses can override the create_gnl_object
method to override what type
of GNonLin object will be created.
const gchar * |
name of the GNonLin GStElementFactory type to use. |
method to create the GNonLin container object. | |
method to return the GstElement to put in the gnlobject. | |
active property of gnlobject has changed | |
method to get children properties that user could
like to configure.
The default implementation will create an object
of type gnlobject_factorytype and call
create_element . |
gboolean ges_track_element_set_active (GESTrackElement *object
,gboolean active
);
Sets the usage of the object
. If active
is TRUE
, the object will be used for
playback and rendering, else it will be ignored.
|
a GESTrackElement |
|
visibility |
Returns : |
TRUE if the property was toggled, else FALSE
|
GESTrack * ges_track_element_get_track (GESTrackElement *object
);
Get the GESTrack to which this object belongs.
|
a GESTrackElement |
Returns : |
The GESTrack to which this object belongs. Can be NULL if it
is not in any track. [transfer none]
|
GstElement * ges_track_element_get_gnlobject (GESTrackElement *object
);
Get the GNonLin object this object is controlling.
|
a GESTrackElement |
Returns : |
the GNonLin object this object is controlling. [transfer none] |
GstElement * ges_track_element_get_element (GESTrackElement *object
);
Get the GstElement this track element is controlling within GNonLin.
|
a GESTrackElement |
Returns : |
the GstElement this track element is controlling within GNonLin. [transfer none] |
gboolean ges_track_element_is_active (GESTrackElement *object
);
Lets you know if object
will be used for playback and rendering,
or not.
|
a GESTrackElement |
Returns : |
TRUE if object is active, FALSE otherwize |
gboolean ges_track_element_lookup_child (GESTrackElement *object
,const gchar *prop_name
,GstElement **element
,GParamSpec **pspec
);
Looks up which element
and pspec
would be effected by the given name
. If various
contained elements have this property name you will get the first one, unless you
specify the class name in name
.
|
object to lookup the property in |
|
name of the property to look up. You can specify the name of the class as such: "ClassName::property-name", to guarantee that you get the proper GParamSpec in case various GstElement-s contain the same property name. If you don't do so, you will get the first element found, having this property and the and the corresponding GParamSpec. |
|
pointer to a GstElement that takes the real object to set property on. [out][allow-none][transfer full] |
|
pointer to take the GParamSpec describing the property. [out][allow-none][transfer full] |
Returns : |
TRUE if element and pspec could be found. FALSE otherwise. In that
case the values for pspec and element are not modified. Unref element after
usage. |
GParamSpec ** ges_track_element_list_children_properties (GESTrackElement *object
,guint *n_properties
);
Gets an array of GParamSpec* for all configurable properties of the
children of object
.
|
The GESTrackElement to get the list of children properties from |
|
return location for the length of the returned array. [out] |
Returns : |
an array of GParamSpec* which should be freed after use or
NULL if something went wrong. [transfer full][array length=n_properties]
|
gboolean ges_track_element_set_child_property (GESTrackElement *object
,const gchar *property_name
,GValue *value
);
Sets a property of a GstElement contained in object
.
Note that ges_track_element_set_child_property is really intended for language bindings, ges_track_element_set_child_properties is much more convenient for C programming.
|
The origin GESTrackElement |
|
The name of the property |
|
the value |
Returns : |
TRUE if the property was set, FALSE otherwize |
void ges_track_element_set_child_properties (GESTrackElement *object
,const gchar *first_property_name
,...
);
Sets a property of a child of object
. If there are various child elements
that have the same property name, you can distinguish them using the following
syntax: 'ClasseName::property_name' as property name. If you don't, the
corresponding property of the first element found will be set.
|
The GESTrackElement parent object |
|
The name of the first property to set |
|
value for the first property, followed optionally by more name/return location pairs, followed by NULL |
void ges_track_element_set_child_property_valist (GESTrackElement *object
,const gchar *first_property_name
,va_list var_args
);
Sets a property of a child of object
. If there are various child elements
that have the same property name, you can distinguish them using the following
syntax: 'ClasseName::property_name' as property name. If you don't, the
corresponding property of the first element found will be set.
|
The GESTrackElement parent object |
|
The name of the first property to set |
|
value for the first property, followed optionally by more name/return location pairs, followed by NULL |
void ges_track_element_set_child_property_by_pspec (GESTrackElement *object
,GParamSpec *pspec
,GValue *value
);
Sets a property of a child of object
.
|
a GESTrackElement |
|
The GParamSpec that specifies the property you want to set |
|
the value |
gboolean ges_track_element_get_child_property (GESTrackElement *object
,const gchar *property_name
,GValue *value
);
In general, a copy is made of the property contents and
the caller is responsible for freeing the memory by calling
g_value_unset()
.
Gets a property of a GstElement contained in object
.
Note that ges_track_element_get_child_property is really intended for language bindings, ges_track_element_get_child_properties is much more convenient for C programming.
|
The origin GESTrackElement |
|
The name of the property |
|
return location for the property value, it will be initialized if it is initialized with 0. [out] |
Returns : |
TRUE if the property was found, FALSE otherwize |
void ges_track_element_get_child_properties (GESTrackElement *object
,const gchar *first_property_name
,...
);
Gets properties of a child of object
.
|
The origin GESTrackElement |
|
The name of the first property to get |
|
return location for the first property, followed optionally by more name/return location pairs, followed by NULL |
void ges_track_element_get_child_property_valist (GESTrackElement *object
,const gchar *first_property_name
,va_list var_args
);
Gets a property of a child of object
. If there are various child elements
that have the same property name, you can distinguish them using the following
syntax: 'ClasseName::property_name' as property name. If you don't, the
corresponding property of the first element found will be set.
|
The GESTrackElement parent object |
|
The name of the first property to get |
|
value for the first property, followed optionally by more name/return location pairs, followed by NULL |
void ges_track_element_get_child_property_by_pspec (GESTrackElement *object
,GParamSpec *pspec
,GValue *value
);
Gets a property of a child of object
.
|
a GESTrackElement |
|
The GParamSpec that specifies the property you want to get |
|
return location for the value. [out] |
gboolean ges_track_element_edit (GESTrackElement *object
,GList *layers
,GESEditMode mode
,GESEdge edge
,guint64 position
);
Edit object
in the different exisiting GESEditMode modes. In the case of
slide, and roll, you need to specify a GESEdge
|
the GESTrackElement to edit |
|
The layers you want the edit to
happen in, NULL means that the edition is done in all the
GESLayers contained in the current timeline.
FIXME: This is not implemented yet. [element-type GESLayer]
|
|
The GESEditMode in which the editition will happen. |
|
The GESEdge the edit should happen on. |
|
The position at which to edit object (in nanosecond) |
Returns : |
TRUE if the object as been edited properly, FALSE if an error
occured |
gboolean ges_track_element_set_control_source (GESTrackElement *object
,GstControlSource *source
,const gchar *property_name
,const gchar *binding_type
);
Creates a GstControlBinding and adds it to the GstElement concerned by the property. Use the same syntax as ges_track_element_lookup_child for the property name.
|
the GESTrackElement on which to set a control binding |
|
the GstControlSource to set on the binding. [element-type GstControlSource] |
|
The name of the property to control. |
|
The type of binding to create. Only "direct" is available for now. |
Returns : |
TRUE if the binding could be created and added, FALSE if an error
occured |
GstControlBinding * ges_track_element_get_control_binding (GESTrackElement *object
,const gchar *property_name
);
Looks up the various controlled properties for that GESTrackElement,
and returns the GstControlBinding which controls property_name
.
|
the GESTrackElement in which to lookup the bindings. |
|
The property_name to which the binding is associated. |
Returns : |
the GstControlBinding associated with property_name , or NULL
if that property is not controlled. [transfer none]
|
"active"
property"active" gboolean : Read / Write
Whether the object should be taken into account in the GESTrack output. If FALSE, then its contents will not be used in the resulting track.
Default value: TRUE
"track-type"
property"track-type" GESTrackType : Read / Write / Construct
The track type of the object.
Default value: GES_TRACK_TYPE_UNKNOWN
"deep-notify"
signalvoid user_function (GESTrackElement *track_element,
GstElement *prop_object,
GParamSpec *prop,
gpointer user_data) : No Hooks
The deep notify signal is used to be notified of property changes of all
the childs of track_element
|
a GESTrackElement |
|
the object that originated the signal |
|
the property that changed |
|
user data set when the signal handler was connected. |