-DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --with-bash-completion-dir=no
-
if BUILD_EXAMPLES
EXAMPLES_SUBDIRS= examples
else
EXAMPLES_SUBDIRS=
endif
-SUBDIRS = ges tests tools common m4 pkgconfig docs bindings plugins $(EXAMPLES_SUBDIRS)
+SUBDIRS = ges tests tools common m4 pkgconfig bindings plugins $(EXAMPLES_SUBDIRS)
DIST_SUBDIRS = $(SUBDIRS)
dnl check for gobject-introspection
GOBJECT_INTROSPECTION_CHECK([0.9.6])
-dnl check for documentation tools
-AG_GST_DOCBOOK_CHECK
-GTK_DOC_CHECK([1.3])
-AS_PATH_PYTHON([2.1])
-AG_GST_PLUGIN_DOCS([1.3],[2.1])
-
dnl check for pygobject
AC_SUBST(PYGOBJECT_REQ, 3.0)
PKG_CHECK_MODULES(PYGOBJECT, pygobject-3.0 >= $PYGOBJECT_REQ,
tests/validate/Makefile
tests/validate/scenarios/Makefile
tools/Makefile
-docs/Makefile
-docs/version.entities
-docs/libs/Makefile
pkgconfig/Makefile
pkgconfig/gst-editing-services.pc
pkgconfig/gst-editing-services-uninstalled.pc
+++ /dev/null
-if ENABLE_GTK_DOC
-DOCS_SUBDIRS = libs
-else
-DOCS_SUBDIRS =
-endif
-
-SUBDIRS = $(DOCS_SUBDIRS)
-DIST_SUBDIRS = libs
-
-EXTRA_DIST = \
- version.entities.in
-
-upload:
- @if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi
--- /dev/null
+# Base classes
--- /dev/null
+{
+ "nle": {
+ "description": "GStreamer Non Linear Engine",
+ "elements": {
+ "nlecomposition": {
+ "author": "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>, Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>, Thibault Saunier <tsaunier@gnome.org>",
+ "description": "Combines NLE objects",
+ "hierarchy": [
+ "NleComposition",
+ "NleObject",
+ "GstBin",
+ "GstElement",
+ "GstObject",
+ "GInitiallyUnowned",
+ "GObject"
+ ],
+ "klass": "Filter/Editor",
+ "long-name": "GNonLin Composition",
+ "name": "nlecomposition",
+ "pad-templates": {
+ "src": {
+ "caps": "ANY",
+ "direction": "src",
+ "presence": "always"
+ }
+ },
+ "properties": {
+ "active": {
+ "blurb": "Use this object in the NleComposition",
+ "construct": false,
+ "construct-only": false,
+ "default": "true",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "async-handling": {
+ "blurb": "The bin will handle Asynchronous state changes",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "caps": {
+ "blurb": "Caps used to filter/choose the output stream",
+ "construct": false,
+ "construct-only": false,
+ "default": "ANY",
+ "type-name": "GstCaps",
+ "writable": true
+ },
+ "duration": {
+ "blurb": "Outgoing duration (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "9223372036854775807",
+ "min": "0",
+ "type-name": "gint64",
+ "writable": true
+ },
+ "expandable": {
+ "blurb": "Expand to the full duration of the container composition",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "inpoint": {
+ "blurb": "The media start position (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "18446744073709551615",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "media-duration-factor": {
+ "blurb": "The relative rate caused by this object",
+ "construct": false,
+ "construct-only": false,
+ "default": "1",
+ "max": "1.79769e+308",
+ "min": "0.01",
+ "type-name": "gdouble",
+ "writable": true
+ },
+ "message-forward": {
+ "blurb": "Forwards all children messages",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "name": {
+ "blurb": "The name of the object",
+ "construct": true,
+ "construct-only": false,
+ "default": "NULL",
+ "hotdoc-fixed-default": true,
+ "type-name": "gchararray",
+ "writable": true
+ },
+ "parent": {
+ "blurb": "The parent of the object",
+ "construct": false,
+ "construct-only": false,
+ "type-name": "GstObject",
+ "writable": true
+ },
+ "priority": {
+ "blurb": "The priority of the object (0 = highest priority)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "-1",
+ "min": "0",
+ "type-name": "guint",
+ "writable": true
+ },
+ "start": {
+ "blurb": "The start position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "stop": {
+ "blurb": "The stop position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": false
+ }
+ },
+ "rank": "none",
+ "signals": {
+ "commit": {
+ "args": [
+ "gboolean"
+ ],
+ "retval": "gboolean"
+ },
+ "commited": {
+ "args": [
+ "gboolean"
+ ],
+ "retval": "void"
+ },
+ "query-position": {
+ "args": [],
+ "retval": "guint64"
+ }
+ }
+ },
+ "nleoperation": {
+ "author": "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>",
+ "description": "Encapsulates filters/effects for use with NLE Objects",
+ "hierarchy": [
+ "NleOperation",
+ "NleObject",
+ "GstBin",
+ "GstElement",
+ "GstObject",
+ "GInitiallyUnowned",
+ "GObject"
+ ],
+ "klass": "Filter/Editor",
+ "long-name": "GNonLin Operation",
+ "name": "nleoperation",
+ "pad-templates": {
+ "sink%%d": {
+ "caps": "ANY",
+ "direction": "sink",
+ "presence": "request"
+ },
+ "src": {
+ "caps": "ANY",
+ "direction": "src",
+ "presence": "always"
+ }
+ },
+ "properties": {
+ "active": {
+ "blurb": "Use this object in the NleComposition",
+ "construct": false,
+ "construct-only": false,
+ "default": "true",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "async-handling": {
+ "blurb": "The bin will handle Asynchronous state changes",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "caps": {
+ "blurb": "Caps used to filter/choose the output stream",
+ "construct": false,
+ "construct-only": false,
+ "default": "ANY",
+ "type-name": "GstCaps",
+ "writable": true
+ },
+ "duration": {
+ "blurb": "Outgoing duration (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "9223372036854775807",
+ "min": "0",
+ "type-name": "gint64",
+ "writable": true
+ },
+ "expandable": {
+ "blurb": "Expand to the full duration of the container composition",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "inpoint": {
+ "blurb": "The media start position (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "18446744073709551615",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "media-duration-factor": {
+ "blurb": "The relative rate caused by this object",
+ "construct": false,
+ "construct-only": false,
+ "default": "1",
+ "max": "1.79769e+308",
+ "min": "0.01",
+ "type-name": "gdouble",
+ "writable": true
+ },
+ "message-forward": {
+ "blurb": "Forwards all children messages",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "name": {
+ "blurb": "The name of the object",
+ "construct": true,
+ "construct-only": false,
+ "default": "NULL",
+ "hotdoc-fixed-default": true,
+ "type-name": "gchararray",
+ "writable": true
+ },
+ "parent": {
+ "blurb": "The parent of the object",
+ "construct": false,
+ "construct-only": false,
+ "type-name": "GstObject",
+ "writable": true
+ },
+ "priority": {
+ "blurb": "The priority of the object (0 = highest priority)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "-1",
+ "min": "0",
+ "type-name": "guint",
+ "writable": true
+ },
+ "sinks": {
+ "blurb": "Number of input sinks (-1 for automatic handling)",
+ "construct": false,
+ "construct-only": false,
+ "default": "1",
+ "max": "2147483647",
+ "min": "-1",
+ "type-name": "gint",
+ "writable": true
+ },
+ "start": {
+ "blurb": "The start position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "stop": {
+ "blurb": "The stop position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": false
+ }
+ },
+ "rank": "none",
+ "signals": {
+ "commit": {
+ "args": [
+ "gboolean"
+ ],
+ "retval": "gboolean"
+ },
+ "input-priority-changed": {
+ "args": [
+ "GstPad",
+ "guint"
+ ],
+ "retval": "void"
+ }
+ }
+ },
+ "nlesource": {
+ "author": "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>",
+ "description": "Manages source elements",
+ "hierarchy": [
+ "NleSource",
+ "NleObject",
+ "GstBin",
+ "GstElement",
+ "GstObject",
+ "GInitiallyUnowned",
+ "GObject"
+ ],
+ "klass": "Filter/Editor",
+ "long-name": "GNonLin Source",
+ "name": "nlesource",
+ "pad-templates": {
+ "src": {
+ "caps": "ANY",
+ "direction": "src",
+ "presence": "always"
+ }
+ },
+ "properties": {
+ "active": {
+ "blurb": "Use this object in the NleComposition",
+ "construct": false,
+ "construct-only": false,
+ "default": "true",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "async-handling": {
+ "blurb": "The bin will handle Asynchronous state changes",
+ "construct": false,
+ "construct-only": false,
+ "default": "true",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "caps": {
+ "blurb": "Caps used to filter/choose the output stream",
+ "construct": false,
+ "construct-only": false,
+ "default": "ANY",
+ "type-name": "GstCaps",
+ "writable": true
+ },
+ "duration": {
+ "blurb": "Outgoing duration (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "9223372036854775807",
+ "min": "0",
+ "type-name": "gint64",
+ "writable": true
+ },
+ "expandable": {
+ "blurb": "Expand to the full duration of the container composition",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "inpoint": {
+ "blurb": "The media start position (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "18446744073709551615",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "media-duration-factor": {
+ "blurb": "The relative rate caused by this object",
+ "construct": false,
+ "construct-only": false,
+ "default": "1",
+ "max": "1.79769e+308",
+ "min": "0.01",
+ "type-name": "gdouble",
+ "writable": true
+ },
+ "message-forward": {
+ "blurb": "Forwards all children messages",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "name": {
+ "blurb": "The name of the object",
+ "construct": true,
+ "construct-only": false,
+ "default": "NULL",
+ "hotdoc-fixed-default": true,
+ "type-name": "gchararray",
+ "writable": true
+ },
+ "parent": {
+ "blurb": "The parent of the object",
+ "construct": false,
+ "construct-only": false,
+ "type-name": "GstObject",
+ "writable": true
+ },
+ "priority": {
+ "blurb": "The priority of the object (0 = highest priority)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "-1",
+ "min": "0",
+ "type-name": "guint",
+ "writable": true
+ },
+ "start": {
+ "blurb": "The start position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "stop": {
+ "blurb": "The stop position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": false
+ }
+ },
+ "rank": "none",
+ "signals": {
+ "commit": {
+ "args": [
+ "gboolean"
+ ],
+ "retval": "gboolean"
+ }
+ }
+ },
+ "nleurisource": {
+ "author": "Edward Hervey <bilboed@bilboed.com>",
+ "description": "High-level URI Source element",
+ "hierarchy": [
+ "NleURISource",
+ "NleSource",
+ "NleObject",
+ "GstBin",
+ "GstElement",
+ "GstObject",
+ "GInitiallyUnowned",
+ "GObject"
+ ],
+ "klass": "Filter/Editor",
+ "long-name": "GNonLin URI Source",
+ "name": "nleurisource",
+ "pad-templates": {
+ "src": {
+ "caps": "ANY",
+ "direction": "src",
+ "presence": "sometimes"
+ }
+ },
+ "properties": {
+ "active": {
+ "blurb": "Use this object in the NleComposition",
+ "construct": false,
+ "construct-only": false,
+ "default": "true",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "async-handling": {
+ "blurb": "The bin will handle Asynchronous state changes",
+ "construct": false,
+ "construct-only": false,
+ "default": "true",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "caps": {
+ "blurb": "Caps used to filter/choose the output stream",
+ "construct": false,
+ "construct-only": false,
+ "default": "ANY",
+ "type-name": "GstCaps",
+ "writable": true
+ },
+ "duration": {
+ "blurb": "Outgoing duration (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "9223372036854775807",
+ "min": "0",
+ "type-name": "gint64",
+ "writable": true
+ },
+ "expandable": {
+ "blurb": "Expand to the full duration of the container composition",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "inpoint": {
+ "blurb": "The media start position (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "18446744073709551615",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "media-duration-factor": {
+ "blurb": "The relative rate caused by this object",
+ "construct": false,
+ "construct-only": false,
+ "default": "1",
+ "max": "1.79769e+308",
+ "min": "0.01",
+ "type-name": "gdouble",
+ "writable": true
+ },
+ "message-forward": {
+ "blurb": "Forwards all children messages",
+ "construct": false,
+ "construct-only": false,
+ "default": "false",
+ "type-name": "gboolean",
+ "writable": true
+ },
+ "name": {
+ "blurb": "The name of the object",
+ "construct": true,
+ "construct-only": false,
+ "default": "NULL",
+ "hotdoc-fixed-default": true,
+ "type-name": "gchararray",
+ "writable": true
+ },
+ "parent": {
+ "blurb": "The parent of the object",
+ "construct": false,
+ "construct-only": false,
+ "type-name": "GstObject",
+ "writable": true
+ },
+ "priority": {
+ "blurb": "The priority of the object (0 = highest priority)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "-1",
+ "min": "0",
+ "type-name": "guint",
+ "writable": true
+ },
+ "start": {
+ "blurb": "The start position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": true
+ },
+ "stop": {
+ "blurb": "The stop position relative to the parent (in nanoseconds)",
+ "construct": false,
+ "construct-only": false,
+ "default": "0",
+ "max": "18446744073709551615",
+ "min": "0",
+ "type-name": "guint64",
+ "writable": false
+ },
+ "uri": {
+ "blurb": "Uri of the file to use",
+ "construct": false,
+ "construct-only": false,
+ "default": "NULL",
+ "type-name": "gchararray",
+ "writable": true
+ }
+ },
+ "rank": "none",
+ "signals": {
+ "commit": {
+ "args": [
+ "gboolean"
+ ],
+ "retval": "gboolean"
+ },
+ "no-more-pads": {
+ "args": [],
+ "retval": "void"
+ },
+ "pad-added": {
+ "args": [
+ "GstPad"
+ ],
+ "retval": "void"
+ },
+ "pad-removed": {
+ "args": [
+ "GstPad"
+ ],
+ "retval": "void"
+ }
+ }
+ }
+ },
+ "filename": "libgstnle.so",
+ "license": "LGPL",
+ "package": "GStreamer Editing Services",
+ "source": "gst-editing-services",
+ "url": "Unknown package origin"
+ }
+}
\ No newline at end of file
--- /dev/null
+---
+short-description: GStreamer Editing Services API reference.
+...
+
+# GStreamer Editing Services
+
+The "GStreamer Editing Services" is a library to simplify the creation
+of multimedia editing applications. Based on the GStreamer multimedia framework
+and the GNonLin set of plugins, its goals are to suit all types of editing-related
+applications.
+
+The GStreamer Editing Services are cross-platform and work on most UNIX-like
+platform as well as Windows. It is released under the GNU Library General Public License
+(GNU LGPL).
+
+## Goals of GStreamer Editing Services
+
+The GStreamer multimedia framework and the accompanying GNonLin set of
+plugins for non-linear editing offer all the building blocks for:
+
+- Decoding and encoding to a wide variety of formats, through all the
+ available GStreamer plugins.
+
+- Easily choosing segments of streams and arranging them through time
+ through the GNonLin set of plugins.
+
+But all those building blocks only offer stream-level access, which
+results in developers who want to write non-linear editors to write a
+consequent amount of code to get to the level of *non-linear editing*
+notions which are closer and more meaningful for the end-user (and
+therefore the application).
+
+The GStreamer Editing Services (hereafter GES) aims to fill the gap
+between GStreamer/GNonLin and the application developer by offering a
+series of classes to simplify the creation of many kind of
+editing-related applications.
+
+## Architecture
+
+### Timeline and TimelinePipeline
+
+The most top-level object encapsulating every other object is the
+[GESTimeline](GESTimeline). It is the central object for any editing project.
+
+The `GESTimeline` is a `GstElement`. It can therefore be used in any
+GStreamer pipeline like any other object.
+
+### Tracks and Layers
+
+The GESTimeline can contain two types of objects (seen in
+"Layers and Tracks"):
+
+- Layers - Corresponds to the user-visible arrangement of clips, and
+ what you primarily interact with as an application developer. A
+ minimalistic timeline would only have one layer, but a more complex
+ editing application could use as many as needed.
+
+- Tracks - Corresponds to the output streams in GStreamer. A typical
+ GESTimeline, aimed at a video editing application, would have an
+ audio track and a video track. A GESTimeline for an audio editing
+ application would only require an audio track. Multiple layers can
+ be related to each track.
+
+![Layers and Tracks](images/layer_track_overview.png)
+
+In order to reduce even more the amount of GStreamer interaction the
+application developer has to deal with, a convenience GstPipeline has
+been made available specifically for Timelines : [GESPipeline](GESPipeline).
+++ /dev/null
-ges-decl-list.txt
-ges-decl.txt
-ges-overrides.txt
-ges-undeclared.txt
-ges-undocumented.txt
-ges-unused.txt
-ges.args
-ges.hierarchy
-ges.interfaces
-ges.prerequisites
-ges.signals
-*.stamp
-
-html/
-tmpl/
-xml/
-doc-registry.xml
+++ /dev/null
-GST_DOC_SCANOBJ = $(top_srcdir)/common/gstdoc-scangobj
-
-## Process this file with automake to produce Makefile.in
-
-# The name of the module, e.g. 'glib'.
-MODULE=ges
-DOC_MODULE=$(MODULE)
-
-# for upload-doc.mak
-DOC=gstreamer-editing-services
-FORMATS=html
-html: html-build.stamp
-include $(top_srcdir)/common/upload-doc.mak
-
-# The top-level SGML file. Change it if you want.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
-
-# The directory containing the source code.
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting functions and macros.
-DOC_SOURCE_DIR = $(top_srcdir)/ges
-
-SCAN_OPTIONS=
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS=--sgml-mode --source-suffixes=c,h,cc,m
-
-# Extra options to supply to gtkdoc-fixref.
-FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \
- --extra-dir=$(GST_PREFIX)/share/gtk-doc/html \
- --extra-dir=$(GSTPB_PREFIX)/share/gtk-doc/html
-
-# Used for dependencies.
-HFILE_GLOB=$(top_srcdir)/ges/ges-*.h
-CFILE_GLOB=$(top_srcdir)/ges/ges-*.c
-
-# Extra options to supply to gtkdoc-scan.
-SCANOBJ_OPTIONS=--type-init-func="g_type_init();gst_init(&argc,&argv)"
-
-# Header files to ignore when scanning.
-IGNORE_HFILES = \
- gesmarshal.h \
- ges-internal.h \
- ges-auto-transition.h \
- ges-structured-interface.h \
- ges-structure-parser.h \
- ges-smart-video-mixer.h \
- gstframepositioner.h
-IGNORE_CFILES =
-
-# we add all .h files of elements that have signals/args we want
-# sadly this also pulls in the private methods - maybe we should
-# move those around in the source ?
-# also, we should add some stuff here conditionally based on whether
-# or not the plugin will actually build
-# but I'm not sure about that - it might be this Just Works given that
-# the registry won't have the element
-
-EXTRA_HFILES = \
- $(top_srcdir)/ges/ges-types.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES = layer_track_overview.png
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-content_files = architecture.xml
-
-# Other files to distribute.
-extra_files =
-
-# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
-# contains GtkObjects/GObjects and you want to document signals and properties.
-GTKDOC_CFLAGS = -I$(top_srcdir) $(GST_PBUTILS_CFLAGS) $(GST_BASE_CFLAGS) \
- $(GST_CFLAGS) $(GIO_CFLAGS) $(GCOV_CFLAGS)
-GTKDOC_LIBS = \
- $(top_builddir)/ges/libges-@GST_API_VERSION@.la \
- $(GST_BASE_LIBS) $(GST_LIBS) $(GIO_LIBS) $(GCOV_LIBS)
-
-GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC)
-GTKDOC_LD=$(LIBTOOL) --tag=CC --mode=link $(CC)
-
-# If you need to override some of the declarations, place them in this file
-# and uncomment this line.
-DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
-
-include $(top_srcdir)/common/gtk-doc.mak
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
-]>
-<refentry id="ges-architecture" revision="25 mar 2009">
- <refmeta>
- <refentrytitle>Overview and architecture</refentrytitle>
-
- <manvolnum>1</manvolnum>
-
- <refmiscinfo>GStreamer Editing Services</refmiscinfo>
- </refmeta>
-
- <!-- <refnamediv> -->
-
- <!-- <refname>Overview</refname> -->
-
- <!-- <refpurpose> -->
-
- <!-- Goals of the GStreamer Editing Services. -->
-
- <!-- </refpurpose> -->
-
- <!-- </refnamediv> -->
-
- <refsect1>
- <title>Goals of GStreamer Editing Services</title>
-
- <para>The GStreamer multimedia framework and the accompanying GNonLin set
- of plugins for non-linear editing offer all the building blocks for:
- <itemizedlist>
- <listitem>
- <para>Decoding and encoding to a wide variety of formats, through
- all the available GStreamer plugins.</para>
- </listitem>
-
- <listitem>
- <para>Easily choosing segments of streams and arranging them through
- time through the GNonLin set of plugins.</para>
- </listitem>
- </itemizedlist></para>
-
- <para>But all those building blocks only offer stream-level access, which
- results in developers who want to write non-linear editors to write a
- consequent amount of code to get to the level of <emphasis>non-linear
- editing</emphasis> notions which are closer and more meaningful for the
- end-user (and therefore the application).</para>
-
- <para>The GStreamer Editing Services <remark>(hereafter GES)</remark> aims
- to fill the gap between GStreamer/GNonLin and the application developer by
- offering a series of classes to simplify the creation of many kind of
- editing-related applications.</para>
- </refsect1>
-
- <refsect1>
- <title>Architecture</title>
-
- <refsect2>
- <title>Timeline and TimelinePipeline</title>
-
- <para>The most top-level object encapsulating every other object is the
- <link linkend="GESTimeline">GESTimeline</link>. It is the central object
- for any editing project.</para>
-
- <para>The <classname>GESTimeline</classname> is a
- <classname>GstElement</classname>. It can therefore be used in any
- GStreamer pipeline like any other object.</para>
- </refsect2>
-
-
- <refsect2>
- <title>Tracks and Layers</title>
-
- <para>The GESTimeline can contain two types of objects (seen in <xref
- linkend="layer_tracks_diagram" />): <itemizedlist>
- <listitem>
- <para>Layers - Corresponds to the user-visible arrangement of clips,
- and what you primarily interact with as an application developer.
- A minimalistic timeline would only have one layer,
- but a more complex editing application could use as many as needed.
- </para>
- </listitem>
-
- <listitem>
- <para>Tracks - Corresponds to the output streams in GStreamer.
- A typical GESTimeline, aimed at a video editing application, would
- have an audio track and a video track.
- A GESTimeline for an audio editing application would only require
- an audio track. Multiple layers can be related to each track.</para>
- </listitem>
- </itemizedlist></para>
-
- <figure float="0" id="layer_tracks_diagram">
- <title>Layers and Tracks</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="layer_track_overview.png" scale="75" />
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In order to reduce even more the amount of GStreamer interaction
- the application developer has to deal with, a convenience GstPipeline
- has been made available specifically for Timelines : <link
- linkend="GESPipeline">GESPipeline</link>.</para>
- </refsect2>
-
- </refsect1>
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY % version-entities SYSTEM "version.entities">
-%version-entities;
-]>
-
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>GStreamer Editing Services &GES_VERSION; Reference Manual</title>
- <releaseinfo>
- for GStreamer Editing Services &GST_API_VERSION; (&GES_VERSION;)
- </releaseinfo>
- </bookinfo>
-
- <chapter>
- <title>GStreamer Editing Services Overview</title>
- <para>
- The "GStreamer Editing Services" is a library to simplify the creation
-of multimedia editing applications. Based on the GStreamer multimedia framework
-and the GNonLin set of plugins, its goals are to suit all types of editing-related
-applications.
- </para>
-
- <para>
- The GStreamer Editing Services are cross-platform and work on most UNIX-like
-platform as well as Windows. It is released under the GNU Library General Public License
-(GNU LGPL).
- </para>
- <xi:include href="architecture.xml"/>
- <xi:include href="xml/ges-common.xml"/>
- <xi:include href="xml/ges-enums.xml"/>
- <xi:include href="xml/ges-gerror.xml"/>
- </chapter>
-
- <chapter>
- <title>Base Classes</title>
- <xi:include href="xml/gestimeline.xml"/>
- <xi:include href="xml/geslayer.xml"/>
- <xi:include href="xml/gestimelineelement.xml"/>
- <xi:include href="xml/gescontainer.xml"/>
- <xi:include href="xml/gesclip.xml"/>
- <xi:include href="xml/gessourceclip.xml"/>
- <xi:include href="xml/gesoperationclip.xml"/>
- <xi:include href="xml/gesoverlayclip.xml"/>
- <xi:include href="xml/gesbaseeffectclip.xml"/>
- <xi:include href="xml/gestrack.xml"/>
- <xi:include href="xml/gestrackelement.xml"/>
- <xi:include href="xml/gessource.xml"/>
- <xi:include href="xml/gesvideosource.xml"/>
- <xi:include href="xml/gesaudiosource.xml"/>
- <xi:include href="xml/gesbaseeffect.xml"/>
- <xi:include href="xml/gesoperation.xml"/>
- <xi:include href="xml/gesbasetransitionclip.xml"/>
- <xi:include href="xml/gesasset.xml"/>
- </chapter>
-
- <chapter>
- <title>Timeline objects</title>
- <xi:include href="xml/gesuriclip.xml"/>
- <xi:include href="xml/gestitleclip.xml"/>
- <xi:include href="xml/gestestclip.xml"/>
- <xi:include href="xml/gestextoverlayclip.xml"/>
- <xi:include href="xml/gestransitionclip.xml"/>
- <xi:include href="xml/geseffectclip.xml"/>
- <xi:include href="xml/gesgroup.xml"/>
- </chapter>
-
- <chapter>
- <title>Track objects</title>
- <xi:include href="xml/gesaudiourisource.xml"/>
- <xi:include href="xml/gesvideourisource.xml"/>
- <xi:include href="xml/gestitlesource.xml"/>
- <xi:include href="xml/gesaudiotestsource.xml"/>
- <xi:include href="xml/gesvideotestsource.xml"/>
- <xi:include href="xml/gestextoverlay.xml"/>
- <xi:include href="xml/gestransition.xml"/>
- <xi:include href="xml/gesvideotransition.xml"/>
- <xi:include href="xml/gesaudiotransition.xml"/>
- <xi:include href="xml/gesimagesource.xml"/>
- <xi:include href="xml/gesmultifilesource.xml"/>
- <xi:include href="xml/geseffect.xml"/>
- </chapter>
-
- <chapter>
- <title>Convenience classes</title>
- <xi:include href="xml/gespipeline.xml"/>
- </chapter>
-
- <chapter>
- <title>Serialization Classes</title>
- <xi:include href="xml/gesformatter.xml"/>
- <xi:include href="xml/gespitiviformatter.xml"/>
- <xi:include href="xml/gesbasexmlformatter.xml"/>
- <xi:include href="xml/gesxmlformatter.xml"/>
- </chapter>
-
- <chapter>
- <title>Interfaces</title>
- <xi:include href="xml/gesmetacontainer.xml"/>
- <xi:include href="xml/gesextractable.xml"/>
- </chapter>
-
- <chapter>
- <title>Assets</title>
- <xi:include href="xml/gesclipasset.xml"/>
- <xi:include href="xml/gestrackelementasset.xml"/>
- <xi:include href="xml/gesuriclipasset.xml"/>
- <xi:include href="xml/gesurisourceasset.xml"/>
- <xi:include href="xml/gesproject.xml"/>
- </chapter>
-
- <chapter>
- <title>Tracks</title>
- <xi:include href="xml/gesvideotrack.xml"/>
- <xi:include href="xml/gesaudiotrack.xml"/>
- </chapter>
-
- <chapter id="ges-hierarchy">
- <title>Object Hierarchy</title>
- <xi:include href="xml/tree_index.sgml"/>
- </chapter>
-
- <index id="api-index-full">
- <title>API Index</title>
- <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
- </index>
-
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
-</book>
+++ /dev/null
-<INCLUDE>ges/ges.h</INCLUDE>
-
-<SECTION>
-<FILE>ges-common</FILE>
-<TITLE>Initialization</TITLE>
-ges_init
-ges_is_initialized
-ges_init_check
-ges_deinit
-ges_version
-ges_init_get_option_group
-GES_VERSION_MAJOR
-GES_VERSION_MICRO
-GES_VERSION_MINOR
-GES_VERSION_NANO
-<SUBSECTION Standard>
-GES_PADDING
-GES_PADDING_LARGE
-GESAssetLoadingReturn
-</SECTION>
-
-<SECTION>
-<FILE>ges-utils</FILE>
-<TITLE>Utilities</TITLE>
-ges_add_missing_uri_relocation_uri
-
-ges_pspec_equal
-ges_pspec_hash
-
-</SECTION>
-
-<SECTION>
-<FILE>ges-gerror</FILE>
-<TITLE>GES GErrors</TITLE>
-GES_ERROR
-GESError
-</SECTION>
-
-<SECTION>
-<FILE>ges-enums</FILE>
-<TITLE>GES Enums</TITLE>
-GESTrackType
-GESVideoStandardTransitionType
-GESTextHAlign
-DEFAULT_HALIGNMENT
-GESTextVAlign
-DEFAULT_VALIGNMENT
-GESVideoTestPattern
-GESPipelineFlags
-GESEdge
-GESEditMode
-GESMetaFlag
-<SUBSECTION Standard>
-GES_TYPE_TRACK_TYPE
-ges_track_type_get_type
-GES_META_FLAG_TYPE
-ges_meta_flag_get_type
-GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE
-ges_video_standard_transition_type_get_type
-GES_TEXT_HALIGN_TYPE
-ges_text_halign_get_type
-GES_TEXT_VALIGN_TYPE
-ges_text_valign_get_type
-GES_VIDEO_TEST_PATTERN_TYPE
-ges_video_test_pattern_get_type
-GES_TYPE_PIPELINE_FLAGS
-ges_pipeline_flags_get_type
-GES_TYPE_EDGE
-ges_edge_get_type
-GES_TYPE_EDIT_MODE
-ges_edit_mode_get_type
-ges_track_type_name
-</SECTION>
-
-<SECTION>
-<FILE>gestrack</FILE>
-<TITLE>GESTrack</TITLE>
-GESTrack
-GESCreateElementForGapFunc
-ges_track_new
-ges_track_add_element
-ges_track_set_restriction_caps
-ges_track_update_restriction_caps
-ges_track_remove_element
-ges_track_set_caps
-ges_track_get_caps
-ges_track_enable_update
-ges_track_get_elements
-ges_track_is_updating
-ges_track_commit
-ges_track_set_create_element_for_gap_func
-ges_track_get_mixing
-ges_track_set_mixing
-<SUBSECTION Standard>
-GESTrackClass
-GESTrackPrivate
-ges_track_set_timeline
-ges_track_get_timeline
-ges_track_get_type
-GES_IS_TRACK
-GES_IS_TRACK_CLASS
-GES_TRACK
-GES_TRACK_CLASS
-GES_TRACK_GET_CLASS
-GES_TYPE_TRACK
-</SECTION>
-
-<SECTION>
-<FILE>gesaudiotrack</FILE>
-<TITLE>GESAudioTrack</TITLE>
-GESAudioTrack
-ges_audio_track_new
-<SUBSECTION Standard>
-GESAudioTrackClass
-GESAudioTrackPrivate
-GES_IS_AUDIO_TRACK
-GES_IS_AUDIO_TRACK_CLASS
-GES_AUDIO_TRACK
-GES_AUDIO_TRACK_CLASS
-GES_AUDIO_TRACK_GET_CLASS
-GES_TYPE_AUDIO_TRACK
-ges_audio_track_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesvideotrack</FILE>
-<TITLE>GESVideoTrack</TITLE>
-GESVideoTrack
-ges_video_track_new
-<SUBSECTION Standard>
-GESVideoTrackClass
-GESVideoTrackPrivate
-GES_IS_VIDEO_TRACK
-GES_IS_VIDEO_TRACK_CLASS
-GES_VIDEO_TRACK
-GES_VIDEO_TRACK_CLASS
-GES_VIDEO_TRACK_GET_CLASS
-GES_TYPE_VIDEO_TRACK
-ges_video_track_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gestrackelement</FILE>
-<TITLE>GESTrackElement</TITLE>
-GESTrackElement
-GESTrackElementClass
-ges_track_element_set_active
-ges_track_element_get_track
-ges_track_element_get_nleobject
-ges_track_element_get_gnlobject
-ges_track_element_get_element
-ges_track_element_is_active
-ges_track_element_lookup_child
-ges_track_element_list_children_properties
-ges_track_element_set_child_property
-ges_track_element_set_child_properties
-ges_track_element_set_child_property_valist
-ges_track_element_set_child_property_by_pspec
-ges_track_element_get_child_property
-ges_track_element_get_child_properties
-ges_track_element_get_child_property_valist
-ges_track_element_get_child_property_by_pspec
-ges_track_element_edit
-ges_track_element_set_control_source
-ges_track_element_get_control_binding
-ges_track_element_get_all_control_bindings
-ges_track_element_remove_control_binding
-<SUBSECTION Standard>
-GESTrackElementPrivate
-ges_track_element_set_track
-ges_track_element_get_type
-GES_IS_TRACK_ELEMENT
-GES_IS_TRACK_ELEMENT_CLASS
-GES_TRACK_ELEMENT
-GES_TRACK_ELEMENT_CLASS
-GES_TRACK_ELEMENT_GET_CLASS
-GES_TYPE_TRACK_ELEMENT
-</SECTION>
-
-<SECTION>
-<FILE>gessource</FILE>
-<TITLE>GESSource</TITLE>
-GESSource
-GESSourceClass
-<SUBSECTION Standard>
-GESSourcePrivate
-GES_SOURCE
-GES_SOURCE_CLASS
-GES_SOURCE_GET_CLASS
-GES_TYPE_SOURCE
-GES_IS_SOURCE
-GES_IS_SOURCE_CLASS
-ges_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesoperation</FILE>
-<TITLE>GESOperation</TITLE>
-GESOperation
-GESOperationClass
-<SUBSECTION Standard>
-GESOperationPrivate
-ges_operation_get_type
-GES_IS_OPERATION
-GES_IS_OPERATION_CLASS
-GES_OPERATION
-GES_OPERATION_CLASS
-GES_OPERATION_GET_CLASS
-GES_TYPE_OPERATION
-</SECTION>
-
-<SECTION>
-<FILE>gesvideosource</FILE>
-<TITLE>GESVideoSource</TITLE>
-GESVideoSource
-<SUBSECTION Standard>
-GESVideoSourceClass
-GESVideoSourcePrivate
-GES_VIDEO_SOURCE
-GES_VIDEO_SOURCE_CLASS
-GES_VIDEO_SOURCE_GET_CLASS
-GES_TYPE_VIDEO_SOURCE
-GES_IS_VIDEO_SOURCE
-GES_IS_VIDEO_SOURCE_CLASS
-ges_video_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesaudiosource</FILE>
-<TITLE>GESAudioSource</TITLE>
-GESAudioSource
-<SUBSECTION Standard>
-GESAudioSourceClass
-GESAudioSourcePrivate
-GES_AUDIO_SOURCE
-GES_AUDIO_SOURCE_CLASS
-GES_AUDIO_SOURCE_GET_CLASS
-GES_TYPE_AUDIO_SOURCE
-GES_IS_AUDIO_SOURCE
-GES_IS_AUDIO_SOURCE_CLASS
-ges_audio_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesvideourisource</FILE>
-<TITLE>GESVideoUriSource</TITLE>
-GESVideoUriSource
-<SUBSECTION Standard>
-GESVideoUriSourceClass
-GESVideoUriSourcePrivate
-GES_VIDEO_URI_SOURCE
-GES_VIDEO_URI_SOURCE_CLASS
-GES_VIDEO_URI_SOURCE_GET_CLASS
-GES_TYPE_VIDEO_URI_SOURCE
-GES_IS_VIDEO_URI_SOURCE
-GES_IS_VIDEO_URI_SOURCE_CLASS
-ges_video_uri_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesaudiourisource</FILE>
-<TITLE>GESAudioUriSource</TITLE>
-GESAudioUriSource
-<SUBSECTION Standard>
-GESAudioUriSourceClass
-GESAudioUriSourcePrivate
-GES_AUDIO_URI_SOURCE
-GES_AUDIO_URI_SOURCE_CLASS
-GES_AUDIO_URI_SOURCE_GET_CLASS
-GES_TYPE_AUDIO_URI_SOURCE
-GES_IS_AUDIO_URI_SOURCE
-GES_IS_AUDIO_URI_SOURCE_CLASS
-ges_audio_uri_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesimagesource</FILE>
-<TITLE>GESImageSource</TITLE>
-GESImageSource
-<SUBSECTION Standard>
-GESImageSourcePrivate
-GES_IS_IMAGE_SOURCE
-GES_IS_IMAGE_SOURCE_CLASS
-GES_IMAGE_SOURCE
-GES_IMAGE_SOURCE_CLASS
-GES_IMAGE_SOURCE_GET_CLASS
-GES_TYPE_IMAGE_SOURCE
-GESImageSourceClass
-ges_image_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesmultifilesource</FILE>
-<TITLE>GESMultiFileSource</TITLE>
-GESMultiFileSource
-ges_multi_file_source_new
-<SUBSECTION Standard>
-GESMultiFileSourcePrivate
-GES_IS_MULTI_FILE_SOURCE
-GES_IS_MULTI_FILE_SOURCE_CLASS
-GES_MULTI_FILE_SOURCE
-GES_MULTI_FILE_SOURCE_CLASS
-GES_MULTI_FILE_SOURCE_GET_CLASS
-GES_TYPE_MULTI_FILE_SOURCE
-GESMultiFileSourceClass
-ges_multi_file_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gestransition</FILE>
-<TITLE>GESTransition</TITLE>
-GESTransition
-GESTransitionClass
-<SUBSECTION Standard>
-GESTransitionPrivate
-GES_IS_TRANSITION
-GES_IS_TRANSITION_CLASS
-GES_TRANSITION
-GES_TRANSITION_CLASS
-GES_TRANSITION_GET_CLASS
-GES_TYPE_TRANSITION
-ges_transition_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesaudiotransition</FILE>
-<TITLE>GESAudioTransition</TITLE>
-GESAudioTransition
-ges_audio_transition_new
-<SUBSECTION Standard>
-GESAudioTransitionClass
-GESAudioTransitionPrivate
-GES_IS_AUDIO_TRANSITION
-ges_audio_transition_get_type
-GES_IS_AUDIO_TRANSITION_CLASS
-GES_AUDIO_TRANSITION
-GES_AUDIO_TRANSITION_CLASS
-GES_AUDIO_TRANSITION_GET_CLASS
-GES_TYPE_AUDIO_TRANSITION
-</SECTION>
-
-<SECTION>
-<FILE>gesvideotransition</FILE>
-<TITLE>GESVideoTransition</TITLE>
-GESVideoTransition
-ges_video_transition_new
-ges_video_transition_set_transition_type
-ges_video_transition_get_transition_type
-ges_video_transition_set_border
-ges_video_transition_get_border
-ges_video_transition_set_inverted
-ges_video_transition_is_inverted
-<SUBSECTION Standard>
-GESVideoTransitionClass
-GESVideoTransitionPrivate
-ges_video_transition_get_type
-GES_IS_VIDEO_TRANSITION
-GES_IS_VIDEO_TRANSITION_CLASS
-GES_VIDEO_TRANSITION
-GES_VIDEO_TRANSITION_CLASS
-GES_VIDEO_TRANSITION_GET_CLASS
-GES_TYPE_VIDEO_TRANSITION
-</SECTION>
-
-<SECTION>
-<FILE>gestimeline</FILE>
-<TITLE>GESTimeline</TITLE>
-GESTimeline
-ges_timeline_new
-ges_timeline_new_audio_video
-ges_timeline_new_from_uri
-ges_timeline_add_layer
-ges_timeline_append_layer
-ges_timeline_remove_layer
-ges_timeline_add_track
-ges_timeline_remove_track
-ges_timeline_load_from_uri
-ges_timeline_save_to_uri
-ges_timeline_enable_update
-ges_timeline_is_updating
-ges_timeline_commit
-ges_timeline_commit_sync
-ges_timeline_move_layer
-<SUBSECTION usage>
-ges_timeline_get_tracks
-ges_timeline_get_layer
-ges_timeline_get_layers
-ges_timeline_get_track_for_pad
-ges_timeline_get_pad_for_track
-ges_timeline_get_duration
-ges_timeline_get_project
-ges_timeline_get_auto_transition
-ges_timeline_set_auto_transition
-ges_timeline_get_snapping_distance
-ges_timeline_set_snapping_distance
-ges_timeline_get_element
-ges_timeline_is_empty
-GES_TIMELINE_GET_LAYERS
-GES_TIMELINE_GET_TRACKS
-<SUBSECTION Standard>
-GESTimelinePrivate
-GESTimelineClass
-ges_timeline_get_type
-GES_IS_TIMELINE
-GES_IS_TIMELINE_CLASS
-GES_TIMELINE
-GES_TIMELINE_CLASS
-GES_TIMELINE_GET_CLASS
-GES_TYPE_TIMELINE
-</SECTION>
-
-
-<SECTION>
-<FILE>geslayer</FILE>
-<TITLE>GESLayer</TITLE>
-GESLayer
-GESLayerClass
-ges_layer_add_clip
-ges_layer_add_asset
-ges_layer_new
-ges_layer_remove_clip
-ges_layer_set_priority
-ges_layer_get_priority
-ges_layer_get_clips
-ges_layer_get_timeline
-ges_layer_get_auto_transition
-ges_layer_set_auto_transition
-ges_layer_is_empty
-ges_layer_get_duration
-<SUBSECTION Standard>
-GESLayerPrivate
-ges_layer_set_timeline
-ges_layer_get_type
-GES_IS_LAYER
-GES_IS_LAYER_CLASS
-GES_LAYER
-GES_LAYER_CLASS
-GES_LAYER_GET_CLASS
-GES_TYPE_LAYER
-</SECTION>
-
-<SECTION>
-<FILE>gestimelineelement</FILE>
-<TITLE>GESTimelineElement</TITLE>
-GESTimelineElement
-GESTimelineElementClass
-ges_timeline_element_set_parent
-ges_timeline_element_get_parent
-ges_timeline_element_set_timeline
-ges_timeline_element_get_timeline
-ges_timeline_element_set_start
-ges_timeline_element_set_inpoint
-ges_timeline_element_set_duration
-ges_timeline_element_set_max_duration
-ges_timeline_element_set_priority
-ges_timeline_element_get_start
-ges_timeline_element_get_inpoint
-ges_timeline_element_get_duration
-ges_timeline_element_get_max_duration
-ges_timeline_element_get_priority
-ges_timeline_element_ripple
-ges_timeline_element_ripple_end
-ges_timeline_element_roll_start
-ges_timeline_element_roll_end
-ges_timeline_element_trim
-ges_timeline_element_get_toplevel_parent
-ges_timeline_element_copy
-ges_timeline_element_paste
-ges_timeline_element_get_name
-ges_timeline_element_set_name
-ges_timeline_element_list_children_properties
-ges_timeline_element_lookup_child
-ges_timeline_element_get_child_property_by_pspec
-ges_timeline_element_get_child_property_valist
-ges_timeline_element_get_child_properties
-ges_timeline_element_set_child_property_valist
-ges_timeline_element_set_child_property_by_pspec
-ges_timeline_element_set_child_properties
-ges_timeline_element_set_child_property
-ges_timeline_element_get_child_property
-ges_timeline_element_add_child_property
-ges_timeline_element_remove_child_property
-ges_timeline_element_get_track_types
-GES_TIMELINE_ELEMENT_PARENT
-GES_TIMELINE_ELEMENT_TIMELINE
-GES_TIMELINE_ELEMENT_START
-GES_TIMELINE_ELEMENT_END
-GES_TIMELINE_ELEMENT_INPOINT
-GES_TIMELINE_ELEMENT_DURATION
-GES_TIMELINE_ELEMENT_MAX_DURATION
-GES_TIMELINE_ELEMENT_PRIORITY
-GES_TIMELINE_ELEMENT_NAME
-<SUBSECTION Standard>
-GESTimelineElementPrivate
-ges_timeline_element_get_type
-GES_TYPE_TIMELINE_ELEMENT
-GES_TIMELINE_ELEMENT
-GES_TIMELINE_ELEMENT_CLASS
-GES_IS_TIMELINE_ELEMENT
-GES_IS_TIMELINE_ELEMENT_CLASS
-GES_TIMELINE_ELEMENT_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gescontainer</FILE>
-<TITLE>GESContainer</TITLE>
-GESContainer
-GESContainerClass
-GES_CONTAINER_CHILDREN
-GES_CONTAINER_HEIGHT
-ges_container_get_children
-ges_container_add
-ges_container_remove
-ges_container_ungroup
-ges_container_group
-ges_container_edit
-<SUBSECTION Standard>
-GESContainerPrivate
-ges_container_get_type
-GES_TYPE_CONTAINER
-GES_CONTAINER
-GES_CONTAINER_CLASS
-GES_IS_CONTAINER
-GES_IS_CONTAINER_CLASS
-GES_CONTAINER_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesclip</FILE>
-<TITLE>GESClip</TITLE>
-GESClip
-GESClipClass
-GESCreateTrackElementFunc
-GESCreateTrackElementsFunc
-GESFillTrackElementFunc
-ges_clip_get_layer
-ges_clip_find_track_element
-ges_clip_find_track_elements
-ges_clip_add_asset
-ges_clip_get_top_effects
-ges_clip_get_top_effect_index
-ges_clip_set_top_effect_index
-ges_clip_get_top_effect_position
-ges_clip_set_top_effect_priority
-ges_clip_move_to_layer
-ges_clip_set_supported_formats
-ges_clip_get_supported_formats
-ges_clip_split
-ges_clip_edit
-GES_CLIP_HEIGHT
-<SUBSECTION Standard>
-GESClipPrivate
-GES_IS_CLIP
-GES_IS_CLIP_CLASS
-GES_CLIP
-GES_CLIP_CLASS
-GES_CLIP_GET_CLASS
-GES_TYPE_CLIP
-ges_clip_get_type
-</SECTION>
-
-
-<SECTION>
-<FILE>gespipeline</FILE>
-<TITLE>GESPipeline</TITLE>
-GESPipeline
-ges_pipeline_new
-ges_pipeline_set_timeline
-ges_pipeline_set_mode
-ges_pipeline_set_render_settings
-ges_pipeline_preview_get_audio_sink
-ges_pipeline_preview_get_video_sink
-ges_pipeline_preview_set_audio_sink
-ges_pipeline_preview_set_video_sink
-ges_pipeline_get_mode
-ges_pipeline_get_thumbnail
-ges_pipeline_get_thumbnail_rgb24
-ges_pipeline_save_thumbnail
-<SUBSECTION Standard>
-GESPipelineClass
-GESPipelinePrivate
-ges_play_sink_convert_frame
-ges_pipeline_get_type
-GES_PIPELINE
-GES_PIPELINE_CLASS
-GES_PIPELINE_GET_CLASS
-GES_IS_PIPELINE
-GES_IS_PIPELINE_CLASS
-GES_TYPE_PIPELINE
-</SECTION>
-
-
-<SECTION>
-<FILE>gessourceclip</FILE>
-<TITLE>GESSourceClip</TITLE>
-GESSourceClip
-GESSourceClipClass
-<SUBSECTION Standard>
-GESSourceClipPrivate
-ges_source_clip_get_type
-GES_IS_SOURCE_CLIP
-GES_IS_SOURCE_CLIP_CLASS
-GES_SOURCE_CLIP
-GES_SOURCE_CLIP_CLASS
-GES_SOURCE_CLIP_GET_CLASS
-GES_TYPE_SOURCE_CLIP
-</SECTION>
-
-<SECTION>
-<FILE>gesuriclip</FILE>
-<TITLE>GESUriClip</TITLE>
-GESUriClip
-ges_uri_clip_new
-ges_uri_clip_get_uri
-ges_uri_clip_is_image
-ges_uri_clip_is_muted
-ges_uri_clip_set_is_image
-ges_uri_clip_set_mute
-<SUBSECTION Standard>
-GESUriClipClass
-GESUriClipPrivate
-ges_uri_clip_get_type
-GES_IS_URI_CLIP
-GES_IS_URI_CLIP_CLASS
-GES_URI_CLIP
-GES_URI_CLIP_CLASS
-GES_URI_CLIP_GET_CLASS
-GES_TYPE_URI_CLIP
-</SECTION>
-
-<SECTION>
-<FILE>gesoperationclip</FILE>
-<TITLE>GESOperationClip</TITLE>
-GESOperationClip
-<SUBSECTION Standard>
-GESOperationClipClass
-GESOperationClipPrivate
-GES_OPERATION_CLIP
-GES_IS_OPERATION_CLIP
-GES_TYPE_OPERATION_CLIP
-ges_operation_clip_get_type
-GES_OPERATION_CLIP_CLASS
-GES_IS_OPERATION_CLIP_CLASS
-GES_OPERATION_CLIP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesoverlayclip</FILE>
-<TITLE>GESOverlayClip</TITLE>
-GESOverlayClip
-GESOverlayClipClass
-<SUBSECTION Standard>
-GESOverlayClipPrivate
-ges_overlay_clip_get_type
-GES_IS_OVERLAY_CLIP
-GES_IS_OVERLAY_CLIP_CLASS
-GES_OVERLAY_CLIP
-GES_OVERLAY_CLIP_CLASS
-GES_OVERLAY_CLIP_GET_CLASS
-GES_TYPE_OVERLAY_CLIP
-</SECTION>
-
-<SECTION>
-<FILE>gesbasetransitionclip</FILE>
-<TITLE>GESBaseTransitionClip</TITLE>
-GESBaseTransitionClip
-<SUBSECTION Standard>
-GESBaseTransitionClipClass
-GESBaseTransitionClipPrivate
-GES_BASE_TRANSITION_CLIP
-GES_IS_BASE_TRANSITION_CLIP
-GES_TYPE_BASE_TRANSITION_CLIP
-ges_base_transition_clip_get_type
-GES_BASE_TRANSITION_CLIP_CLASS
-GES_IS_BASE_TRANSITION_CLIP_CLASS
-GES_BASE_TRANSITION_CLIP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesbaseeffectclip</FILE>
-<TITLE>GESBaseEffectClip</TITLE>
-GESBaseEffectClip
-<SUBSECTION Standard>
-GESBaseEffectClipClass
-GESBaseEffectClipPrivate
-GES_BASE_EFFECT_CLIP
-GES_IS_BASE_EFFECT_CLIP
-GES_TYPE_BASE_EFFECT_CLIP
-ges_base_effect_clip_get_type
-GES_BASE_EFFECT_CLIP_CLASS
-GES_IS_BASE_EFFECT_CLIP_CLASS
-GES_BASE_EFFECT_CLIP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>geseffectclip</FILE>
-<TITLE>GESEffectClip</TITLE>
-GESEffectClip
-ges_effect_clip_new
-<SUBSECTION Standard>
-GESEffectClipClass
-GESEffectClipPrivate
-GES_EFFECT_CLIP_CLASS
-GES_EFFECT_CLIP
-GES_IS_EFFECT_CLIP
-GES_TYPE_EFFECT_CLIP
-ges_effect_clip_get_type
-GES_EFFECT_CLIP_CLASS_
-GES_IS_EFFECT_CLIP_CLASS
-GES_EFFECT_CLIP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gestransitionclip</FILE>
-<TITLE>GESTransitionClip</TITLE>
-GESTransitionClip
-ges_transition_clip_new
-ges_transition_clip_new_for_nick
-<SUBSECTION Standard>
-GESTransitionClipClass
-GESTransitionClipPrivate
-GES_IS_TRANSITION_CLIP
-GES_IS_TRANSITION_CLIP_CLASS
-GES_TRANSITION_CLIP
-GES_TRANSITION_CLIP_CLASS
-GES_TRANSITION_CLIP_GET_CLASS
-GES_TYPE_TRANSITION_CLIP
-ges_transition_clip_get_type
-</SECTION>
-
-
-<SECTION>
-<FILE>gestestclip</FILE>
-<TITLE>GESTestClip</TITLE>
-GESTestClip
-GESTestClipClass
-ges_test_clip_new
-ges_test_clip_new_for_nick
-ges_test_clip_get_vpattern
-ges_test_clip_get_frequency
-ges_test_clip_get_volume
-ges_test_clip_is_muted
-ges_test_clip_set_vpattern
-ges_test_clip_set_frequency
-ges_test_clip_set_mute
-ges_test_clip_set_volume
-<SUBSECTION Standard>
-GESTestClipPrivate
-ges_test_clip_get_type
-GES_TYPE_TEST_CLIP
-GES_IS_TEST_CLIP
-GES_IS_TEST_CLIP_CLASS
-GES_TEST_CLIP
-GES_TEST_CLIP_CLASS
-GES_TEST_CLIP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gestitleclip</FILE>
-<TITLE>GESTitleClip</TITLE>
-GESTitleClip
-ges_title_clip_new
-ges_title_clip_set_text
-ges_title_clip_set_font_desc
-ges_title_clip_set_halignment
-ges_title_clip_set_valignment
-ges_title_clip_set_color
-ges_title_clip_set_background
-ges_title_clip_set_xpos
-ges_title_clip_set_ypos
-ges_title_clip_get_text
-ges_title_clip_get_font_desc
-ges_title_clip_get_valignment
-ges_title_clip_get_halignment
-ges_title_clip_get_text_color
-ges_title_clip_get_background_color
-ges_title_clip_get_xpos
-ges_title_clip_get_ypos
-<SUBSECTION Standard>
-GESTitleClipClass
-GESTitleClipPrivate
-ges_title_clip_get_type
-GES_IS_TITLE_CLIP
-GES_IS_TITLE_CLIP_CLASS
-GES_TITLE_CLIP
-GES_TITLE_CLIP_CLASS
-GES_TITLE_CLIP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gestextoverlayclip</FILE>
-<TITLE>GESTextOverlayClip</TITLE>
-GESTextOverlayClip
-ges_text_overlay_clip_new
-ges_text_overlay_clip_set_text
-ges_text_overlay_clip_set_font_desc
-ges_text_overlay_clip_set_valign
-ges_text_overlay_clip_set_halign
-ges_text_overlay_clip_set_color
-ges_text_overlay_clip_set_xpos
-ges_text_overlay_clip_set_ypos
-ges_text_overlay_clip_get_text
-ges_text_overlay_clip_get_font_desc
-ges_text_overlay_clip_get_valignment
-ges_text_overlay_clip_get_halignment
-ges_text_overlay_clip_get_color
-ges_text_overlay_clip_get_xpos
-ges_text_overlay_clip_get_ypos
-<SUBSECTION Standard>
-GESTextOverlayClipClass
-GESTextOverlayClipPrivate
-ges_text_overlay_clip_get_type
-GES_IS_OVERLAY_TEXT_CLIP
-GES_IS_OVERLAY_TEXT_CLIP_CLASS
-GES_OVERLAY_TEXT_CLIP
-GES_OVERLAY_TEXT_CLIP_CLASS
-GES_OVERLAY_TEXT_CLIP_GET_CLASS
-GES_TYPE_OVERLAY_TEXT_CLIP
-</SECTION>
-
-<SECTION>
-<FILE>gesvideotestsource</FILE>
-<TITLE>GESVideoTestSource</TITLE>
-GESVideoTestSource
-ges_video_test_source_set_pattern
-ges_video_test_source_get_pattern
-<SUBSECTION Standard>
-GESVideoTestSourceClass
-GESVideoTestSourcePrivate
-ges_video_test_source_get_type
-GES_IS_VIDEO_TEST_SOURCE
-GES_IS_VIDEO_TEST_SOURCE_CLASS
-GES_VIDEO_TEST_SOURCE
-GES_VIDEO_TEST_SOURCE_CLASS
-GES_VIDEO_TEST_SOURCE_GET_CLASS
-GES_TYPE_VIDEO_TEST_SOURCE
-</SECTION>
-
-<SECTION>
-<FILE>gesaudiotestsource</FILE>
-<TITLE>GESAudioTestSource</TITLE>
-GESAudioTestSource
-ges_audio_test_source_set_freq
-ges_audio_test_source_set_volume
-ges_audio_test_source_get_freq
-ges_audio_test_source_get_volume
-<SUBSECTION Standard>
-GESAudioTestSourceClass
-GESAudioTestSourcePrivate
-ges_audio_test_source_get_type
-GES_AUDIO_TEST_SOURCE
-GES_AUDIO_TEST_SOURCE_CLASS
-GES_AUDIO_TEST_SOURCE_GET_CLASS
-GES_TYPE_AUDIO_TEST_SOURCE
-GES_IS_AUDIO_TEST_SOURCE
-GES_IS_AUDIO_TEST_SOURCE_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gestitlesource</FILE>
-<TITLE>GESTitleSource</TITLE>
-GESTitleSource
-ges_title_source_set_text
-ges_title_source_set_font_desc
-ges_title_source_set_halignment
-ges_title_source_set_valignment
-ges_title_source_set_text_color
-ges_title_source_set_background_color
-ges_title_source_set_xpos
-ges_title_source_set_ypos
-ges_title_source_get_text
-ges_title_source_get_font_desc
-ges_title_source_get_halignment
-ges_title_source_get_valignment
-ges_title_source_get_text_color
-ges_title_source_get_background_color
-ges_title_source_get_xpos
-ges_title_source_get_ypos
-<SUBSECTION Standard>
-GESTitleSourceClass
-GESTitleSourcePrivate
-ges_title_source_get_type
-GES_TITLE_SOURCE
-GES_TITLE_SOURCE_CLASS
-GES_TITLE_SOURCE_GET_CLASS
-GES_TYPE_TITLE_CLIP
-GES_TYPE_TITLE_SOURCE
-GES_IS_TITLE_SOURCE
-GES_IS_TITLE_SOURCE_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gestextoverlay</FILE>
-<TITLE>GESTextOverlay</TITLE>
-GESTextOverlay
-ges_text_overlay_new
-ges_text_overlay_set_text
-ges_text_overlay_set_font_desc
-ges_text_overlay_set_halignment
-ges_text_overlay_set_valignment
-ges_text_overlay_set_color
-ges_text_overlay_set_xpos
-ges_text_overlay_set_ypos
-ges_text_overlay_get_text
-ges_text_overlay_get_font_desc
-ges_text_overlay_get_halignment
-ges_text_overlay_get_valignment
-ges_text_overlay_get_color
-ges_text_overlay_get_xpos
-ges_text_overlay_get_ypos
-<SUBSECTION Standard>
-GESTextOverlayClass
-GESTextOverlayPrivate
-ges_text_overlay_get_type
-GES_IS_TEXT_OVERLAY
-GES_IS_TEXT_OVERLAY_CLASS
-GES_TEXT_OVERLAY
-GES_TEXT_OVERLAY_CLASS
-GES_TEXT_OVERLAY_GET_CLASS
-GES_TYPE_TEXT_OVERLAY
-</SECTION>
-
-<SECTION>
-<FILE>gesformatter</FILE>
-<TITLE>GESFormatter</TITLE>
-GESFormatter
-GESFormatterClass
-
-GESFormatterLoadFromURIMethod
-GESFormatterSaveToURIMethod
-GESFormatterCanLoadURIMethod
-GESFormatterCanSaveURIMethod
-
-ges_formatter_class_register_metas
-
-ges_formatter_load_from_uri
-ges_formatter_save_to_uri
-ges_formatter_can_load_uri
-ges_formatter_can_save_uri
-ges_formatter_get_default
-
-<SUBSECTION Standard>
-GES_FORMATTER
-GES_FORMATTER_CLASS
-GES_FORMATTER_GET_CLASS
-GES_IS_FORMATTER
-GES_IS_FORMATTER_CLASS
-GES_TYPE_FORMATTER
-<SUBSECTION Private>
-ges_formatter_get_type
-GESFormatterPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gespitiviformatter</FILE>
-<TITLE>GESPitiviFormatter</TITLE>
-GESPitiviFormatter
-ges_pitivi_formatter_new
-<SUBSECTION Standard>
-GESPitiviFormatterClass
-GESPitiviFormatterPrivate
-GES_TYPE_PITIVI_FORMATTER
-GES_IS_PITIVI_FORMATTER
-GES_IS_PITIVI_FORMATTER_CLASS
-GES_PITIVI_FORMATTER
-GES_PITIVI_FORMATTER_CLASS
-GES_PITIVI_FORMATTER_GET_CLASS
-GES_TYPE_PITIVIFORMATTER
-ges_pitivi_formatter_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesbaseeffect</FILE>
-<TITLE>GESBaseEffect</TITLE>
-GESBaseEffect
-<SUBSECTION Standard>
-GESBaseEffectClass
-GESBaseEffectPrivate
-GES_IS_BASE_EFFECT
-GES_IS_BASE_EFFECT_CLASS
-GES_BASE_EFFECT
-GES_BASE_EFFECT_CLASS
-GES_BASE_EFFECT_GET_CLASS
-GES_TYPE_BASE_EFFECT
-ges_base_effect_get_type
-</SECTION>
-
-<SECTION>
-<FILE>geseffect</FILE>
-<TITLE>GESEffect</TITLE>
-GESEffect
-ges_effect_new
-<SUBSECTION Standard>
-GESEffectClass
-GESEffectPrivate
-GES_IS_EFFECT
-GES_IS_EFFECT_CLASS
-GES_EFFECT
-GES_EFFECT_CLASS
-GES_EFFECT_GET_CLASS
-GES_TYPE_EFFECT
-ges_effect_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesmetacontainer</FILE>
-<TITLE>GESMetaContainer</TITLE>
-GESMetaContainer
-GESMetaForeachFunc
-ges_meta_container_foreach
-ges_meta_container_get_meta
-ges_meta_container_get_boolean
-ges_meta_container_get_date
-ges_meta_container_get_date_time
-ges_meta_container_get_double
-ges_meta_container_get_float
-ges_meta_container_get_int
-ges_meta_container_get_int64
-ges_meta_container_get_string
-ges_meta_container_get_uint
-ges_meta_container_get_uint64
-ges_meta_container_set_boolean
-ges_meta_container_set_date
-ges_meta_container_set_date_time
-ges_meta_container_set_double
-ges_meta_container_set_float
-ges_meta_container_set_int
-ges_meta_container_set_int64
-ges_meta_container_set_string
-ges_meta_container_set_uint
-ges_meta_container_set_uint64
-ges_meta_container_set_meta
-ges_meta_container_register_meta_boolean
-ges_meta_container_register_meta_int
-ges_meta_container_register_meta_uint
-ges_meta_container_register_meta_int64
-ges_meta_container_register_meta_uint64
-ges_meta_container_register_meta_float
-ges_meta_container_register_meta_double
-ges_meta_container_register_meta_date
-ges_meta_container_register_meta_date_time
-ges_meta_container_register_meta_string
-ges_meta_container_register_meta
-ges_meta_container_metas_to_string
-ges_meta_container_add_metas_from_string
-ges_meta_container_get_type
-ges_meta_container_check_meta_registered
-
-GES_META_FORMATTER_NAME
-GES_META_FORMATTER_MIMETYPE
-GES_META_FORMATTER_EXTENSION
-GES_META_FORMATTER_VERSION
-GES_META_FORMATTER_RANK
-GES_META_DESCRIPTION
-
-GES_META_FORMAT_VERSION
-
-<SUBSECTION Standard>
-GESMetaContainerInterface
-GES_IS_META_CONTAINER
-GES_META_CONTAINER
-GES_META_CONTAINER_GET_INTERFACE
-GES_TYPE_META_CONTAINER
-ges_meta_container_get_ype
-</SECTION>
-
-<SECTION>
-<FILE>gesextractable</FILE>
-<TITLE>GESExtractableInterface</TITLE>
-GESExtractable
-GESExtractableInterface
-GESExtractableCheckId
-ges_extractable_get_asset
-ges_extractable_set_asset
-ges_extractable_get_id
-<SUBSECTION Standard>
-GES_IS_EXTRACTABLE
-GES_EXTRACTABLE
-GES_EXTRACTABLE_GET_INTERFACE
-GES_TYPE_EXTRACTABLE
-ges_extractable_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesasset</FILE>
-<TITLE>GESAsset</TITLE>
-GESAsset
-ges_asset_get_extractable_type
-ges_asset_get_id
-ges_asset_request
-ges_asset_request_async
-ges_asset_request_finish
-ges_asset_extract
-ges_asset_get_error
-ges_list_assets
-ges_asset_set_proxy
-ges_asset_list_proxies
-ges_asset_get_proxy_target
-ges_asset_get_proxy
-ges_asset_needs_reload
-<SUBSECTION Standard>
-GESAssetPrivate
-GES_ASSET
-GES_TYPE_ASSET
-GES_ASSET_CLASS
-GES_IS_ASSET
-GES_IS_ASSET_CLASS
-GES_ASSET_GET_CLASS
-ges_asset_get_type
-</SECTION>
-
-<SECTION>
-<FILE>gesclipasset</FILE>
-<TITLE>GESClipAsset</TITLE>
-GESClipAsset
-ges_clip_asset_get_type
-ges_clip_asset_set_supported_formats
-ges_clip_asset_get_supported_formats
-<SUBSECTION Standard>
-GESClipAssetPrivate
-GES_CLIP_ASSET
-GES_TYPE_CLIP_ASSET
-GES_CLIP_ASSET_CLASS
-GES_IS_CLIP_ASSET
-GES_IS_CLIP_ASSET_CLASS
-GES_CLIP_ASSET_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gestrackelementasset</FILE>
-<TITLE>GESTrackElementAsset</TITLE>
-GESTrackElementAsset
-ges_track_element_asset_get_type
-ges_track_element_asset_get_track_type
-ges_track_element_asset_set_track_type
-ges_track_element_add_children_props
-<SUBSECTION Standard>
-GESTrackElementAssetPrivate
-GES_TRACK_ELEMENT_ASSET
-GES_TYPE_TRACK_ELEMENT_ASSET
-GES_TRACK_ELEMENT_ASSET_CLASS
-GES_IS_TRACK_ELEMENT_ASSET
-GES_IS_TRACK_ELEMENT_ASSET_CLASS
-GES_TRACK_ELEMENT_ASSET_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesuriclipasset</FILE>
-<TITLE>GESUriClipAsset</TITLE>
-GESUriClipAsset
-ges_uri_clip_asset_get_type
-ges_uri_clip_asset_get_duration
-ges_uri_clip_asset_is_image
-ges_uri_clip_asset_get_info
-ges_uri_clip_asset_new
-ges_uri_clip_asset_request_sync
-ges_uri_clip_asset_get_stream_assets
-ges_uri_clip_asset_class_set_timeout
-<SUBSECTION Standard>
-GESUriClipAssetPrivate
-GES_URI_CLIP_ASSET
-GES_TYPE_URI_CLIP_ASSET
-GES_URI_CLIP_ASSET_CLASS
-GES_IS_URI_CLIP_ASSET
-GES_IS_URI_CLIP_ASSET_CLASS
-GES_URI_CLIP_ASSET_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesgroup</FILE>
-<TITLE>GESGroup</TITLE>
-GESGroup
-ges_group_new
-<SUBSECTION Standard>
-GESGroupClass
-GESGroupPrivate
-GES_GROUP
-GES_IS_GROUP
-GES_TYPE_GROUP
-ges_group_get_type
-GES_GROUP_CLASS
-GES_IS_GROUP_CLASS
-GES_GROUP_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesurisourceasset</FILE>
-<TITLE>GESUriSourceAsset</TITLE>
-GESUriSourceAsset
-ges_uri_source_asset_get_type
-ges_uri_source_asset_get_filesource_asset
-ges_uri_source_asset_get_stream_info
-ges_uri_source_asset_get_stream_uri
-<SUBSECTION Standard>
-GESUriSourceAssetPrivate
-GES_URI_SOURCE_ASSET
-GES_TYPE_URI_SOURCE_ASSET
-GES_URI_SOURCE_ASSET_CLASS
-GES_IS_URI_SOURCE_ASSET
-GES_IS_URI_SOURCE_ASSET_CLASS
-GES_URI_SOURCE_ASSET_GET_CLASS
-</SECTION>
-
-<SECTION>
-<FILE>gesproject</FILE>
-<TITLE>GESProject</TITLE>
-GESProject
-ges_project_load
-ges_project_add_asset
-ges_project_remove_asset
-ges_project_list_assets
-ges_project_get_asset
-ges_project_save
-ges_project_create_asset
-ges_project_create_asset_sync
-ges_project_get_type
-ges_project_get_uri
-ges_project_new
-ges_project_add_encoding_profile
-ges_project_list_encoding_profiles
-ges_project_get_loading_assets
-<SUBSECTION Standard>
-GESProjectPrivate
-GES_PROJECT
-GES_PROJECT_CLASS
-GES_IS_PROJECT
-GES_IS_PROJECT_CLASS
-GES_PROJECT_GET_CLASS
-GES_TYPE_PROJECT
-</SECTION>
-
-<SECTION>
-<FILE>gesbasexmlformatter</FILE>
-<TITLE>GESBaseXmlFormatter</TITLE>
-GESBaseXmlFormatter
-ges_base_xml_formatter_get_type
-<SUBSECTION Standard>
-GESBaseXmlFormatterPrivate
-GES_BASE_XML_FORMATTER
-GES_BASE_XML_FORMATTER_CLASS
-GES_IS_BASE_XML_FORMATTER
-GES_IS_BASE_XML_FORMATTER_CLASS
-GES_BASE_XML_FORMATTER_GET_CLASS
-GES_TYPE_BASE_XML_FORMATTER
-</SECTION>
-
-<SECTION>
-<FILE>gesxmlformatter</FILE>
-<TITLE>GESXmlFormatter</TITLE>
-ges_xml_formatter_get_type
-<SUBSECTION Standard>
-GESXmlFormatterPrivate
-GES_XML_FORMATTER
-GES_TYPE_XML_FORMATTER
-GES_XML_FORMATTER_CLASS
-GES_XML_FORMATTER_GET_CLASS
-GES_IS_XML_FORMATTER
-GES_IS_XML_FORMATTER_CLASS
-</SECTION>
+++ /dev/null
-#include <gst/gst.h>
-#include <ges/ges.h>
-
-ges_formatter_get_type
-%ges_text_halign_get_type
-%ges_text_valign_get_type
-ges_timeline_get_type
-ges_layer_get_type
-ges_clip_get_type
-ges_operation_clip_get_type
-ges_overlay_clip_get_type
-ges_pipeline_get_type
-ges_source_clip_get_type
-ges_test_clip_get_type
-ges_base_transition_clip_get_type
-ges_transition_clip_get_type
-ges_base_effect_clip_get_type
-ges_effect_clip_get_type
-ges_uri_clip_get_type
-ges_text_overlay_clip_get_type
-ges_title_clip_get_type
-ges_audio_test_source_get_type
-ges_audio_transition_get_type
-ges_video_uri_source_get_type
-ges_audio_uri_source_get_type
-ges_track_get_type
-ges_image_source_get_type
-ges_multi_file_source_get_type
-ges_track_element_get_type
-ges_base_effect_get_type
-ges_effect_get_type
-ges_operation_get_type
-ges_source_get_type
-ges_text_overlay_get_type
-ges_title_source_get_type
-ges_transition_get_type
-%ges_track_type_get_type
-ges_video_test_source_get_type
-ges_video_transition_get_type
-ges_project_get_type
-%ges_video_test_pattern_get_type
-%ges_video_standard_transition_type_get_type
-ges_meta_container_get_type
+++ /dev/null
-types = configure_file(input : 'ges.types',
- output : 'ges.types',
- copy: true)
-
-doc_deps_names = ['glib-2.0',
- 'gstreamer-@0@'.format(apiversion),
- 'gstreamer-plugins-base-@0@'.format(apiversion)]
-
-doc_deps = []
-foreach doc_dep : doc_deps_names
- # TODO: Use get_pkgconfig_variable()
- runcmd = run_command('pkg-config', '--variable=prefix', doc_dep)
- if runcmd.returncode() == 0
- tmp = '--extra-dir=' + runcmd.stdout().strip() + '/share/gtk-doc/html/'
- tmp.strip()
- doc_deps = doc_deps + [tmp]
- endif
-endforeach
-
-gnome.gtkdoc('ges',
- main_sgml : 'ges-docs.sgml',
- src_dir : '@0@/../../ges'.format(meson.current_source_dir()),
- scan_args : ['--deprecated-guards=GST_DISABLE_DEPRECATED',
- '--ignore-decorators=GES_API',
- '--ignore-headers=gesmarshal.h ges-internal.h ges-auto-transition.h ges-structured-interface.h ges-structure-parser.h ges-smart-video-mixer.h gstframepositioner.h'
- ],
- scanobjs_args : ['--type-init-func="gst_init(NULL,NULL)"'],
- gobject_typesfile : types,
- dependencies : [ges_dep],
- fixxref_args: doc_deps + ['--html-dir=' + get_option('prefix') + '/share/gtk-doc/html/'],
- content_files : ['architecture.xml', 'ges-sections.txt', version_entities],
- html_assets : 'layer_track_overview.png',
- install : true,
- install_dir : 'gstreamer-editing-services',
-)
--- /dev/null
+# Low level APIs
+
+Those APIs should usually not be used unless you know
+what you are doing, check other parts of the documentation
+before deciding you should use one of those.
-docconf = configuration_data()
+build_hotdoc = false
-docconf.set('GST_API_VERSION', apiversion)
-docconf.set('VERSION', gst_version)
-docconf.set('PLUGINDIR', '@0@/lib/gstreamer-1.0'.format(get_option('prefix')))
+if meson.is_cross_build()
+ if get_option('doc').enabled()
+ error('Documentation enabled but building the doc while cross building is not supported yet.')
+ endif
-version_entities = configure_file(input : 'version.entities.in',
- output : 'version.entities',
- configuration : docconf)
+ message('Documentation not built as building it while cross building is not supported yet.')
+ subdir_done()
+endif
-subdir('libs')
+required_hotdoc_extensions = ['gi-extension', 'gst-extension']
+if gst_dep.type_name() == 'internal'
+ gst_proj = subproject('gstreamer')
+ plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
+else
+ plugins_cache_generator = find_program(join_paths(gst_dep.get_pkgconfig_variable('libexecdir'), 'gstreamer-' + apiversion, 'gst-plugins-doc-cache-generator'))
+endif
+
+plugins_cache = join_paths(meson.current_source_dir(), 'gst_plugins_cache.json')
+
+if plugins_cache_generator.found()
+ plugins_doc_dep = custom_target('editing-services-doc-cache',
+ build_by_default: true,
+ command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'],
+ input: plugins,
+ output: 'gst_plugins_cache.json',
+ )
+else
+ warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
+endif
+
+hotdoc_p = find_program('hotdoc', required: get_option('doc'))
+if not hotdoc_p.found()
+ message('Hotdoc not found, not building the documentation')
+ subdir_done()
+endif
+
+hotdoc = import('hotdoc')
+foreach extension: required_hotdoc_extensions
+ if not hotdoc.has_extensions(extension)
+ if get_option('doc').enabled()
+ error('Documentation enabled but gi-extension missing')
+ endif
+
+ message('@0@ extensions not found, not building documentation requiring it'.format(extension))
+ endif
+endforeach
+
+if not build_gir
+ if get_option('doc').enabled()
+ error('Documentation enabled but introspection not built.')
+ endif
+
+ message('Introspection not built, can\'t build the documentation')
+ subdir_done()
+endif
+
+build_hotdoc = true
+ges_excludes = []
+foreach f: ['gesmarshal.*',
+ 'ges-internal.*',
+ 'ges-auto-transition.*',
+ 'ges-structured-interface.*',
+ 'ges-structure-parser.*',
+ 'ges-version.h',
+ 'ges-smart-*',
+ 'ges-command-line-formatter.*',
+ 'ges-base-xml-formatter.h',
+ 'gstframepositioner.*',
+ 'lex.priv_ges_parse_yy.c',
+ 'ges-parse-lex.[c]']
+ ges_excludes += [join_paths(meson.current_source_dir(), '..', '..', 'ges', f)]
+endforeach
+
+hotdoc = import('hotdoc')
+libs_doc = [hotdoc.generate_doc('gst-editing-services',
+ project_version: apiversion,
+ extra_assets: [join_paths(meson.current_source_dir(), 'images')],
+ gi_c_sources: ges_sources + ges_headers,
+ gi_c_source_roots: [join_paths(meson.current_source_dir(), '../ges/')],
+ gi_sources: [ges_gir[0].full_path()],
+ gi_c_source_filters: ges_excludes,
+ sitemap: 'sitemap.txt',
+ index: 'index.md',
+ gi_index: 'index.md',
+ gi_smart_index: true,
+ gi_order_generated_subpages: true,
+ dependencies: [ges_dep],
+ disable_incremental_build: true,
+)]
+
+plugins_doc = [hotdoc.generate_doc('nle',
+ project_version: apiversion,
+ extra_assets: [join_paths(meson.current_source_dir(), 'images')],
+ sitemap: 'nle-sitemap.txt',
+ index: 'nle-index.md',
+ dependencies: [nle],
+ disable_incremental_build: true,
+ gst_order_generated_subpages: true,
+ gst_index: 'nle-index.md',
+ gst_c_sources: ['../../plugins/nle/*.[ch]'],
+ gst_smart_index: true,
+ gst_cache_file: plugins_cache,
+ gst_plugin_name: 'nle',
+)]
\ No newline at end of file
--- /dev/null
+gst-index
\ No newline at end of file
--- /dev/null
+---
+short-description: Non Linear Engine
+...
+
+# Non Linear Engine
+
+NLE is a set of elements to implement Non Linear multimedia editing.
--- /dev/null
+gi-index
+ ges.h
+ ges-timeline.h
+ ges-layer.h
+ ges-clip.h
+ ges-uri-clip.h
+ ges-title-clip.h
+ ges-test-clip.h
+ ges-pipeline.h
+ ges-project.h
+ ges-effect.h
+ base-classes.md
+ ges-timeline-element.h
+ ges-container.h
+ ges-track.h
+ ges-audio-track.h
+ ges-video-track.h
+ ges-asset.h
+ ges-extractable.h
+ ges-gerror.h
+ ges-group.h
+ ges-meta-container.h
+ ges-text-overlay.h
+ ges-formatter.h
+ ges-track-element.h
+ ges-video-source.h
+ ges-audio-source.h
+ ges-enums.h
+ low_level.md
+ ges-audio-test-source.h
+ ges-audio-transition.h
+ ges-audio-uri-source.h
+ ges-base-effect-clip.h
+ ges-base-effect.h
+ ges-base-transition-clip.h
+ ges-clip-asset.h
+ # ges-effect-asset.h
+ ges-effect-clip.h
+ ges-image-source.h
+ ges-multi-file-source.h
+ ges-operation-clip.h
+ ges-operation.h
+ ges-overlay-clip.h
+ # ges-pitivi-formatter.h
+ ges-screenshot.h
+ ges-source-clip.h
+ ges-source.h
+ ges-text-overlay-clip.h
+ ges-title-source.h
+ ges-track-element-asset.h
+ ges-transition-clip.h
+ ges-transition.h
+ ges-types.h
+ ges-uri-asset.h
+ ges-video-test-source.h
+ ges-video-transition.h
+ ges-video-uri-source.h
+ # ges-xml-formatter.h
\ No newline at end of file
-ges_sources = [
+ges_sources = files([
'ges.c',
'ges-enums.c',
'ges-meta-container.c',
'ges-structured-interface.c',
'ges-structure-parser.c',
'gstframepositioner.c'
-]
+])
-ges_headers = [
+ges_headers = files([
'ges-types.h',
'ges.h',
'ges-prelude.h',
'ges-effect-asset.h',
'ges-utils.h',
'ges-group.h'
-]
+])
if libxml_dep.found()
ges_sources += files(['ges-pitivi-formatter.c'])
'-I' + meson.current_build_dir() + '/..',
'--cflags-end']
endif
- ges_gen_sources += [gnome.generate_gir(libges,
+ ges_gir = gnome.generate_gir(libges,
sources : ges_sources + ges_headers,
namespace : 'GES',
nsversion : apiversion,
install : true,
dependencies : libges_deps,
extra_args : ges_gir_extra_args
- )]
+ )
+
+ ges_gen_sources += [ges_gir]
endif
ges_dep = declare_dependency(link_with : libges,
project('gst-editing-services', 'c',
version : '1.17.0.1',
- meson_version : '>= 0.47',
+ meson_version : '>= 0.48',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
subdir('pkgconfig')
subdir('tests')
subdir('examples')
+subdir('docs')
override_detector = '''
import sys
subdir('bindings/python')
endif
-if build_machine.system() == 'windows'
- message('Disabling gtk-doc while building on Windows')
-else
- if find_program('gtkdoc-scan', required : get_option('gtk_doc')).found()
- subdir('docs')
- else
- message('Not building documentation as gtk-doc was not found')
- endif
-endif
-
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
-option('gtk_doc', type : 'feature', value : 'auto', yield : true,
- description : 'Build API documentation with gtk-doc')
option('introspection', type : 'feature', value : 'auto', yield : true,
description : 'Generate gobject-introspection bindings')
option('tests', type : 'feature', value : 'auto', yield : true,
option('pygi-overrides-dir', type : 'string', value : '',
description: 'Path to pygobject overrides directory')
option('xptv', type : 'feature', value : 'auto',
- description : 'Build the deprecated xptv formater')
\ No newline at end of file
+ description : 'Build the deprecated xptv formater')
+option('doc', type : 'feature', value : 'auto', yield: true,
+ description: 'Enable documentation.')
+plugins = []
subdir('nle')
subdir('ges')
\ No newline at end of file
install_dir : plugins_install_dir,
)
pkgconfig.generate(nle, install_dir : plugins_pkgconfig_install_dir)
+plugins += [nle]