Add missing documentation
authorBrandon Lewis <brandon.lewis@collabora.co.uk>
Mon, 31 May 2010 16:59:12 +0000 (18:59 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Wed, 9 Jun 2010 09:28:09 +0000 (11:28 +0200)
21 files changed:
docs/libs/ges-sections.txt
ges/ges-custom-timeline-source.h
ges/ges-simple-timeline-layer.c
ges/ges-simple-timeline-layer.h
ges/ges-timeline-file-source.c
ges/ges-timeline-file-source.h
ges/ges-timeline-layer.c
ges/ges-timeline-layer.h
ges/ges-timeline-object.c
ges/ges-timeline-object.h
ges/ges-timeline-pipeline.h
ges/ges-timeline-source.h
ges/ges-timeline-transition.h
ges/ges-timeline.c
ges/ges-timeline.h
ges/ges-track-filesource.h
ges/ges-track-object.h
ges/ges-track-source.h
ges/ges-track-transition.c
ges/ges-track-transition.h
ges/ges-track.h

index 44d793058203ed024c92babe4aecb2994bbf363d..262af426f30945fcb58766257aeca3100a9b161a 100644 (file)
@@ -6,6 +6,12 @@
 ges_init
 </SECTION>
 
+<SECTION>
+<FILE>ges-utils</FILE>
+<TITLE>Utilities</TITLE>
+
+</SECTION>
+
 <SECTION>
 <FILE>ges-track</FILE>
 <TITLE>GESTrack</TITLE>
index a4d0e632cb46b4ce675f5579a06c2175606d17a2..40ec1f0d9511d619f1af35c307fdd12835954b89 100644 (file)
@@ -64,14 +64,25 @@ typedef gboolean (*FillTrackObjectUserFunc) (GESTimelineObject * object,
                                             GstElement * gnlobj,
                                             gpointer user_data);
 
+/**
+ * GESCustomTimelineSource:
+ *
+ */
 
 struct _GESCustomTimelineSource {
   GESTimelineSource parent;
 
+  /*< private >*/
   FillTrackObjectUserFunc filltrackobjectfunc;
   gpointer user_data;
 };
 
+/**
+ * GESCustomTimelineSourceClass:
+ * @parent_class: parent class
+ *
+ */
+
 struct _GESCustomTimelineSourceClass {
   GESTimelineSourceClass parent_class;
 };
index 4e4131e1b6662f30271851f1f71e4f0910172343..b14ed23f2e9b90c7135bbfe6eb40e9d881aaa370 100644 (file)
  * @short_description: High-level #GESTimelineLayer
  *
  * #GESSimpleTimelineLayer allows using #GESTimelineObject(s) with a list-like
- * API.
+ * API. Clients can add any type of GESTimelineObject to a
+ * GESSimpleTimelineLayer, and the layer will automatically compute the
+ * appropriate start times. 
+ * Users should be aware that GESTimelineTransition objects are considered to
+ * have a negative duration for the purposes of positioning GESTimelineSource
+ * objects (i.e., adding a GESTimelineTransition creates an overlap between
+ * the two adjacent sources 
  */
 
 #include "ges-internal.h"
@@ -171,6 +178,11 @@ gstl_recalculate (GESSimpleTimelineLayer * self)
  * Adds the object at the given position in the layer. The position is where
  * the object will be inserted. To put the object before all objects, use
  * position 0. To put after all objects, use position -1.
+ * 
+ * When adding transitions, it is important that the adjacent objects
+ * (objects at position, and position + 1) be (1) A derivative of
+ * GESTimelineSource or other non-transition, and (2) have a duration at least
+ * as long as the duration of the transition.
  *
  * The layer will steal a reference to the provided object.
  *
index 3042e9071e05079a898c975b727fb8443fe68a65..8111510370dffa7560d042f191ff2bc55b706f21 100644 (file)
@@ -44,6 +44,11 @@ G_BEGIN_DECLS
 #define GES_SIMPLE_TIMELINE_LAYER_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_SIMPLE_TIMELINE_LAYER, GESSimpleTimelineLayerClass))
 
+/**
+ * GESSimpleTimelineLayer:
+ * 
+ */
+
 struct _GESSimpleTimelineLayer {
   GESTimelineLayer parent;
 
@@ -54,8 +59,15 @@ struct _GESSimpleTimelineLayer {
   gboolean adding_object;
 };
 
+/**
+ * GESSimpleTimelineLayerClass:
+ * @parent_class: parent class
+ *
+ */
+
 struct _GESSimpleTimelineLayerClass {
   GESTimelineLayerClass parent_class;
+  /*< private >*/
 };
 
 GType ges_simple_timeline_layer_get_type (void);
index 8c39aa24c3af3bc74665432e456bc20eab99a7cd..c0f1c9365e358902b64de082775fe3f190ac71e8 100644 (file)
 
 /**
  * SECTION:ges-timeline-filesource
- * @short_description: 
+ * @short_description: An object for manipulating media files in a GESTimeline
+ * 
+ * Represents all the output treams from a particular uri. It is assumed that
+ * the URI points to a file of some type.
  */
 
 #include "ges-internal.h"
index 8426994f84780e0031d9281d2d7df8e4ed9541f9..a0ad51567a0ddfd55e49bde33159aa26941929ae 100644 (file)
@@ -45,6 +45,10 @@ G_BEGIN_DECLS
 #define GES_TIMELINE_FILE_SOURCE_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_FILE_SOURCE, GESTimelineFileSourceClass))
 
+/**
+ * GESTimelineSource:
+ * 
+ */
 
 struct _GESTimelineFileSource {
   GESTimelineSource parent;
@@ -61,8 +65,15 @@ struct _GESTimelineFileSource {
   GESTrackType supportedformats;
 };
 
+/**
+ * GESTimelineFileSourceClass:
+ * @parent_class: parent class
+ */
+
 struct _GESTimelineFileSourceClass {
   GESTimelineSourceClass parent_class;
+
+  /*< public >*/
 };
 
 GType ges_tl_filesource_get_type (void);
index 663ddb1775cb8075ce2d409da99eccf3602707ee..d4b06da4312032912f9278a304b4f962419a38db 100644 (file)
  * SECTION:ges-timeline-layer
  * @short_description: Non-overlaping sequence of #GESTimelineObject
  *
- * Responsible for the ordering of the various contained TimelineObject(s)
+ * Responsible for the ordering of the various contained TimelineObject(s). A
+ * timeline layer has a "priority" property, which is used to manage the
+ * priorities of individual TimelineObjects. Two layers should not have the
+ * same priority within a given timeline.
  */
 
 #include "ges-internal.h"
@@ -110,7 +113,9 @@ ges_timeline_layer_class_init (GESTimelineLayerClass * klass)
    * GESTimelineLayer:priority
    *
    * The priority of the layer in the #GESTimeline. 0 is the highest
-   * priority.
+   * priority. Conceptually, a #GESTimeline is a stack of GESTimelineLayers,
+   * and the priority of the layer represents its position in the stack. Two
+   * layers should not have the same priority within a given GESTimeline.
    */
   g_object_class_install_property (object_class, PROP_PRIORITY,
       g_param_spec_uint ("priority", "Priority",
index d8191a08f055e5576ef136e9e3ea61cdf5bcc64b..0bef2299327f037c711f535b3fce1bd363a25195 100644 (file)
@@ -43,22 +43,33 @@ G_BEGIN_DECLS
 #define GES_TIMELINE_LAYER_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_LAYER, GESTimelineLayerClass))
 
+/**
+ * GESTimelineLayer:
+ * @timeline: the #GESTimeline where this layer is being used.
+ */
 struct _GESTimelineLayer {
-  GObject parent;
+  GObject parent; 
+
+  /*< public >*/
 
   GESTimeline *timeline;       /* The timeline where this layer is being used
                                 */
 
+  /*< private >*/
   GSList * objects_start;      /* The TimelineObjects sorted by start and
                                 * priority */
 
   guint32 priority;            /* The priority of the layer within the 
                                 * containing timeline */
 
-  /*< private >*/
   guint32 min_gnl_priority, max_gnl_priority;
 };
 
+/**
+ * GESTimelineLayerClass:
+ * @parent_class: parent class
+ *
+ */
 struct _GESTimelineLayerClass {
   GObjectClass parent_class;
 
index e409372818f2494f89452450c1b801d6d99a1f20..4e9ed9b0823f51aa5bb521dc266325bf7221ab5a 100644 (file)
@@ -22,7 +22,7 @@
  * SECTION:ges-timeline-object
  * @short_description: Base Class for objects in a #GESTimelineLayer
  *
- * Responsible for creating the #GESTrackObject(s) for given #GESTimelineTrack(s)
+ * Responsible for creating the #GESTrackObject(s) for given #GESTrack(s)
  *
  * Keeps a reference to the #GESTrackObject(s) it created and sets/updates their properties.
  */
index c7495470f76b1070903361aed33994802ed2bc92..fc4729770166ffb5f83f2485d63738e1b0eb3ef7 100644 (file)
@@ -115,7 +115,7 @@ typedef GESTrackObject* (*CreateTrackObjectFunc) (GESTimelineObject * object,
 
 /**
  * GESTimelineObject:
- * @layer: the #GESTImelineLayer where this object is being used.
+ * @layer: the #GESTimelineLayer where this object is being used.
  *
  * The GESTimelineObject subclass. Subclasses can access these fields.
  */
index 04e1f7b00f47a2a217c54ea1d0ae0066ef33cab7..f378419ad40946a6d7a412622a8b69bcbd5d63c3 100644 (file)
@@ -62,6 +62,11 @@ typedef enum {
   TIMELINE_MODE_SMART_RENDER   = 1 << 3
 } GESPipelineFlags;
 
+/**
+ * GESTimelinePipeline:
+ *
+ */
+
 struct _GESTimelinePipeline {
   GstPipeline parent;
 
@@ -79,8 +84,15 @@ struct _GESTimelinePipeline {
   GstEncodingProfile *profile;
 };
 
+/**
+ * GESTimelinePipelineClass:
+ * @parent_class: parent class
+ *
+ */
+
 struct _GESTimelinePipelineClass {
   GstPipelineClass parent_class;
+  /* <public> */
 };
 
 GType ges_timeline_pipeline_get_type (void);
index 2420ac2b226882607b0d3511332c1d87d87f1e14..b5b25ce3134b83a531f91ffddc881f13f410ff2b 100644 (file)
@@ -44,12 +44,24 @@ G_BEGIN_DECLS
 #define GES_TIMELINE_SOURCE_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_SOURCE, GESTimelineSourceClass))
 
+/**
+ * GESTimelineSource:
+ *
+ */
+
 struct _GESTimelineSource {
   GESTimelineObject parent;
+  /*< public >*/
 };
 
+/**
+ * GESTimelineSourceClass:
+ * @parent_class: parent class
+ */
+
 struct _GESTimelineSourceClass {
   GESTimelineObjectClass parent_class;
+  /*< public >*/
 };
 
 GType ges_timeline_source_get_type (void);
index 4a612a1ad7962ce2a5e31f92ac8bbe3336e0243e..330b6557d22f2ccc14faa2705cf61f58edeb35d9 100644 (file)
@@ -43,13 +43,26 @@ G_BEGIN_DECLS
 #define GES_TIMELINE_TRANSITION_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_TRANSITION, GESTimelineTransitionClass))
 
+/**
+ * GESTimelineTransition:
+ * @vtype: a #GEnumValue indicating the type of video transition to apply.
+ *
+ */
 struct _GESTimelineTransition {
   GESTimelineObject parent;
+  /*< public >*/
   GEnumValue *vtype;
 };
 
+/**
+ * GESTimelineTransitionClass:
+ * @parent_class: parent class
+ *
+ */
+
 struct _GESTimelineTransitionClass {
   GESTimelineObjectClass parent_class;
+  /*< public >*/
 };
 
 GType ges_timeline_transition_get_type (void);
index 930a0a2b67b15af4e6956fb5be2dbc97fbb7040c..589a62ee48879696f68084e595544703f629e615 100644 (file)
@@ -27,7 +27,7 @@
  * Contains a list of #GESTimelineLayer which users should use to arrange the
  * various timeline objects through time.
  *
- * The output type is determined by the #GESTimelineTrack that are set on
+ * The output type is determined by the #GESTrack that are set on
  * the #GESTimeline.
  */
 
index e62cc52fd1e21f20ba5a4a0a0e6620cddcaac661..b8c4b4050e854ba03d6c186878cae8d37a2c5264 100644 (file)
@@ -47,7 +47,7 @@ G_BEGIN_DECLS
 
 /**
  * GESTimeline:
- * @tracks: a list of #GESTrack
+ *
  */
 struct _GESTimeline {
   GstBin parent;
@@ -64,9 +64,16 @@ struct _GESTimeline {
   gboolean async_pending;
 };
 
+/**
+ * GESTimelineClass:
+ * @parent_class: parent class
+ */
+
 struct _GESTimelineClass {
   GstBinClass parent_class;
 
+  /*< private >*/
+
   void (*track_added)  (GESTimeline *timeline, GESTrack * track);
   void (*track_removed)        (GESTimeline *timeline, GESTrack * track);
   void (*layer_added)  (GESTimeline *timeline, GESTimelineLayer *layer);
index 84573ebf5e4cbccd3234d71e9d39dcf1a79bf43d..ddf89c4b778629cc5fb2795bbb02e246599cc436 100644 (file)
@@ -43,7 +43,11 @@ G_BEGIN_DECLS
 
 #define GES_TRACK_FILESOURCE_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_FILESOURCE, GESTrackFileSourceClass))
-
+/** 
+ * GESTrackFileSource
+ * @uri: #gchar *, the URI of the media file to play
+ *
+ */
 struct _GESTrackFileSource {
   GESTrackObject parent;
 
@@ -51,8 +55,15 @@ struct _GESTrackFileSource {
   gchar *uri;
 };
 
+/**
+ * GESTrackFileSourceClass
+ * @parent_class: parent class
+ */
+
 struct _GESTrackFileSourceClass {
   GESTrackObjectClass parent_class;
+
+  /* <public> */
 };
 
 GType ges_track_filesource_get_type (void);
index cc5df07ed83b607920ba59d92cf6df3beaf37f7b..6b36da6b79a598ae1eef66e01e13517c597d945d 100644 (file)
@@ -120,6 +120,7 @@ struct _GESTrackObject {
 
 /**
  * GESTrackObjectClass:
+ * @parent_class: parent class
  * @create_gnl_object: method to create the GNonLin container object.
  *
  * Subclasses can override the @create_gnl_object method to override what type
index fb4ba0998f5e362d792b5d8a5c675ad6514026ae..89b164e5ce51aef7ed2cf9cd2dc48ac507f1cce6 100644 (file)
@@ -44,10 +44,27 @@ G_BEGIN_DECLS
 #define GES_TRACK_SOURCE_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_SOURCE, GESTrackSourceClass))
 
+/**
+ * GESTrackSource:
+ * @parent: parent
+ *
+ * Base class for single-media sources
+ *
+ */
+
 struct _GESTrackSource {
+  /* <public> */
   GESTrackObject parent;
 };
 
+/**
+ * GESTrackSourceClass:
+ * @parent_class: the parent class
+ *
+ * Base class for track objects which produce data but do not consuem it.
+ *
+ */
+
 struct _GESTrackSourceClass {
   GESTrackObjectClass parent_class;
 };
@@ -59,4 +76,3 @@ GESTrackSource* ges_track_source_new (void);
 G_END_DECLS
 
 #endif /* _GES_TRACK_SOURCE */
-
index 139da68a19b632b9a2fd8da6d1c0ca894f604628..2696d688b782261ca59099d525ed64cd20fec7f4 100644 (file)
  * Boston, MA 02111-1307, USA.
  */
 
+/** 
+ * SECTION:ges-track-transition
+ * @short_description: Concrete, track-level implemenation of audio and video
+ * transitinos.
+ */
+
 #include "ges-internal.h"
 #include "ges-track-object.h"
 #include "ges-track-transition.h"
index 716db094ee48ec866187f90bc3919af06b224f01..a2e6e18c8d10304f580e76f97bed913c34771490 100644 (file)
@@ -49,16 +49,37 @@ G_BEGIN_DECLS
     (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_TRANSITION,\
         GESTrackTransitionClass)
 
+/**
+ * GESTrackTransition:
+ * @parent: parent
+ * @vtype: a #GEnumValue representing the type of transition to apply.
+ *
+ * Track level representation of a transition. Has a concrete implementation
+ * for both audio and video streams.
+ *
+ */
+
 struct _GESTrackTransition
 {
   GESTrackObject parent;
-  GstController                 *vcontroller;
 
-  GstInterpolationControlSource *vcontrol_source;
+  /*< public >*/
+  /* given to to smpte alpha element */
   GEnumValue                    *vtype;
+
+  /*< private >*/
+  
+  /* these enable video interpolation */
+  GstController                 *vcontroller;
+  GstInterpolationControlSource *vcontrol_source;
+  
+  /* these will be different depending on whether smptealpha or alpha element
+   * is used */
   gdouble                       vstart_value;
   gdouble                       vend_value;
 
+  /* these enable volume interpolation. Unlike video, both inputs are adjusted
+   * simultaneously */
   GstController                 *a_acontroller;
   GstInterpolationControlSource *a_acontrol_source;
 
@@ -66,8 +87,14 @@ struct _GESTrackTransition
   GstInterpolationControlSource *a_bcontrol_source;
 };
 
+/**
+ * GESTrackTransitionClass
+ * @parent_class: parent class
+ */
+
 struct _GESTrackTransitionClass {
     GESTrackObjectClass parent_class;
+    /* <public> */
 };
 
 GType ges_track_transition_get_type (void);
index ab83ca8230edf05ad21bd3699fd8792229271d5e..d6c2e29f6c6a98f72923b298e0d12c81d920b68f 100644 (file)
@@ -72,6 +72,12 @@ typedef enum {
   GES_TRACK_TYPE_CUSTOM  = 1 << 4,
 } GESTrackType;
 
+/**
+ * GESTrack:
+ * @type: a #GESTrackType indicting the basic type of the track.
+ *
+ */
+
 struct _GESTrack {
   GstBin parent;
 
@@ -87,6 +93,11 @@ struct _GESTrack {
   GstPad * srcpad;             /* The source GhostPad */
 };
 
+/**
+ * GESTrackClass:
+ * @parent_class: parent class
+ */
+
 struct _GESTrackClass {
   GstBinClass parent_class;
 };