expose priority-offset as a property
authorBrandon Lewis <brandon@collabora.co.uk>
Thu, 8 Jul 2010 17:01:46 +0000 (19:01 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Wed, 1 Sep 2010 14:56:02 +0000 (16:56 +0200)
ges/ges-track-object.c
tests/check/ges/layer.c

index fd71252..ff64ea7 100644 (file)
@@ -57,6 +57,7 @@ enum
   PROP_INPOINT,
   PROP_DURATION,
   PROP_PRIORITY,
+  PROP_PRIORITY_OFFSET,
   PROP_ACTIVE
 };
 
@@ -99,6 +100,9 @@ ges_track_object_get_property (GObject * object, guint property_id,
     case PROP_PRIORITY:
       g_value_set_uint (value, tobj->base_priority);
       break;
+    case PROP_PRIORITY_OFFSET:
+      g_value_set_uint (value, tobj->priority_offset);
+      break;
     case PROP_ACTIVE:
       g_value_set_boolean (value, tobj->active);
       break;
@@ -126,6 +130,10 @@ ges_track_object_set_property (GObject * object, guint property_id,
     case PROP_PRIORITY:
       ges_track_object_set_priority_internal (tobj, g_value_get_uint (value));
       break;
+    case PROP_PRIORITY_OFFSET:
+      ges_track_object_set_priority_offset_internal (tobj, g_value_get_uint
+          (value));
+      break;
     case PROP_ACTIVE:
       ges_track_object_set_active (tobj, g_value_get_boolean (value));
       break;
@@ -206,6 +214,17 @@ ges_track_object_class_init (GESTrackObjectClass * klass)
           "The priority of the object", 0, G_MAXUINT, 0, G_PARAM_READWRITE));
 
   /**
+   * GESTrackObject:priority-offset
+   *
+   * A value added to the "priority" value. Needed for timeline objects
+   * that create multiple track objects per track.
+   */
+  g_object_class_install_property (object_class, PROP_PRIORITY_OFFSET,
+      g_param_spec_uint ("priority-offset", "Priority Offset",
+          "An offset from the base priority", 0, G_MAXUINT, 0,
+          G_PARAM_READWRITE));
+
+  /**
    * GESTrackObject:active
    *
    * Whether the object should be taken into account in the #GESTrack output.
index ce2d156..e1c8e64 100644 (file)
@@ -119,7 +119,7 @@ GST_START_TEST (test_layer_properties)
   gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 0, TRUE);
 
   /* check priority offsets */
-  ges_track_object_set_priority_offset_internal (trackobject, 1);
+  g_object_set (trackobject, "priority-offset", 1, NULL);
   gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 1, TRUE);
   g_object_set (object, "priority", 5, NULL);
   gnl_object_check (trackobject->gnlobject, 42, 51, 12, 51, 6, TRUE);