GESTrackEffect: add getters for the: start, inpoint, duration, priority, active properties

docs: add new symbols
This commit is contained in:
Thibault Saunier 2011-02-03 15:11:54 +01:00 committed by Edward Hervey
parent 861b724cd6
commit c84d87961d
3 changed files with 103 additions and 5 deletions

View file

@ -78,6 +78,11 @@ ges_track_object_get_track
ges_track_object_get_timeline_object
ges_track_object_get_gnlobject
ges_track_object_get_element
ges_track_object_get_start
ges_track_object_get_inpoint
ges_track_object_get_duration
ges_track_object_get_priority
ges_track_object_is_active
<SUBSECTION Standard>
GES_TRACK_OBJECT_DURATION
GES_TRACK_OBJECT_INPOINT

View file

@ -107,19 +107,19 @@ ges_track_object_get_property (GObject * object, guint property_id,
switch (property_id) {
case PROP_START:
g_value_set_uint64 (value, tobj->start);
g_value_set_uint64 (value, ges_track_object_get_start (tobj));
break;
case PROP_INPOINT:
g_value_set_uint64 (value, tobj->inpoint);
g_value_set_uint64 (value, ges_track_object_get_inpoint (tobj));
break;
case PROP_DURATION:
g_value_set_uint64 (value, tobj->duration);
g_value_set_uint64 (value, ges_track_object_get_duration (tobj));
break;
case PROP_PRIORITY:
g_value_set_uint (value, tobj->priority);
g_value_set_uint (value, ges_track_object_get_priority (tobj));
break;
case PROP_ACTIVE:
g_value_set_boolean (value, tobj->active);
g_value_set_boolean (value, ges_track_object_is_active (tobj));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@ -811,3 +811,90 @@ ges_track_object_is_locked (GESTrackObject * object)
{
return object->priv->locked;
}
/**
* ges_track_object_get_start:
* @object: a #GESTrackObject
*
* Get the position of the object in the container #GESTrack.
*
* Returns: the start position (in #GstClockTime)
*/
guint64
ges_track_object_get_start (GESTrackObject * object)
{
if (G_UNLIKELY (object->priv->gnlobject == NULL))
return object->priv->pending_start;
else
return object->start;
}
/**
* ges_track_object_get_inpoint:
* @object: a #GESTrackObject
*
* Get the offset within the contents of this #GESTrackObject
*
* Returns: the in-point (in #GstClockTime)
*/
guint64
ges_track_object_get_inpoint (GESTrackObject * object)
{
if (G_UNLIKELY (object->priv->gnlobject == NULL))
return object->priv->pending_inpoint;
else
return object->inpoint;
}
/**
* ges_track_object_get_duration:
* @object: a #GESTrackObject
*
* Get the duration which will be used in the container #GESTrack
* starting from the 'in-point'
*
* Returns: the duration (in #GstClockTime)
*/
guint64
ges_track_object_get_duration (GESTrackObject * object)
{
if (G_UNLIKELY (object->priv->gnlobject == NULL))
return object->priv->pending_duration;
else
return object->duration;
}
/**
* ges_track_object_get_priority:
* @object: a #GESTrackObject
*
* Get the priority of the object withing the containing #GESTrack.
*
* Returns: the priority of @object
*/
guint32
ges_track_object_get_priority (GESTrackObject * object)
{
if (G_UNLIKELY (object->priv->gnlobject == NULL))
return object->priv->pending_priority;
else
return object->priority;
}
/**
* ges_track_object_is_active:
* @object: a #GESTrackObject
*
* Lets you know if @object will be used for playback and rendering,
* or not.
*
* Returns: %TRUE if @object is active, %FALSE otherwize
*/
gboolean
ges_track_object_is_active (GESTrackObject * object)
{
if (G_UNLIKELY (object->priv->gnlobject == NULL))
return object->priv->pending_active;
else
return object->active;
}

View file

@ -152,6 +152,12 @@ void ges_track_object_set_inpoint (GESTrackObject * object, guint64 inpoint);
void ges_track_object_set_duration (GESTrackObject * object, guint64 duration);
void ges_track_object_set_priority (GESTrackObject * object, guint32 priority);
guint64 ges_track_object_get_start (GESTrackObject * object);
guint64 ges_track_object_get_inpoint (GESTrackObject * object);
guint64 ges_track_object_get_duration (GESTrackObject * object);
guint32 ges_track_object_get_priority (GESTrackObject * object);
gboolean ges_track_object_is_active (GESTrackObject * object);
gboolean ges_track_object_set_active (GESTrackObject * object, gboolean active);
G_END_DECLS