Top | ![]() |
![]() |
![]() |
![]() |
gboolean | active | Read / Write |
GESTrack * | track | Read |
GESTrackType | track-type | Read / Write / Construct |
GObject ╰── GInitiallyUnowned ╰── GESTimelineElement ╰── GESTrackElement ├── GESSource ╰── GESOperation
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.
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.
GESTrack *
ges_track_element_get_track (GESTrackElement *object
);
Get the GESTrack to which this object belongs.
GstElement *
ges_track_element_get_gnlobject (GESTrackElement *object
);
Get the GNonLin object this object is controlling.
GstElement *
ges_track_element_get_element (GESTrackElement *object
);
Get the GstElement this track element is controlling within GNonLin.
gboolean
ges_track_element_is_active (GESTrackElement *object
);
Lets you know if object
will be used for playback and rendering,
or not.
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 |
object to lookup the property in |
|
prop_name |
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. |
|
element |
pointer to a GstElement that takes the real object to set property on. |
[out][allow-none][transfer full] |
pspec |
pointer to take the GParamSpec describing the property. |
[out][allow-none][transfer full] |
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
.
object |
The GESTrackElement to get the list of children properties from |
|
n_properties |
return location for the length of the returned array. |
[out] |
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.
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.
object |
The GESTrackElement parent object |
|
first_property_name |
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.
object |
The GESTrackElement parent object |
|
first_property_name |
The name of the first property to set |
|
var_args |
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
.
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.
object |
The origin GESTrackElement |
|
property_name |
The name of the property |
|
value |
return location for the property value, it will be initialized if it is initialized with 0. |
[out] |
void ges_track_element_get_child_properties (GESTrackElement *object
,const gchar *first_property_name
,...
);
Gets properties of a child of object
.
object |
The origin GESTrackElement |
|
first_property_name |
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.
object |
The GESTrackElement parent object |
|
first_property_name |
The name of the first property to get |
|
var_args |
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
.
object |
||
pspec |
The GParamSpec that specifies the property you want to get |
|
value |
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
object |
the GESTrackElement to edit |
|
layers |
The layers you want the edit to
happen in, |
[element-type GESLayer] |
mode |
The GESEditMode in which the editition will happen. |
|
edge |
The GESEdge the edit should happen on. |
|
position |
The position at which to edit |
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.
object |
the GESTrackElement on which to set a control binding |
|
source |
the GstControlSource to set on the binding. |
[element-type GstControlSource] |
property_name |
The name of the property to control. |
|
binding_type |
The type of binding to create. Only "direct" is available for now. |
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
.
object |
the GESTrackElement in which to lookup the bindings. |
|
property_name |
The property_name to which the binding is associated. |
the GstControlBinding associated with property_name
, or NULL
if that property is not controlled.
[transfer none]
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 |
“active”
property“active” gboolean
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.
Flags: Read / Write
Default value: TRUE
“track-type”
property“track-type” GESTrackType
The track type of the object.
Flags: Read / Write / Construct
Default value: GES_TRACK_TYPE_UNKNOWN
“deep-notify”
signalvoid user_function (GESTrackElement *track_element, GstElement *prop_object, GParamSpec *prop, gpointer user_data)
The deep notify signal is used to be notified of property changes of all
the childs of track_element
track_element |
||
prop_object |
the object that originated the signal |
|
prop |
the property that changed |
|
user_data |
user data set when the signal handler was connected. |
Flags: No Hooks