| 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. |