TimelineObject: add the ges_timeline_object_get_top_effect_position method
authorThibault Saunier <thibault.saunier@collabora.co.uk>
Mon, 31 Jan 2011 10:41:37 +0000 (11:41 +0100)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Fri, 6 May 2011 08:39:00 +0000 (10:39 +0200)
tests: adapt the effect testsuite to use this function

docs: add the method to the documentation

docs/libs/ges-sections.txt
ges/ges-timeline-object.c
ges/ges-timeline-object.h
tests/check/ges/effects.c

index 48962af..89e1453 100644 (file)
@@ -281,6 +281,7 @@ ges_timeline_object_get_layer
 ges_timeline_object_find_track_object
 ges_timeline_object_add_track_object
 ges_timeline_object_get_effects
+ges_timeline_object_get_top_effect_position
 <SUBSECTION Standard>
 GES_TIMELINE_OBJECT_DURATION
 GES_TIMELINE_OBJECT_INPOINT
index ba3e84a..0e0f8af 100644 (file)
@@ -822,6 +822,24 @@ ges_timeline_object_get_effects (GESTimelineObject * object)
   return ret;
 }
 
+/**
+* ges_timeline_object_get_top_effect_position:
+*
+* @object: The origin #GESTimelineObject
+* @effect: The #GESTrackEffect we want to get the top position from
+*
+* Gets the top position of an effect.
+*
+* Returns: The top position of the effect, -1 if something went wrong.
+*/
+gint
+ges_timeline_object_get_top_effect_position (GESTimelineObject * object,
+    GESTrackOperation * effect)
+{
+  return find_object_mapping (object,
+      GES_TRACK_OBJECT (effect))->priority_offset;
+}
+
 /*
  * PROPERTY NOTIFICATIONS FROM TRACK OBJECTS
  */
index c6b2344..6650231 100644 (file)
@@ -244,6 +244,10 @@ ges_timeline_object_add_track_object (GESTimelineObject *object, GESTrackObject
 GList *
 ges_timeline_object_get_effects (GESTimelineObject *object);
 
+gint 
+ges_timeline_object_get_top_effect_position (GESTimelineObject *object,
+            GESTrackOperation *effect);
+
 G_END_DECLS
 
 #endif /* _GES_TIMELINE_OBJECT */
index f26e9fa..6386b7d 100644 (file)
@@ -135,7 +135,10 @@ GST_START_TEST (test_get_effects_from_tl)
   effects = ges_timeline_object_get_effects (GES_TIMELINE_OBJECT (source));
 
   for (tmp = effects; tmp; tmp = tmp->next) {
-    int priority = GES_TRACK_OBJECT (tmp->data)->priority;
+    gint priority =
+        ges_timeline_object_get_top_effect_position (GES_TIMELINE_OBJECT
+        (source),
+        GES_TRACK_OPERATION (tmp->data));
     fail_unless (priority > effect_prio);
     fail_unless (GES_IS_TRACK_EFFECT (tmp->data));
     effect_prio = priority;