GESTrackEffect: add getters for the: start, inpoint, duration, priority, active prope...
authorThibault Saunier <thibault.saunier@collabora.co.uk>
Thu, 3 Feb 2011 14:11:54 +0000 (15:11 +0100)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Fri, 6 May 2011 08:39:01 +0000 (10:39 +0200)
docs: add new symbols

docs/libs/ges-sections.txt
ges/ges-track-object.c
ges/ges-track-object.h

index c77f203..ac76d26 100644 (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
index 99c0a4b..2e1106e 100644 (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;
+}
index 7371df3..926ac7d 100644 (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