notes on documenting elements and plugins
authorThomas Vander Stichele <thomas@apestaart.org>
Wed, 14 Sep 2005 22:01:45 +0000 (22:01 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Wed, 14 Sep 2005 22:01:45 +0000 (22:01 +0000)
Original commit message from CVS:
notes on documenting elements and plugins

18 files changed:
common
docs/README
docs/gst/tmpl/gstelement.sgml
docs/gst/tmpl/gstenumtypes.sgml
docs/gst/tmpl/gstimplementsinterface.sgml
docs/gst/tmpl/gstindex.sgml
docs/gst/tmpl/gstindexfactory.sgml
docs/gst/tmpl/gstinfo.sgml
docs/gst/tmpl/gstobject.sgml
docs/gst/tmpl/gstpad.sgml
docs/gst/tmpl/gstpadtemplate.sgml
docs/gst/tmpl/gstpipeline.sgml
docs/gst/tmpl/gstplugin.sgml
docs/gst/tmpl/gstpluginfeature.sgml
docs/gst/tmpl/gsttypes.sgml
docs/gst/tmpl/gstvalue.sgml
docs/libs/tmpl/gstdataprotocol.sgml
docs/libs/tmpl/gstgetbits.sgml

diff --git a/common b/common
index 112f70e..9563779 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 112f70ef5172090966f53934a471eb2e54c2d667
+Subproject commit 9563779845a70c73dd9bc9ff6750b155e2b4cba2
index d68c809..1f9670c 100644 (file)
@@ -195,6 +195,47 @@ d) have verified your changes build documentation locally.
 Then, after updating any of the docs, run "make upload" from that directory.
 Or, run "make upload" from this (docs) directory.
 
+DOCUMENTING ELEMENTS
+====================
+As of september 2005 we have some system to document plugins and elements
+in the various plugin packages.
+
+- in a submodule, docs go in docs/plugins
+- template can be copied from gst-plugins-base
+- to add an element to be documented:
+  - add an include href in the Elements chapter for the element
+  - add a section for it in -sections.txt with
+      <FILE>element-(element)</FILE>
+      <TITLE>(element)</TITLE>
+  - add a gtk-doc section to the source code like:
+/**
+ * SECTION:element-multifdsink
+
+  and fill it with documentation about the element, preferably inside
+  a <refsect2> docbook container.
+  - add an example:
+    - either a few pipelines, inside <programlisting>
+    - or a piece of code:
+      - create an example program (element)-example.c in the plugin dir
+      - add the full path (starting with $(top_srcdir)) for this example
+        to the EXAMPLE_CFILES variable in Makefile.am
+      - add an xinclude of a file named "element-(element)-example.xml"
+        to the docbook documentation piece in the element source code
+  - add the header to EXTRA_HFILES in Makefile.am to be able to document
+    signals and args
+    (FIXME: are we sure we can both do the xinclude from the tmpl/ sgml,
+     as well as an override from the source itself ? maybe we should just
+     make sure the xinclude is in the source itself instead ?)
+  - to rebuild the docs, do:
+    make clean
+    make inspect-update
+    make
+
+- to add a plugin to be documented:
+  - make sure inspect/ has generated a .xml file for it
+  - add it to CVS
+  - add an include in -docs.sgml in the Plugins list for that plugin
+
 RANDOM THINGS I'VE LEARNED
 ==========================
 
index 1887252..87cad85 100644 (file)
@@ -65,9 +65,6 @@ and gst_element_set_clock().  You can wait for the clock to reach a given
 
 <!-- basic object functions -->
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstElement ##### -->
 <para>
 
@@ -973,6 +970,16 @@ Sets the parent of an element.
 @Returns: 
 
 
+<!-- ##### FUNCTION gst_element_set_state_async ##### -->
+<para>
+
+</para>
+
+@element: 
+@state: 
+@Returns: 
+
+
 <!-- ##### FUNCTION gst_element_state_get_name ##### -->
 <para>
 
index 52ba68c..e9361f1 100644 (file)
@@ -14,6 +14,3 @@ all gstreamer core related enumerations
 
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
index df7fb5f..5683450 100644 (file)
@@ -14,9 +14,6 @@ Core interface implemented by #GstElements that allows runtime querying of inter
 
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstImplementsInterface ##### -->
 <para>
 
index 1eac0ee..74254d5 100644 (file)
@@ -15,9 +15,6 @@ in a pipeline.
 #GstIndexFactory
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstIndex ##### -->
 <para>
 
index 7c86974..f458efd 100644 (file)
@@ -14,9 +14,6 @@ GstIndexFactory is used to dynamically create GstIndex implementations.
 #GstIndex
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstIndexFactory ##### -->
 <para>
 The GstIndexFactory object
index a8b3a38..59e5b43 100644 (file)
@@ -68,9 +68,6 @@ categories. These are explained at GST_DEBUG_CATEGORY_INIT().
 and environment variables that affect the debugging output.
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### ENUM GstDebugLevel ##### -->
 <para>
 The level defines the importance of a debugging message. The more important a 
index ca8c2fb..07dc892 100644 (file)
@@ -67,9 +67,6 @@ object.
 
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstObject ##### -->
 <para>
 
index 3c0d226..4998300 100644 (file)
@@ -57,9 +57,6 @@ Last reviewed on December 13th, 2002 (0.5.0.1)
 #GstPadTemplate, #GstElement, #GstEvent
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstPad ##### -->
 <para>
 
index 117ebb6..9ea3315 100644 (file)
@@ -73,9 +73,6 @@ The following example shows you how to add the padtemplate to an elementfactory:
 #GstPad, #GstElementFactory
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstPadTemplate ##### -->
 <para>
 The padtemplate object.
index a5010b8..15c5a6b 100644 (file)
@@ -21,9 +21,6 @@ the pipeline, use gst_object_unref() to free its resources.
 #GstBin
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstPipeline ##### -->
 <para>
 
index 0968778..fca5f99 100644 (file)
@@ -35,9 +35,6 @@ to bring the plugin into memory.
 #GstPluginFeature, #GstType, #GstAutoplug, #GstElementFactory
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### FUNCTION gst_plugin_error_quark ##### -->
 <para>
 Get the error quark
index 96a2e5e..6395293 100644 (file)
@@ -14,9 +14,6 @@ This is a base class for anything that can be added to a #GstPlugin.
 #GstPlugin
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT GstPluginFeature ##### -->
 <para>
 
index 136d62e..e1ca64c 100644 (file)
@@ -14,9 +14,6 @@ various global enums and constants
 
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### ENUM GstState ##### -->
 <para>
 
index 299cf49..0e7aa44 100644 (file)
@@ -14,9 +14,6 @@ GValue implementations specific to GStreamer
 
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### MACRO GST_VALUE_HOLDS_FOURCC ##### -->
 
 
index c5446c9..0277c7c 100644 (file)
@@ -27,9 +27,6 @@ network connections also need a protocol to do this.
 #GstBuffer, #GstCaps, #GstEvent
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### ENUM GstDPHeaderFlag ##### -->
 <para>
 
index e3e087a..1d107d6 100644 (file)
@@ -14,9 +14,6 @@ accelerated routines for getting bits from a data stream.
 
 </para>
 
-<!-- ##### SECTION Stability_Level ##### -->
-
-
 <!-- ##### STRUCT gst_getbits_t ##### -->
 <para>