summaryrefslogtreecommitdiff
path: root/girs
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2020-06-17 21:14:24 -0400
committerThibault Saunier <tsaunier@igalia.com>2020-06-17 21:52:01 -0400
commitd0aba011b314ff410668336229d8652154df2d48 (patch)
tree4b4bfe58f868e343aef9d2dc1b2c4a8ae0f76b43 /girs
parentc70e5494b32d144f4f6a6ab0ef8b6ad3e09ce98e (diff)
downloadgstreamer-d0aba011b314ff410668336229d8652154df2d48.tar.gz
Update GES
Diffstat (limited to 'girs')
-rw-r--r--girs/GES-1.0.gir14896
1 files changed, 11973 insertions, 2923 deletions
diff --git a/girs/GES-1.0.gir b/girs/GES-1.0.gir
index 2a5a242a3f..60fb24a257 100644
--- a/girs/GES-1.0.gir
+++ b/girs/GES-1.0.gir
@@ -11,13 +11,20 @@ and/or use gtk-doc annotations. -->
<include name="Gst" version="1.0"/>
<include name="GstPbutils" version="1.0"/>
<include name="GstVideo" version="1.0"/>
- <package name="ges-1.0"/>
+ <package name="gst-editing-services-1.0"/>
<c:include name="ges/ges.h"/>
<namespace name="GES"
version="1.0"
shared-library="libges-1.0.so.0"
c:identifier-prefixes="GES"
c:symbol-prefixes="ges">
+ <alias name="FrameNumber" c:type="GESFrameNumber">
+ <doc xml:space="preserve"
+ filename="ges/ges-types.h"
+ line="46">A datatype to hold a frame number.</doc>
+ <source-position filename="ges/ges-types.h" line="51"/>
+ <type name="gint64" c:type="gint64"/>
+ </alias>
<class name="Asset"
c:symbol-prefix="asset"
c:type="GESAsset"
@@ -25,14 +32,21 @@ and/or use gtk-doc annotations. -->
glib:type-name="GESAsset"
glib:get-type="ges_asset_get_type"
glib:type-struct="AssetClass">
- <doc xml:space="preserve">The Assets in the GStreamer Editing Services represent the resources
-that can be used. You can create assets for any type that implements the #GESExtractable
-interface, for example #GESClips, #GESFormatter, and #GESTrackElement do implement it.
-This means that assets will represent for example a #GESUriClips, #GESBaseEffect etc,
-and then you can extract objects of those types with the appropriate parameters from the asset
-using the #ges_asset_extract method:
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="21">A #GESAsset in the GStreamer Editing Services represents a resources
+that can be used. In particular, any class that implements the
+#GESExtractable interface may have some associated assets with a
+corresponding #GESAsset:extractable-type, from which its objects can be
+extracted using ges_asset_extract(). Some examples would be
+#GESClip, #GESFormatter and #GESTrackElement.
-|[
+All assets that are created within GES are stored in a cache; one per
+each #GESAsset:id and #GESAsset:extractable-type pair. These assets can
+be fetched, and initialized if they do not yet exist in the cache,
+using ges_asset_request().
+
+``` c
GESAsset *effect_asset;
GESEffect *effect;
@@ -42,27 +56,22 @@ effect_asset = ges_asset_request (GES_TYPE_EFFECT, "agingtv", NULL);
// And now you can extract an instance of GESEffect from that asset
effect = GES_EFFECT (ges_asset_extract (effect_asset));
-]|
+```
+
+The advantage of using assets, rather than simply creating the object
+directly, is that the currently loaded resources can be listed with
+ges_list_assets() and displayed to an end user. For example, to show
+which media files have been loaded, and a standard list of effects. In
+fact, the GES library already creates assets for #GESTransitionClip and
+#GESFormatter, which you can use to list all the available transition
+types and supported formats.
-In that example, the advantages of having a #GESAsset are that you can know what effects
-you are working with and let your user know about the avalaible ones, you can add metadata
-to the #GESAsset through the #GESMetaContainer interface and you have a model for your
-custom effects. Note that #GESAsset management is making easier thanks to the #GESProject class.
-
-Each asset is represented by a pair of @extractable_type and @id (string). Actually the @extractable_type
-is the type that implements the #GESExtractable interface, that means that for example for a #GESUriClip,
-the type that implements the #GESExtractable interface is #GESClip.
-The identifier represents different things depending on the @extractable_type and you should check
-the documentation of each type to know what the ID of #GESAsset actually represents for that type. By default,
-we only have one #GESAsset per type, and the @id is the name of the type, but this behaviour is overriden
-to be more useful. For example, for GESTransitionClips, the ID is the vtype of the transition
-you will extract from it (ie crossfade, box-wipe-rc etc..) For #GESEffect the ID is the
-@bin-description property of the extracted objects (ie the gst-launch style description of the bin that
-will be used).
-
-Each and every #GESAsset is cached into GES, and you can query those with the #ges_list_assets function.
-Also the system will automatically register #GESAssets for #GESFormatters and #GESTransitionClips
-and standard effects (actually not implemented yet) and you can simply query those calling:
+The other advantage is that #GESAsset implements #GESMetaContainer, so
+metadata can be set on the asset, with some subclasses automatically
+creating this metadata on initiation.
+
+For example, to display information about the supported formats, you
+could do the following:
|[
GList *formatter_assets, *tmp;
@@ -72,77 +81,180 @@ and standard effects (actually not implemented yet) and you can simply query tho
// Print some infos about the formatter GESAsset
for (tmp = formatter_assets; tmp; tmp = tmp-&gt;next) {
g_print ("Name of the formatter: %s, file extension it produces: %s",
- ges_meta_container_get_string (GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_NAME),
- ges_meta_container_get_string (GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_EXTENSION));
+ ges_meta_container_get_string (
+ GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_NAME),
+ ges_meta_container_get_string (
+ GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_EXTENSION));
}
g_list_free (transition_assets);
]|
-You can request the creation of #GESAssets using either #ges_asset_request_async or
-#ges_asset_request_async. All the #GESAssets are cached and thus any asset that has already
-been created can be requested again without overhead.</doc>
+## ID
+
+Each asset is uniquely defined in the cache by its
+#GESAsset:extractable-type and #GESAsset:id. Depending on the
+#GESAsset:extractable-type, the #GESAsset:id can be used to parametrise
+the creation of the object upon extraction. By default, a class that
+implements #GESExtractable will only have a single associated asset,
+with an #GESAsset:id set to the type name of its objects. However, this
+is overwritten by some implementations, which allow a class to have
+multiple associated assets. For example, for #GESTransitionClip the
+#GESAsset:id will be a nickname of the #GESTransitionClip:vtype. You
+should check the documentation for each extractable type to see if they
+differ from the default.
+
+Moreover, each #GESAsset:extractable-type may also associate itself
+with a specific asset subclass. In such cases, when their asset is
+requested, an asset of this subclass will be returned instead.
+
+## Managing
+
+You can use a #GESProject to easily manage the assets of a
+#GESTimeline.
+
+## Proxies
+
+Some assets can (temporarily) act as the #GESAsset:proxy of another
+asset. When the original asset is requested from the cache, the proxy
+will be returned in its place. This can be useful if, say, you want
+to substitute a #GESUriClipAsset corresponding to a high resolution
+media file with the asset of a lower resolution stand in.
+
+An asset may even have several proxies, the first of which will act as
+its default and be returned on requests, but the others will be ordered
+to take its place once it is removed. You can add a proxy to an asset,
+or set its default, using ges_asset_set_proxy(), and you can remove
+them with ges_asset_unproxy().</doc>
+ <source-position filename="ges/ges-asset.h" line="104"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
<function name="needs_reload" c:identifier="ges_asset_needs_reload">
- <doc xml:space="preserve">Sets an asset from the internal cache as needing reload. An asset needs reload
-in the case where, for example, we were missing a GstPlugin to use it and that
-plugin has been installed, or, that particular asset content as changed
-meanwhile (in the case of the usage of proxies).
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1480">Indicate that an existing #GESAsset in the cache should be reloaded
+upon the next request. This can be used when some condition has
+changed, which may require that an existing asset should be updated.
+For example, if an external resource has changed or now become
+available.
-Once an asset has been set as "needs reload", requesting that asset again
-will lead to it being re discovered, and reloaded as if it was not in the
-cache before.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the asset was in the cache and could be set as needing reload,
-%FALSE otherwise.</doc>
+Note, the asset is not immediately changed, but will only actually
+reload on the next call to ges_asset_request() or
+ges_asset_request_async().</doc>
+ <source-position filename="ges/ges-asset.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1497">%TRUE if the specified asset exists in the cache and could be
+marked for reloading.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The #GType of the object that can be extracted from the
- asset to be reloaded.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1482">The #GESAsset:extractable-type of the asset that
+needs reloading</doc>
<type name="GType" c:type="GType"/>
</parameter>
- <parameter name="id" transfer-ownership="none">
- <doc xml:space="preserve">The identifier of the asset to mark as needing reload</doc>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1484">The #GESAsset:id of the asset asset that needs
+reloading</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="request" c:identifier="ges_asset_request" throws="1">
- <doc xml:space="preserve">Create a #GESAsset in the most simple cases, you should look at the @extractable_type
-documentation to see if that constructor can be called for this particular type
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1196">Returns an asset with the given properties. If such an asset already
+exists in the cache (it has been previously created in GES), then a
+reference to the existing asset is returned. Otherwise, a newly created
+asset is returned, and also added to the cache.
+
+If the requested asset has been loaded with an error, then @error is
+set, if given, and %NULL will be returned instead.
+
+Note that the given @id may not be exactly the #GESAsset:id that is
+set on the returned asset. For instance, it may be adjusted into a
+standard format. Or, if a #GESExtractable type does not have its
+extraction parametrised, as is the case by default, then the given @id
+may be ignored entirely and the #GESAsset:id set to some standard, in
+which case a %NULL @id can be given.
-As it is recommanded not to instanciate assets for GESUriClip synchronously,
-it will not work with this method, but you can instead use the specific
-#ges_uri_clip_asset_request_sync method if you really want to.</doc>
+Similarly, the given @extractable_type may not be exactly the
+#GESAsset:extractable-type that is set on the returned asset. Instead,
+the actual extractable type may correspond to a subclass of the given
+@extractable_type, depending on the given @id.
+
+Moreover, depending on the given @extractable_type, the returned asset
+may belong to a subclass of #GESAsset.
+
+Finally, if the requested asset has a #GESAsset:proxy, then the proxy
+that is found at the end of the chain of proxies is returned (a proxy's
+proxy will take its place, and so on, unless it has no proxy).
+
+Some asset subclasses only support asynchronous construction of its
+assets, such as #GESUriClip. For such assets this method will fail, and
+you should use ges_asset_request_async() instead. In the case of
+#GESUriClip, you can use ges_uri_clip_asset_request_sync() if you only
+want to wait for the request to finish.</doc>
+ <source-position filename="ges/ges-asset.h" line="115"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">A reference to the wanted #GESAsset or %NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1236">A reference to the requested
+asset, or %NULL if an error occurred.</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The #GType of the object that can be extracted from the new asset.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1198">The #GESAsset:extractable-type of the asset</doc>
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="id"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The Identifier or %NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1199">The #GESAsset:id of the asset</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="request_async" c:identifier="ges_asset_request_async">
- <doc xml:space="preserve">Request a new #GESAsset asyncronously, @callback will be called when the materail is
-ready to be used or if an error occured.
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1336">Requests an asset with the given properties asynchronously (see
+ges_asset_request()). When the asset has been initialized or fetched
+from the cache, the given callback function will be called. The
+asset can then be retrieved in the callback using the
+ges_asset_request_finish() method on the given #GAsyncResult.
-Example of request of a GESAsset async:
-|[
+Note that the source object passed to the callback will be the
+#GESAsset corresponding to the request, but it may not have loaded
+correctly and therefore can not be used as is. Instead,
+ges_asset_request_finish() should be used to fetch a usable asset, or
+indicate that an error occurred in the asset's creation.
+
+Note that the callback will be called in the #GMainLoop running under
+the same #GMainContext that ges_init() was called in. So, if you wish
+the callback to be invoked outside the default #GMainContext, you can
+call g_main_context_push_thread_default() in a new thread before
+calling ges_init().
+
+Example of an asynchronous asset request:
+``` c
// The request callback
static void
asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
@@ -152,42 +264,48 @@ asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
asset = ges_asset_request_finish (res, &amp;error);
if (asset) {
- g_print ("The file: %s is usable as a FileSource",
+ g_print ("The file: %s is usable as a GESUriClip",
ges_asset_get_id (asset));
} else {
- g_print ("The file: %s is *not* usable as a FileSource because: %s",
+ g_print ("The file: %s is *not* usable as a GESUriClip because: %s",
ges_asset_get_id (source), error-&gt;message);
}
- gst_object_unref (mfs);
+ gst_object_unref (asset);
}
// The request:
ges_asset_request_async (GES_TYPE_URI_CLIP, some_uri, NULL,
(GAsyncReadyCallback) asset_loaded_cb, user_data);
-]|</doc>
+```</doc>
+ <source-position filename="ges/ges-asset.h" line="109"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The #GType of the object that can be extracted from the
- new asset. The class must implement the #GESExtractable interface.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1338">The #GESAsset:extractable-type of the asset</doc>
<type name="GType" c:type="GType"/>
</parameter>
- <parameter name="id" transfer-ownership="none">
- <doc xml:space="preserve">The Identifier of the asset we want to create. This identifier depends of the extractable,
-type you want. By default it is the name of the class itself (or %NULL), but for example for a
-GESEffect, it will be the pipeline description, for a GESUriClip it
-will be the name of the file, etc... You should refer to the documentation of the #GESExtractable
-type you want to create a #GESAsset for.</doc>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1339">The #GESAsset:id of the asset</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">optional %GCancellable object, %NULL to ignore.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1340">An object to allow cancellation of the
+asset request, or %NULL to ignore</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
@@ -196,17 +314,18 @@ type you want to create a #GESAsset for.</doc>
allow-none="1"
scope="async"
closure="4">
- <doc xml:space="preserve">a #GAsyncReadyCallback to call when the initialization is finished,
-Note that the @source of the callback will be the #GESAsset, but you need to
-make sure that the asset is properly loaded using the #ges_asset_request_finish
-method. This asset can not be used as is.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1342">A function to call when the initialization is finished</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The user data to pass when @callback is called</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1343">Data to be passed to @callback</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
@@ -214,35 +333,52 @@ method. This asset can not be used as is.</doc>
<function name="request_finish"
c:identifier="ges_asset_request_finish"
throws="1">
- <doc xml:space="preserve">Finalize the request of an async #GESAsset</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The #GESAsset previously requested</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1585">Fetches an asset requested by ges_asset_request_async(), which
+finalises the request.</doc>
+ <source-position filename="ges/ges-asset.h" line="121"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1594">The requested asset, or %NULL if an error
+occurred.</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<parameter name="res" transfer-ownership="none">
- <doc xml:space="preserve">The #GAsyncResult from which to get the newly created #GESAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1587">The task result to fetch the asset from</doc>
<type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
</parameter>
</parameters>
</function>
<virtual-method name="extract" invoker="extract" throws="1">
- <doc xml:space="preserve">Extracts a new #GObject from @asset. The type of the object is
-defined by the extractable-type of @asset, you can check what
-type will be extracted from @asset using
-#ges_asset_get_extractable_type</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">A newly created #GESExtractable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1551">Extracts a new #GESAsset:extractable-type object from the asset. The
+#GESAsset:id of the asset may determine the properties and state of the
+newly created object.</doc>
+ <source-position filename="ges/ges-asset.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1561">A newly created object, or %NULL if an
+error occurred.</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to get extract an object from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1553">The #GESAsset to extract an object from</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="inform_proxy">
+ <source-position filename="ges/ges-asset.h" line="91"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -256,6 +392,7 @@ type will be extracted from @asset using
</parameters>
</virtual-method>
<virtual-method name="proxied">
+ <source-position filename="ges/ges-asset.h" line="94"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -269,6 +406,7 @@ type will be extracted from @asset using
</parameters>
</virtual-method>
<virtual-method name="request_id_update">
+ <source-position filename="ges/ges-asset.h" line="100"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -285,6 +423,7 @@ type will be extracted from @asset using
</parameters>
</virtual-method>
<virtual-method name="start_loading" throws="1">
+ <source-position filename="ges/ges-asset.h" line="86"/>
<return-value transfer-ownership="none">
<type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
</return-value>
@@ -295,17 +434,24 @@ type will be extracted from @asset using
</parameters>
</virtual-method>
<method name="extract" c:identifier="ges_asset_extract" throws="1">
- <doc xml:space="preserve">Extracts a new #GObject from @asset. The type of the object is
-defined by the extractable-type of @asset, you can check what
-type will be extracted from @asset using
-#ges_asset_get_extractable_type</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">A newly created #GESExtractable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1551">Extracts a new #GESAsset:extractable-type object from the asset. The
+#GESAsset:id of the asset may determine the properties and state of the
+newly created object.</doc>
+ <source-position filename="ges/ges-asset.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1561">A newly created object, or %NULL if an
+error occurred.</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to get extract an object from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1553">The #GESAsset to extract an object from</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
@@ -313,124 +459,207 @@ type will be extracted from @asset using
<method name="get_error"
c:identifier="ges_asset_get_error"
version="1.8">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1661">Retrieve the error that was set on the asset when it was loaded.</doc>
+ <source-position filename="ges/ges-asset.h" line="124"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The #GError of the asset or %NULL if
-the asset was loaded without issue</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1667">The error set on @asset, or
+%NULL if no error occurred when @asset was loaded.</doc>
<type name="GLib.Error" c:type="GError*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The asset to retrieve the error from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1663">A #GESAsset</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_extractable_type"
c:identifier="ges_asset_get_extractable_type">
- <doc xml:space="preserve">Gets the type of object that can be extracted from @self</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the type of object that can be extracted from @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1180">Gets the #GESAsset:extractable-type of the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1186">The extractable type of @self.</doc>
<type name="GType" c:type="GType"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1182">The #GESAsset</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_id" c:identifier="ges_asset_get_id">
- <doc xml:space="preserve">Gets the ID of a #GESAsset</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The ID of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1535">Gets the #GESAsset:id of the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1541">The ID of @self.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to get ID from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1537">A #GESAsset</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_proxy" c:identifier="ges_asset_get_proxy">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1068">Gets the default #GESAsset:proxy of the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="141"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The proxy in use for @asset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1074">The default proxy of @asset.</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to get currenlty used proxy</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1070">A #GESAsset</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_proxy_target"
c:identifier="ges_asset_get_proxy_target">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1088">Gets the #GESAsset:proxy-target of the asset.
+
+Note that the proxy target may have loaded with an error, so you should
+call ges_asset_get_error() on the returned target.</doc>
+ <source-position filename="ges/ges-asset.h" line="139"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The #GESAsset that is proxied by @proxy</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1097">The asset that @proxy is a proxy
+of.</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<instance-parameter name="proxy" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset from which to get the the asset it proxies.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1090">A #GESAsset</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="list_proxies" c:identifier="ges_asset_list_proxies">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The list of proxies @asset has. Note that the default asset to be
-used is always the first in that list.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1049">Get all the proxies that the asset has. The first item of the list will
+be the default #GESAsset:proxy. The second will be the proxy that is
+'next in line' to be default, and so on.</doc>
+ <source-position filename="ges/ges-asset.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1057">The list of proxies
+that @asset has.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Asset"/>
</type>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to get proxies from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1051">A #GESAsset</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_proxy" c:identifier="ges_asset_set_proxy">
- <doc xml:space="preserve">A proxying asset is an asset that can substitue the real @asset. For example if you
-have a full HD #GESUriClipAsset you might want to set a lower resolution (HD version
-of the same file) as proxy. Note that when an asset is proxied, calling
-#ges_asset_request will actually return the proxy asset.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="898">Sets the #GESAsset:proxy for the asset.
+
+If @proxy is among the existing proxies of the asset (see
+ges_asset_list_proxies()) it will be moved to become the default
+proxy. Otherwise, if @proxy is not %NULL, it will be added to the list
+of proxies, as the new default. The previous default proxy will become
+'next in line' for if the new one is removed, and so on. As such, this
+will **not** actually remove the previous default proxy (use
+ges_asset_unproxy() for that).
+
+Note that an asset can only act as a proxy for one other asset.
+
+As a special case, if @proxy is %NULL, then this method will actually
+remove **all** proxies from the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="133"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @proxy has been set on @asset, %FALSE otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="918">%TRUE if @proxy was successfully set as the default for
+@asset.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to set proxy on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="900">The #GESAsset to proxy</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
<parameter name="proxy"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The #GESAsset that should be used as default proxy for @asset or
-%NULL if you want to use the currently set proxy. Note that an asset can proxy one and only
-one other asset.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="901">A new default proxy for @asset</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
</method>
<method name="unproxy" c:identifier="ges_asset_unproxy">
- <doc xml:space="preserve">Removes @proxy from the list of known proxies for @asset.
-If @proxy was the current proxy for @asset, stop using it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @proxy was a known proxy for @asset, %FALSE otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="996">Removes the proxy from the available list of proxies for the asset. If
+the given proxy is the default proxy of the list, then the next proxy
+in the available list (see ges_asset_list_proxies()) will become the
+default. If there are no other proxies, then the asset will no longer
+have a default #GESAsset:proxy.</doc>
+ <source-position filename="ges/ges-asset.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1007">%TRUE if @proxy was successfully removed from @asset's proxy
+list.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to stop proxying with @proxy</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="998">The #GESAsset to no longer proxy with @proxy</doc>
<type name="Asset" c:type="GESAsset*"/>
</instance-parameter>
<parameter name="proxy" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to stop considering as a proxy for @asset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="999">An existing proxy of @asset</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
@@ -439,18 +668,54 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="480">The #GESExtractable object type that can be extracted from the asset.</doc>
<type name="GType" c:type="GType"/>
</property>
<property name="id"
writable="1"
construct-only="1"
transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="490">The ID of the asset. This should be unique amongst all assets with
+the same #GESAsset:extractable-type. Depending on the associated
+#GESExtractable implementation, this id may convey some information
+about the #GObject that should be extracted. Note that, as such, the
+ID will have an expected format, and you can not choose this value
+arbitrarily. By default, this will be set to the type name of the
+#GESAsset:extractable-type, but you should check the documentation
+of the extractable type to see whether they differ from the
+default behaviour.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="proxy" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="508">The default proxy for this asset, or %NULL if it has no proxy. A
+proxy will act as a substitute for the original asset when the
+original is requested (see ges_asset_request()).
+
+Setting this property will not usually remove the existing proxy, but
+will replace it as the default (see ges_asset_set_proxy()).</doc>
<type name="Asset"/>
</property>
- <property name="proxy-target" writable="1" transfer-ownership="none">
+ <property name="proxy-target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="522">The asset that this asset is a proxy for, or %NULL if it is not a
+proxy for another asset.
+
+Note that even if this asset is acting as a proxy for another asset,
+but this asset is not the default #GESAsset:proxy, then @proxy-target
+will *still* point to this other asset. So you should check the
+#GESAsset:proxy property of @target-proxy before assuming it is the
+current default proxy for the target.
+
+Note that the #GObject::notify for this property is emitted after
+the #GESAsset:proxy #GObject::notify for the corresponding (if any)
+asset it is now the proxy of/no longer the proxy of.</doc>
<type name="Asset"/>
</property>
<field name="parent">
@@ -460,7 +725,7 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
<type name="AssetPrivate" c:type="GESAssetPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -468,11 +733,13 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
<record name="AssetClass"
c:type="GESAssetClass"
glib:is-gtype-struct-for="Asset">
+ <source-position filename="ges/ges-asset.h" line="104"/>
<field name="parent">
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
<field name="start_loading">
<callback name="start_loading" throws="1">
+ <source-position filename="ges/ges-asset.h" line="86"/>
<return-value transfer-ownership="none">
<type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
</return-value>
@@ -485,13 +752,19 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
</field>
<field name="extract">
<callback name="extract" throws="1">
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">A newly created #GESExtractable</doc>
+ <source-position filename="ges/ges-asset.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1561">A newly created object, or %NULL if an
+error occurred.</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to get extract an object from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1553">The #GESAsset to extract an object from</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
@@ -499,6 +772,7 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
</field>
<field name="inform_proxy">
<callback name="inform_proxy">
+ <source-position filename="ges/ges-asset.h" line="91"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -514,6 +788,7 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
</field>
<field name="proxied">
<callback name="proxied">
+ <source-position filename="ges/ges-asset.h" line="94"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -529,6 +804,7 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
</field>
<field name="request_id_update">
<callback name="request_id_update">
+ <source-position filename="ges/ges-asset.h" line="100"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -546,20 +822,33 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
</callback>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<enumeration name="AssetLoadingReturn" c:type="GESAssetLoadingReturn">
+ <source-position filename="ges/ges-asset.h" line="48"/>
<member name="error" value="0" c:identifier="GES_ASSET_LOADING_ERROR">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.h"
+ line="37">Indicates that an error occurred</doc>
</member>
<member name="async" value="1" c:identifier="GES_ASSET_LOADING_ASYNC">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.h"
+ line="38">Indicates that the loading is being performed
+asynchronously</doc>
</member>
<member name="ok" value="2" c:identifier="GES_ASSET_LOADING_OK">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.h"
+ line="40">Indicates that the loading is complete, without
+error</doc>
</member>
</enumeration>
<record name="AssetPrivate" c:type="GESAssetPrivate" disguised="1">
+ <source-position filename="ges/ges-asset.h" line="33"/>
</record>
<class name="AudioSource"
c:symbol-prefix="audio_source"
@@ -569,30 +858,16 @@ If @proxy was the current proxy for @asset, stop using it.</doc>
glib:type-name="GESAudioSource"
glib:get-type="ges_audio_source_get_type"
glib:type-struct="AudioSourceClass">
- <doc xml:space="preserve">## Children Properties
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-source.c"
+ line="21">## Children Properties
You can use the following children properties through the
#ges_track_element_set_child_property and alike set of methods:
-&lt;informaltable frame="none"&gt;
-&lt;tgroup cols="3"&gt;
-&lt;colspec colname="properties_type" colwidth="150px"/&gt;
-&lt;colspec colname="properties_name" colwidth="200px"/&gt;
-&lt;colspec colname="properties_flags" colwidth="400px"/&gt;
-&lt;tbody&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gdouble"&gt;&lt;type&gt;double&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESAudioSource--volume"&gt;volume&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;volume factor, 1.0=100%.&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gboolean"&gt;&lt;type&gt;gboolean&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESAudioSource--mute"&gt;mute&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;mute channel.&lt;/entry&gt;
-&lt;/row&gt;
-&lt;/tbody&gt;
-&lt;/tgroup&gt;
-&lt;/informaltable&gt;</doc>
+- #gdouble `volume`: volume factor, 1.0=100%.
+- #gboolean `mute`: mute channel.</doc>
+ <source-position filename="ges/ges-audio-source.h" line="67"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -602,7 +877,7 @@ You can use the following children properties through the
<type name="AudioSourcePrivate" c:type="GESAudioSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -610,11 +885,13 @@ You can use the following children properties through the
<record name="AudioSourceClass"
c:type="GESAudioSourceClass"
glib:is-gtype-struct-for="AudioSource">
+ <source-position filename="ges/ges-audio-source.h" line="67"/>
<field name="parent_class" readable="0" private="1">
<type name="SourceClass" c:type="GESSourceClass"/>
</field>
<field name="create_source" introspectable="0">
<callback name="create_source" introspectable="0">
+ <source-position filename="ges/ges-audio-source.h" line="62"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -626,7 +903,7 @@ You can use the following children properties through the
</callback>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -634,6 +911,7 @@ You can use the following children properties through the
<record name="AudioSourcePrivate"
c:type="GESAudioSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-audio-source.h" line="32"/>
</record>
<class name="AudioTestSource"
c:symbol-prefix="audio_test_source"
@@ -642,67 +920,98 @@ You can use the following children properties through the
glib:type-name="GESAudioTestSource"
glib:get-type="ges_audio_test_source_get_type"
glib:type-struct="AudioTestSourceClass">
- <doc xml:space="preserve">Outputs a test audio stream using audiotestsrc. The default property values
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="21">Outputs a test audio stream using audiotestsrc. The default property values
output silence. Useful for testing pipelines, or to fill gaps in an audio
track.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="56"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<method name="get_freq" c:identifier="ges_audio_test_source_get_freq">
- <doc xml:space="preserve">Get the current frequency of @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current frequency of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="167">Get the current frequency of @self.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="173">The current frequency of @self.</doc>
<type name="gdouble" c:type="double"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESAudioTestSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="169">a #GESAudioTestSource</doc>
<type name="AudioTestSource" c:type="GESAudioTestSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_volume"
c:identifier="ges_audio_test_source_get_volume">
- <doc xml:space="preserve">Get the current volume of @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current volume of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="184">Get the current volume of @self.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="190">The current volume of @self</doc>
<type name="gdouble" c:type="double"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESAudioTestSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="186">a #GESAudioTestSource</doc>
<type name="AudioTestSource" c:type="GESAudioTestSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_freq" c:identifier="ges_audio_test_source_set_freq">
- <doc xml:space="preserve">Lets you set the frequency applied on the track element</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="119">Lets you set the frequency applied on the track element</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="59"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESAudioTestSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="121">a #GESAudioTestSource</doc>
<type name="AudioTestSource" c:type="GESAudioTestSource*"/>
</instance-parameter>
<parameter name="freq" transfer-ownership="none">
- <doc xml:space="preserve">The frequency you want to apply on @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="122">The frequency you want to apply on @self</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_volume"
c:identifier="ges_audio_test_source_set_volume">
- <doc xml:space="preserve">Sets the volume of the test audio signal.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="143">Sets the volume of the test audio signal.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="63"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESAudioTestSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="145">a #GESAudioTestSource</doc>
<type name="AudioTestSource" c:type="GESAudioTestSource*"/>
</instance-parameter>
<parameter name="volume" transfer-ownership="none">
- <doc xml:space="preserve">The volume you want to apply on @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="146">The volume you want to apply on @self</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
@@ -715,7 +1024,7 @@ track.</doc>
c:type="GESAudioTestSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -723,11 +1032,12 @@ track.</doc>
<record name="AudioTestSourceClass"
c:type="GESAudioTestSourceClass"
glib:is-gtype-struct-for="AudioTestSource">
+ <source-position filename="ges/ges-audio-test-source.h" line="56"/>
<field name="parent_class" readable="0" private="1">
<type name="AudioSourceClass" c:type="GESAudioSourceClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -735,6 +1045,7 @@ track.</doc>
<record name="AudioTestSourcePrivate"
c:type="GESAudioTestSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-audio-test-source.h" line="30"/>
</record>
<class name="AudioTrack"
c:symbol-prefix="audio_track"
@@ -743,26 +1054,48 @@ track.</doc>
glib:type-name="GESAudioTrack"
glib:get-type="ges_audio_track_get_type"
glib:type-struct="AudioTrackClass">
- <doc xml:space="preserve">Sane default properties to specify and fixate the output stream are
-set as restriction-caps.
-It is advised, to modify these properties, to use
-#ges_track_update_restriction_caps, setting them directly is
-possible through #ges_track_set_restriction_caps, but not specifying
-one of them can lead to negotiation issues, only use that function
-if you actually know what you're doing :)
-
-The default properties are:
-- format: S32LE
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-track.c"
+ line="20">A #GESAudioTrack is a default audio #GESTrack, with a
+#GES_TRACK_TYPE_AUDIO #GESTrack:track-type and "audio/x-raw(ANY)"
+#GESTrack:caps.
+
+By default, an audio track will have its #GESTrack:restriction-caps
+set to "audio/x-raw" with the following properties:
+
+- format: "S32LE"
- channels: 2
- rate: 44100
-- layout: interleaved</doc>
+- layout: "interleaved"
+
+These fields are needed for negotiation purposes, but you can change
+their values if you wish. It is advised that you do so using
+ges_track_update_restriction_caps() with new values for the fields you
+wish to change, and any additional fields you may want to add. Unlike
+using ges_track_set_restriction_caps(), this will ensure that these
+default fields will at least have some value set.</doc>
+ <source-position filename="ges/ges-audio-track.h" line="39"/>
<implements name="MetaContainer"/>
<implements name="Gst.ChildProxy"/>
<constructor name="new" c:identifier="ges_audio_track_new">
- <doc xml:space="preserve">Creates a new #GESAudioTrack of type #GES_TRACK_TYPE_AUDIO and with generic
-raw audio caps ("audio/x-raw");</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-track.c"
+ line="117">Creates a new audio track, with a #GES_TRACK_TYPE_AUDIO
+#GESTrack:track-type, "audio/x-raw(ANY)" #GESTrack:caps, and
+"audio/x-raw" #GESTrack:restriction-caps with the properties:
+
+- format: "S32LE"
+- channels: 2
+- rate: 44100
+- layout: "interleaved"
+
+You should use ges_track_update_restriction_caps() if you wish to
+modify these fields, or add additional ones.</doc>
+ <source-position filename="ges/ges-audio-track.h" line="52"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">A new #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-track.c"
+ line="132">The newly created audio track.</doc>
<type name="AudioTrack" c:type="GESAudioTrack*"/>
</return-value>
</constructor>
@@ -773,7 +1106,7 @@ raw audio caps ("audio/x-raw");</doc>
<type name="AudioTrackPrivate" c:type="GESAudioTrackPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -781,11 +1114,12 @@ raw audio caps ("audio/x-raw");</doc>
<record name="AudioTrackClass"
c:type="GESAudioTrackClass"
glib:is-gtype-struct-for="AudioTrack">
+ <source-position filename="ges/ges-audio-track.h" line="39"/>
<field name="parent_class">
<type name="TrackClass" c:type="GESTrackClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -793,6 +1127,7 @@ raw audio caps ("audio/x-raw");</doc>
<record name="AudioTrackPrivate"
c:type="GESAudioTrackPrivate"
disguised="1">
+ <source-position filename="ges/ges-audio-track.h" line="30"/>
</record>
<class name="AudioTransition"
c:symbol-prefix="audio_transition"
@@ -801,12 +1136,23 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESAudioTransition"
glib:get-type="ges_audio_transition_get_type"
glib:type-struct="AudioTransitionClass">
+ <source-position filename="ges/ges-audio-transition.h" line="52"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
- <constructor name="new" c:identifier="ges_audio_transition_new">
- <doc xml:space="preserve">Creates a new #GESAudioTransition.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The newly created #GESAudioTransition.</doc>
+ <constructor name="new"
+ c:identifier="ges_audio_transition_new"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-transition.c"
+ line="287">Creates a new #GESAudioTransition.</doc>
+ <doc-deprecated xml:space="preserve">This should never be called by applications as this will
+be created by clips.</doc-deprecated>
+ <source-position filename="ges/ges-audio-transition.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-transition.c"
+ line="292">The newly created #GESAudioTransition.</doc>
<type name="AudioTransition" c:type="GESAudioTransition*"/>
</return-value>
</constructor>
@@ -818,7 +1164,7 @@ raw audio caps ("audio/x-raw");</doc>
c:type="GESAudioTransitionPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -826,11 +1172,12 @@ raw audio caps ("audio/x-raw");</doc>
<record name="AudioTransitionClass"
c:type="GESAudioTransitionClass"
glib:is-gtype-struct-for="AudioTransition">
+ <source-position filename="ges/ges-audio-transition.h" line="52"/>
<field name="parent_class">
<type name="TransitionClass" c:type="GESTransitionClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -838,6 +1185,7 @@ raw audio caps ("audio/x-raw");</doc>
<record name="AudioTransitionPrivate"
c:type="GESAudioTransitionPrivate"
disguised="1">
+ <source-position filename="ges/ges-audio-transition.h" line="30"/>
</record>
<class name="AudioUriSource"
c:symbol-prefix="audio_uri_source"
@@ -846,13 +1194,21 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESAudioUriSource"
glib:get-type="ges_audio_uri_source_get_type"
glib:type-struct="AudioUriSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-uri-source.h"
+ line="32">### Children Properties
+
+ {{ libs/GESVideoUriSource-children-props.md }}</doc>
+ <source-position filename="ges/ges-audio-uri-source.h" line="57"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<property name="uri"
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The location of the file/resource to use.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-uri-source.c"
+ line="183">The location of the file/resource to use.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent" readable="0" private="1">
@@ -865,7 +1221,7 @@ raw audio caps ("audio/x-raw");</doc>
<type name="AudioUriSourcePrivate" c:type="GESAudioUriSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -873,11 +1229,12 @@ raw audio caps ("audio/x-raw");</doc>
<record name="AudioUriSourceClass"
c:type="GESAudioUriSourceClass"
glib:is-gtype-struct-for="AudioUriSource">
+ <source-position filename="ges/ges-audio-uri-source.h" line="57"/>
<field name="parent_class" readable="0" private="1">
<type name="AudioSourceClass" c:type="GESAudioSourceClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -885,6 +1242,7 @@ raw audio caps ("audio/x-raw");</doc>
<record name="AudioUriSourcePrivate"
c:type="GESAudioUriSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-audio-uri-source.h" line="30"/>
</record>
<class name="BaseEffect"
c:symbol-prefix="base_effect"
@@ -894,8 +1252,212 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESBaseEffect"
glib:get-type="ges_base_effect_get_type"
glib:type-struct="BaseEffectClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="20">A #GESBaseEffect is some operation that applies an effect to the data
+it receives.
+
+## Time Effects
+
+Some operations will change the timing of the stream data they receive
+in some way. In particular, the #GstElement that they wrap could alter
+the times of the segment they receive in a #GST_EVENT_SEGMENT event,
+or the times of a seek they receive in a #GST_EVENT_SEEK event. Such
+operations would be considered time effects since they translate the
+times they receive on their source to different times at their sink,
+and vis versa. This introduces two sets of time coordinates for the
+event: (internal) sink coordinates and (internal) source coordinates,
+where segment times are translated from the sink coordinates to the
+source coordinates, and seek times are translated from the source
+coordinates to the sink coordinates.
+
+If you use such an effect in GES, you will need to inform GES of the
+properties that control the timing with
+ges_base_effect_register_time_property(), and the effect's timing
+behaviour using ges_base_effect_set_time_translation_funcs().
+
+Note that a time effect should not have its
+#GESTrackElement:has-internal-source set to %TRUE.
+
+In addition, note that GES only *fully* supports time effects whose
+mapping from the source to sink coordinates (those applied to seeks)
+obeys:
+
++ Maps the time `0` to `0`. So initial time-shifting effects are
+ excluded.
++ Is monotonically increasing. So reversing effects, and effects that
+ jump backwards in the stream are excluded.
++ Can handle a reasonable #GstClockTime, relative to the project. So
+ this would exclude a time effect with an extremely large speed-up
+ that would cause the converted #GstClockTime seeks to overflow.
++ Is 'continuously reversible'. This essentially means that for every
+ time in the sink coordinates, we can, to 'good enough' accuracy,
+ calculate the corresponding time in the source coordinates. Moreover,
+ this should correspond to how segment times are translated from
+ sink to source.
++ Only depends on the registered time properties, rather than the
+ state of the #GstElement or the data it receives. This would exclude,
+ say, an effect that would speedup if there is more red in the image
+ it receives.
+
+Note that a constant-rate-change effect that is not extremely fast or
+slow would satisfy these conditions. For such effects, you may wish to
+use ges_effect_class_register_rate_property().</doc>
+ <source-position filename="ges/ges-base-effect.h" line="57"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
+ <method name="is_time_effect"
+ c:identifier="ges_base_effect_is_time_effect"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="327">Get whether the effect is considered a time effect or not. An effect
+with registered time properties or set translation functions is
+considered a time effect.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="335">%TRUE if @effect is considered a time effect.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="329">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="register_time_property"
+ c:identifier="ges_base_effect_register_time_property"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="187">Register a child property of the effect as a property that, when set,
+can change the timing of its input data. The child property should be
+specified as in ges_timeline_element_lookup_child().
+
+You should also set the corresponding time translation using
+ges_base_effect_set_time_translation_funcs().
+
+Note that @effect must not be part of a clip, nor can it have
+#GESTrackElement:has-internal-source set to %TRUE.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="203">%TRUE if the child property was found and newly registered.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="189">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ <parameter name="child_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="190">The name of the child property to register as
+a time property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_time_translation_funcs"
+ c:identifier="ges_base_effect_set_time_translation_funcs"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="257">Set the time translation query functions for the time effect. If an
+effect is a time effect, it will have two sets of coordinates: one
+at its sink and one at its source. The given functions should be able
+to translate between these two sets of coordinates. More specifically,
+@source_to_sink_func should *emulate* how the corresponding #GstElement
+would translate the #GstSegment @time field, and @sink_to_source_func
+should emulate how the corresponding #GstElement would translate the
+seek query @start and @stop values, as used in gst_element_seek(). As
+such, @sink_to_source_func should act as an approximate reverse of
+@source_to_sink_func.
+
+Note, these functions will be passed a table of time properties, as
+registered in ges_base_effect_register_time_property(), and their
+values. The functions should emulate what the translation *would* be
+*if* the time properties were set to the given values. They should not
+use the currently set values.
+
+Note that @effect must not be part of a clip, nor can it have
+#GESTrackElement:has-internal-source set to %TRUE.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="291">%TRUE if the translation functions were set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="259">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ <parameter name="source_to_sink_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="260">The function to use
+for querying how a time is translated from the source coordinates to
+the sink coordinates of @effect</doc>
+ <type name="BaseEffectTimeTranslationFunc"
+ c:type="GESBaseEffectTimeTranslationFunc"/>
+ </parameter>
+ <parameter name="sink_to_source_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="263">The function to use
+for querying how a time is translated from the sink coordinates to the
+source coordinates of @effect</doc>
+ <type name="BaseEffectTimeTranslationFunc"
+ c:type="GESBaseEffectTimeTranslationFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="266">Data to pass to both @source_to_sink_func and
+@sink_to_source_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="async"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="268">Method to call to destroy
+@user_data, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
<field name="parent" readable="0" private="1">
<type name="Operation" c:type="GESOperation"/>
</field>
@@ -903,7 +1465,7 @@ raw audio caps ("audio/x-raw");</doc>
<type name="BaseEffectPrivate" c:type="GESBaseEffectPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -911,12 +1473,15 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseEffectClass"
c:type="GESBaseEffectClass"
glib:is-gtype-struct-for="BaseEffect">
+ <source-position filename="ges/ges-base-effect.h" line="57"/>
<field name="parent_class" readable="0" private="1">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="46">parent class</doc>
<type name="OperationClass" c:type="GESOperationClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -929,8 +1494,21 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESBaseEffectClip"
glib:get-type="ges_base_effect_clip_get_type"
glib:type-struct="BaseEffectClipClass">
- <doc xml:space="preserve">The effect will be applied on the sources that have lower priorities
-(higher number) between the inpoint and the end of it.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect-clip.c"
+ line="20">#GESBaseEffectClip-s are clips whose core elements are
+#GESBaseEffect-s.
+
+## Effects
+
+#GESBaseEffectClip-s can have **additional** #GESBaseEffect-s added as
+non-core elements. These additional effects are applied to the output
+of the core effects of the clip that they share a #GESTrack with. See
+#GESClip for how to add and move these effects from the clip.
+
+Note that you cannot add time effects to #GESBaseEffectClip, neither
+as core children, nor as additional effects.</doc>
+ <source-position filename="ges/ges-base-effect-clip.h" line="54"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -940,7 +1518,7 @@ raw audio caps ("audio/x-raw");</doc>
<type name="BaseEffectClipPrivate" c:type="GESBaseEffectClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -948,11 +1526,12 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseEffectClipClass"
c:type="GESBaseEffectClipClass"
glib:is-gtype-struct-for="BaseEffectClip">
+ <source-position filename="ges/ges-base-effect-clip.h" line="54"/>
<field name="parent_class" readable="0" private="1">
<type name="OperationClipClass" c:type="GESOperationClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -960,11 +1539,66 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseEffectClipPrivate"
c:type="GESBaseEffectClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-base-effect-clip.h" line="28"/>
</record>
<record name="BaseEffectPrivate"
c:type="GESBaseEffectPrivate"
disguised="1">
+ <source-position filename="ges/ges-base-effect.h" line="29"/>
</record>
+ <callback name="BaseEffectTimeTranslationFunc"
+ c:type="GESBaseEffectTimeTranslationFunc"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="59">A function for querying how an effect would translate a time if it had
+the given child property values set. The keys for @time_properties will
+be the same string that was passed to
+ges_base_effect_register_time_property(), the values will be #GValue*
+values of the corresponding child properties. You should always use the
+values given in @time_properties before using the currently set values.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="74">The translated time.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="61">The #GESBaseEffect that is doing the time translation</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="62">The #GstClockTime to translation</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="time_property_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="63">A table of child
+property name/value pairs</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="65">Data passed to ges_base_effect_set_time_translation_funcs()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
<class name="BaseTransitionClip"
c:symbol-prefix="base_transition_clip"
c:type="GESBaseTransitionClip"
@@ -973,6 +1607,7 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESBaseTransitionClip"
glib:get-type="ges_base_transition_clip_get_type"
glib:type-struct="BaseTransitionClipClass">
+ <source-position filename="ges/ges-base-transition-clip.h" line="58"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -983,7 +1618,7 @@ raw audio caps ("audio/x-raw");</doc>
c:type="GESBaseTransitionClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -991,11 +1626,12 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseTransitionClipClass"
c:type="GESBaseTransitionClipClass"
glib:is-gtype-struct-for="BaseTransitionClip">
+ <source-position filename="ges/ges-base-transition-clip.h" line="58"/>
<field name="parent_class" readable="0" private="1">
<type name="OperationClipClass" c:type="GESOperationClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -1003,6 +1639,7 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseTransitionClipPrivate"
c:type="GESBaseTransitionClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-base-transition-clip.h" line="31"/>
</record>
<class name="BaseXmlFormatter"
c:symbol-prefix="base_xml_formatter"
@@ -1012,6 +1649,7 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESBaseXmlFormatter"
glib:get-type="ges_base_xml_formatter_get_type"
glib:type-struct="BaseXmlFormatterClass">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="60"/>
<implements name="Extractable"/>
<field name="parent">
<type name="Formatter" c:type="GESFormatter"/>
@@ -1020,8 +1658,11 @@ raw audio caps ("audio/x-raw");</doc>
<type name="BaseXmlFormatterPrivate"
c:type="GESBaseXmlFormatterPrivate*"/>
</field>
+ <field name="xmlcontent" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -1029,6 +1670,7 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseXmlFormatterClass"
c:type="GESBaseXmlFormatterClass"
glib:is-gtype-struct-for="BaseXmlFormatter">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="60"/>
<field name="parent">
<type name="FormatterClass" c:type="GESFormatterClass"/>
</field>
@@ -1037,6 +1679,7 @@ raw audio caps ("audio/x-raw");</doc>
</field>
<field name="save">
<callback name="save" throws="1">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="57"/>
<return-value transfer-ownership="full">
<type name="GLib.String" c:type="GString*"/>
</return-value>
@@ -1051,7 +1694,7 @@ raw audio caps ("audio/x-raw");</doc>
</callback>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -1059,8 +1702,60 @@ raw audio caps ("audio/x-raw");</doc>
<record name="BaseXmlFormatterPrivate"
c:type="GESBaseXmlFormatterPrivate"
disguised="1">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="30"/>
</record>
+ <function-macro name="CLIP_CLASS_CAN_ADD_EFFECTS"
+ c:identifier="GES_CLIP_CLASS_CAN_ADD_EFFECTS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="35">Whether the class allows for the user to add additional non-core
+#GESBaseEffect-s to clips from this class.</doc>
+ <source-position filename="ges/ges-clip.h" line="42"/>
+ <parameters>
+ <parameter name="klass">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="37">A #GESClipClass</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTAINER_CHILDREN"
+ c:identifier="GES_CONTAINER_CHILDREN"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="57">The #GList containing the children of @obj.</doc>
+ <source-position filename="ges/ges-container.h" line="63"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="59">a #GESContainer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTAINER_HEIGHT"
+ c:identifier="GES_CONTAINER_HEIGHT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="49">The #GESContainer:height of @obj.</doc>
+ <source-position filename="ges/ges-container.h" line="55"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="51">a #GESContainer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
<enumeration name="ChildrenControlMode" c:type="GESChildrenControlMode">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="34">To be used by subclasses only. This indicate how to handle a change in
+a child.</doc>
+ <source-position filename="ges/ges-container.h" line="47"/>
<member name="update" value="0" c:identifier="GES_CHILDREN_UPDATE">
</member>
<member name="ignore_notifies"
@@ -1086,188 +1781,780 @@ raw audio caps ("audio/x-raw");</doc>
glib:type-name="GESClip"
glib:get-type="ges_clip_get_type"
glib:type-struct="ClipClass">
- <doc xml:space="preserve">A #GESClip is a 'natural' object which controls one or more
-#GESTrackElement(s) in one or more #GESTrack(s).
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="23">#GESClip-s are the core objects of a #GESLayer. Each clip may exist in
+a single layer but may control several #GESTrackElement-s that span
+several #GESTrack-s. A clip will ensure that all its children share the
+same #GESTimelineElement:start and #GESTimelineElement:duration in
+their tracks, which will match the #GESTimelineElement:start and
+#GESTimelineElement:duration of the clip itself. Therefore, changing
+the timing of the clip will change the timing of the children, and a
+change in the timing of a child will change the timing of the clip and
+subsequently all its siblings. As such, a clip can be treated as a
+singular object in its layer.
+
+For most uses of a #GESTimeline, it is often sufficient to only
+interact with #GESClip-s directly, which will take care of creating and
+organising the elements of the timeline's tracks.
+
+## Core Children
-Keeps a reference to the #GESTrackElement(s) it created and
-sets/updates their properties.</doc>
+In more detail, clips will usually have some *core* #GESTrackElement
+children, which are created by the clip when it is added to a layer in
+a timeline. The type and form of these core children will depend on the
+clip's subclass. You can use ges_track_element_is_core() to determine
+whether a track element is considered such a core track element. Note,
+if a core track element is part of a clip, it will always be treated as
+a core *child* of the clip. You can connect to the
+#GESContainer::child-added signal to be notified of their creation.
+
+When a child is added to a clip, the timeline will select its tracks
+using #GESTimeline::select-tracks-for-object. Note that it may be the
+case that the child will still have no set #GESTrackElement:track
+after this process. For example, if the timeline does not have a track
+of the corresponding #GESTrack:track-type. A clip can safely contain
+such children, which may have their track set later, although they will
+play no functioning role in the timeline in the meantime.
+
+If a clip may create track elements with various
+#GESTrackElement:track-type(s), such as a #GESUriClip, but you only
+want it to create a subset of these types, you should set the
+#GESClip:supported-formats of the clip to the subset of types. This
+should be done *before* adding the clip to a layer.
+
+If a clip will produce several core elements of the same
+#GESTrackElement:track-type, you should connect to the timeline's
+#GESTimeline::select-tracks-for-object signal to coordinate which
+tracks each element should land in. Note, no two core children within a
+clip can share the same #GESTrack, so you should not select the same
+track for two separate core children. Provided you stick to this rule,
+it is still safe to select several tracks for the same core child, the
+core child will be copied into the additional tracks. You can manually
+add the child to more tracks later using ges_clip_add_child_to_track().
+If you do not wish to use a core child, you can always select no track.
+
+The #GESTimelineElement:in-point of the clip will control the
+#GESTimelineElement:in-point of its core children to be the same
+value if their #GESTrackElement:has-internal-source is set to %TRUE.
+
+The #GESTimelineElement:max-duration of the clip is the minimum
+#GESTimelineElement:max-duration of its core children. If you set its
+value to anything other than its current value, this will also set the
+#GESTimelineElement:max-duration of all its core children to the same
+value if their #GESTrackElement:has-internal-source is set to %TRUE.
+As a special case, whilst a clip does not yet have any core children,
+its #GESTimelineElement:max-duration may be set to indicate what its
+value will be once they are created.
+
+## Effects
+
+Some subclasses (#GESSourceClip and #GESBaseEffectClip) may also allow
+their objects to have additional non-core #GESBaseEffect-s elements as
+children. These are additional effects that are applied to the output
+data of the core elements. They can be added to the clip using
+ges_clip_add_top_effect(), which will take care of adding the effect to
+the timeline's tracks. The new effect will be placed between the clip's
+core track elements and its other effects. As such, the newly added
+effect will be applied to any source data **before** the other existing
+effects. You can change the ordering of effects using
+ges_clip_set_top_effect_index().
+
+Tracks are selected for top effects in the same way as core children.
+If you add a top effect to a clip before it is part of a timeline, and
+later add the clip to a timeline, the track selection for the top
+effects will occur just after the track selection for the core
+children. If you add a top effect to a clip that is already part of a
+timeline, the track selection will occur immediately. Since a top
+effect must be applied on top of a core child, if you use
+#GESTimeline::select-tracks-for-object, you should ensure that the
+added effects are destined for a #GESTrack that already contains a core
+child.
+
+In addition, if the core child in the track is not
+#GESTrackElement:active, then neither can any of its effects be
+#GESTrackElement:active. Therefore, if a core child is made in-active,
+all of the additional effects in the same track will also become
+in-active. Similarly, if an effect is set to be active, then the core
+child will also become active, but other effects will be left alone.
+Finally, if an active effect is added to the track of an in-active core
+child, it will become in-active as well. Note, in contrast, setting a
+core child to be active, or an effect to be in-active will *not* change
+the other children in the same track.
+
+### Time Effects
+
+Some effects also change the timing of their data (see #GESBaseEffect
+for what counts as a time effect). Note that a #GESBaseEffectClip will
+refuse time effects, but a #GESSource will allow them.
+
+When added to a clip, time effects may adjust the timing of other
+children in the same track. Similarly, when changing the order of
+effects, making them (in)-active, setting their time property values
+or removing time effects. These can cause the #GESClip:duration-limit
+to change in value. However, if such an operation would ever cause the
+#GESTimelineElement:duration to shrink such that a clip's #GESSource is
+totally overlapped in the timeline, the operation would be prevented.
+Note that the same can happen when adding non-time effects with a
+finite #GESTimelineElement:max-duration.
+
+Therefore, when working with time effects, you should -- more so than
+usual -- not assume that setting the properties of the clip's children
+will succeed. In particular, you should use
+ges_timeline_element_set_child_property_full() when setting the time
+properties.
+
+If you wish to preserve the *internal* duration of a source in a clip
+during these time effect operations, you can do something like the
+following.
+
+```c
+void
+do_time_effect_change (GESClip * clip)
+{
+ GList *tmp, *children;
+ GESTrackElement *source;
+ GstClockTime source_outpoint;
+ GstClockTime new_end;
+ GError *error = NULL;
+
+ // choose some active source in a track to preserve the internal
+ // duration of
+ source = ges_clip_get_track_element (clip, NULL, GES_TYPE_SOURCE);
+
+ // note its current internal end time
+ source_outpoint = ges_clip_get_internal_time_from_timeline_time (
+ clip, source, GES_TIMELINE_ELEMENT_END (clip), NULL);
+
+ // handle invalid out-point
+
+ // stop the children's control sources from clamping when their
+ // out-point changes with a change in the time effects
+ children = ges_container_get_children (GES_CONTAINER (clip), FALSE);
+
+ for (tmp = children; tmp; tmp = tmp-&gt;next)
+ ges_track_element_set_auto_clamp_control_source (tmp-&gt;data, FALSE);
+
+ // add time effect, or set their children properties, or move them around
+ ...
+ // user can make sure that if a time effect changes one source, we should
+ // also change the time effect for another source. E.g. if
+ // "GstVideorate::rate" is set to 2.0, we also set "GstPitch::rate" to
+ // 2.0
+
+ // Note the duration of the clip may have already changed if the
+ // duration-limit of the clip dropped below its current value
+
+ new_end = ges_clip_get_timeline_time_from_internal_time (
+ clip, source, source_outpoint, &amp;error);
+ // handle error
+
+ if (!ges_timeline_elemnet_edit_full (GES_TIMELINE_ELEMENT (clip),
+ -1, GES_EDIT_MODE_TRIM, GES_EDGE_END, new_end, &amp;error))
+ // handle error
+
+ for (tmp = children; tmp; tmp = tmp-&gt;next)
+ ges_track_element_set_auto_clamp_control_source (tmp-&gt;data, TRUE);
+
+ g_list_free_full (children, gst_object_unref);
+ gst_object_unref (source);
+}
+```</doc>
+ <source-position filename="ges/ges-clip.h" line="140"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
- <virtual-method name="create_track_element" introspectable="0">
- <return-value>
- <doc xml:space="preserve">the #GESTrackElement to be used, or %NULL if it can't provide one
-for the given @track.</doc>
+ <virtual-method name="create_track_element">
+ <source-position filename="ges/ges-clip.h" line="78"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="74">The #GESTrackElement created
+by @clip, or %NULL if @clip can not provide a track element for the
+given @type or an error occurred.</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="65">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="66">A #GESTrackType to create a #GESTrackElement for</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="create_track_elements" introspectable="0">
- <return-value>
- <doc xml:space="preserve">%TRUE on success %FALSE on failure.</doc>
+ <virtual-method name="create_track_elements">
+ <source-position filename="ges/ges-clip.h" line="92"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="88">A list of
+the #GESTrackElement-s created by @clip for the given @type, or %NULL
+if no track elements are created or an error occurred.</doc>
<type name="GLib.List" c:type="GList*">
- <type name="gpointer" c:type="gpointer"/>
+ <type name="TrackElement"/>
</type>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="82">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="83">A #GESTrackType to create #GESTrackElement-s for</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_asset" c:identifier="ges_clip_add_asset">
- <doc xml:space="preserve">Extracts a #GESTrackElement from @asset and adds it to the @clip.
-Should only be called in order to add operations to a #GESClip,
-ni other cases TrackElement are added automatically when adding the
-#GESClip/#GESAsset to a layer.
-
-Takes a reference on @track_element.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3588">Extracts a #GESTrackElement from an asset and adds it to the clip.
+This can be used to add effects that derive from the asset to the
+clip, but this method is not intended to be used to create the core
+elements of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="151"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">Created #GESTrackElement or NULL
-if an error happened</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3599">The newly created element, or
+%NULL if an error occurred.</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3590">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">a #GESAsset with #GES_TYPE_TRACK_ELEMENT as extractable_type</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3591">An asset with #GES_TYPE_TRACK_ELEMENT as its
+#GESAsset:extractable-type</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
</method>
+ <method name="add_child_to_track"
+ c:identifier="ges_clip_add_child_to_track"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4389">Adds the track element child of the clip to a specific track.
+
+If the given child is already in another track, this will create a copy
+of the child, add it to the clip, and add this copy to the track.
+
+You should only call this whilst a clip is part of a #GESTimeline, and
+for tracks that are in the same timeline.
+
+This method is an alternative to using the
+#GESTimeline::select-tracks-for-object signal, but can be used to
+complement it when, say, you wish to copy a clip's children from one
+track into a new one.
+
+When the child is a core child, it must be added to a track that does
+not already contain another core child of the same clip. If it is not a
+core child (an additional effect), then it must be added to a track
+that already contains one of the core children of the same clip.
+
+This method can also fail if the adding the track element to the track
+would break a configuration rule of the corresponding #GESTimeline,
+such as causing three sources to overlap at a single time, or causing
+a source to completely overlap another in the same track.</doc>
+ <source-position filename="ges/ges-clip.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4419">The element that was added to @track, either
+@child or a copy of child, or %NULL if the element could not be added.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4391">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4392">A child of @clip</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4393">The track to add @child to</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_top_effect"
+ c:identifier="ges_clip_add_top_effect"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2997">Add a top effect to a clip at the given index.
+
+Unlike using ges_container_add(), this allows you to set the index
+in advance. It will also check that no error occurred during the track
+selection for the effect.
+
+Note, only subclasses of #GESClipClass that have
+#GES_CLIP_CLASS_CAN_ADD_EFFECTS set to %TRUE (such as #GESSourceClip
+and #GESBaseEffectClip) can have additional top effects added.
+
+Note, if the effect is a time effect, this may be refused if the clip
+would not be able to adapt itself once the effect is added.</doc>
+ <source-position filename="ges/ges-clip.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3017">%TRUE if @effect was successfully added to @clip at @index.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2999">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3000">A top effect to add</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3001">The index to add @effect at, or -1 to add at the highest</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="find_track_element"
c:identifier="ges_clip_find_track_element">
- <doc xml:space="preserve">Finds the #GESTrackElement controlled by @clip that is used in @track. You
-may optionally specify a GType to further narrow search criteria.
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2899">Finds an element controlled by the clip. If @track is given,
+then only the track elements in @track are searched for. If @type is
+given, then this function searches for a track element of the given
+@type.
-Note: If many objects match, then the one with the highest priority will be
-returned.</doc>
+Note, if multiple track elements in the clip match the given criteria,
+this will return the element amongst them with the highest
+#GESTimelineElement:priority (numerically, the smallest). See
+ges_clip_find_track_elements() if you wish to find all such elements.</doc>
+ <source-position filename="ges/ges-clip.h" line="154"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The #GESTrackElement used by @track,
-else %NULL. Unref after usage</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2917">The element controlled by
+@clip, in @track, and of the given @type, or %NULL if no such element
+could be found.</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2901">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="track"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">a #GESTrack or NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2902">The track to search in, or %NULL to search in
+all tracks</doc>
<type name="Track" c:type="GESTrack*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType indicating the type of track element you are looking
-for or %G_TYPE_NONE if you do not care about the track type.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2904">The type of track element to search for, or `G_TYPE_NONE` to
+match any type</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="find_track_elements"
c:identifier="ges_clip_find_track_elements">
- <doc xml:space="preserve">Finds all the #GESTrackElement controlled by @clip that is used in @track. You
-may optionally specify a GType to further narrow search criteria.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3622">Finds the #GESTrackElement-s controlled by the clip that match the
+given criteria. If @track is given as %NULL and @track_type is given as
+#GES_TRACK_TYPE_UNKNOWN, then the search will match all elements in any
+track, including those with no track, and of any
+#GESTrackElement:track-type. Otherwise, if @track is not %NULL, but
+@track_type is #GES_TRACK_TYPE_UNKNOWN, then only the track elements in
+@track are searched for. Otherwise, if @track_type is not
+#GES_TRACK_TYPE_UNKNOWN, but @track is %NULL, then only the track
+elements whose #GESTrackElement:track-type matches @track_type are
+searched for. Otherwise, when both are given, the track elements that
+match **either** criteria are searched for. Therefore, if you wish to
+only find elements in a specific track, you should give the track as
+@track, but you should not give the track's #GESTrack:track-type as
+@track_type because this would also select elements from other tracks
+of the same type.
+
+You may also give @type to _further_ restrict the search to track
+elements of the given @type.</doc>
+ <source-position filename="ges/ges-clip.h" line="158"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList of the
-#GESTrackElement contained in @clip.
-The refcount of the objects will be increased. The user will have to
-unref each #GESTrackElement and free the #GList.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3651">A list of all
+the #GESTrackElement-s controlled by @clip, in @track or of the given
+@track_type, and of the given @type.</doc>
<type name="GLib.List" c:type="GList*">
<type name="TrackElement"/>
</type>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3624">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="track"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">a #GESTrack or NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3625">The track to search in, or %NULL to search in
+all tracks</doc>
<type name="Track" c:type="GESTrack*"/>
</parameter>
<parameter name="track_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackType indicating the type of tracks in which elements
-should be searched.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3627">The track-type of the track element to search for, or
+#GES_TRACK_TYPE_UNKNOWN to match any track type</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType indicating the type of track element you are looking
-for or %G_TYPE_NONE if you do not care about the track type.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3629">The type of track element to search for, or %G_TYPE_NONE to
+match any type</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
+ <method name="get_duration_limit"
+ c:identifier="ges_clip_get_duration_limit"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2969">Gets the #GESClip:duration-limit of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2975">The duration-limit of @clip.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2971">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_internal_time_from_timeline_time"
+ c:identifier="ges_clip_get_internal_time_from_timeline_time"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4102">Convert the timeline time to an internal source time of the child.
+This will take any time effects placed on the clip into account (see
+#GESBaseEffect for what time effects are supported, and how to
+declare them in GES).
+
+When @timeline_time is above the #GESTimelineElement:start of @clip,
+this will return the internal time at which the content that appears at
+@timeline_time in the output of the timeline is created in @child. For
+example, if @timeline_time corresponds to the current seek position,
+this would let you know which part of a media file is being read.
+
+This will be done assuming the clip has an indefinite end, so the
+internal time may be beyond the current out-point of the child, or even
+its #GESTimelineElement:max-duration.
+
+If, instead, @timeline_time is below the current
+#GESTimelineElement:start of @clip, this will return what you would
+need to set the #GESTimelineElement:in-point of @child to if you set
+the #GESTimelineElement:start of @clip to @timeline_time and wanted
+to keep the content of @child currently found at the current
+#GESTimelineElement:start of @clip at the same timeline position. If
+this would be negative, the conversion fails. This is useful for
+determining what #GESTimelineElement:in-point would result from a
+#GES_EDIT_MODE_TRIM to @timeline_time.
+
+Note that whilst a clip has no time effects, this second return is
+equivalent to finding the internal time at which the content that
+appears at @timeline_time in the timeline can be found in @child if it
+had indefinite extent in both directions. However, with non-linear time
+effects this second return will be more distinct.
+
+In either case, the returned time would be appropriate to use for the
+#GESTimelineElement:in-point or #GESTimelineElement:max-duration of the
+child.
+
+See ges_clip_get_timeline_time_from_internal_time(), which performs the
+reverse.</doc>
+ <source-position filename="ges/ges-clip.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4148">The time in the internal coordinates of @child corresponding
+to @timeline_time, or #GST_CLOCK_TIME_NONE if the conversion could not
+be performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4104">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4105">An #GESTrackElement:active child of @clip with a
+#GESTrackElement:track</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="timeline_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4107">A time in the timeline time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_layer" c:identifier="ges_clip_get_layer">
- <doc xml:space="preserve">Get the #GESLayer to which this clip belongs.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2949">Gets the #GESClip:layer of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="173"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The #GESLayer where this @clip is being
-used, or %NULL if it is not used on any layer. The caller should unref it
-usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2955">The layer @clip is in, or %NULL if
+@clip is not in any layer.</doc>
<type name="Layer" c:type="GESLayer*"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2951">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_supported_formats"
c:identifier="ges_clip_get_supported_formats">
- <doc xml:space="preserve">Get the formats supported by @clip.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The formats supported by @clip.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3572">Gets the #GESClip:supported-formats of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3578">The #GESTrackType-s supported by @clip.</doc>
<type name="TrackType" c:type="GESTrackType"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3574">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
</parameters>
</method>
+ <method name="get_timeline_time_from_internal_time"
+ c:identifier="ges_clip_get_timeline_time_from_internal_time"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3951">Convert the internal source time from the child to a timeline time.
+This will take any time effects placed on the clip into account (see
+#GESBaseEffect for what time effects are supported, and how to
+declare them in GES).
+
+When @internal_time is above the #GESTimelineElement:in-point of
+@child, this will return the timeline time at which the internal
+content found at @internal_time appears in the output of the timeline's
+track. For example, this would let you know where in the timeline a
+particular scene in a media file would appear.
+
+This will be done assuming the clip has an indefinite end, so the
+timeline time may be beyond the end of the clip, or even breaking its
+#GESClip:duration-limit.
+
+If, instead, @internal_time is below the current
+#GESTimelineElement:in-point of @child, this will return what you would
+need to set the #GESTimelineElement:start of @clip to if you set the
+#GESTimelineElement:in-point of @child to @internal_time and wanted to
+keep the content of @child currently found at the current
+#GESTimelineElement:start of @clip at the same timeline position. If
+this would be negative, the conversion fails. This is useful for
+determining what position to use in a #GES_EDIT_MODE_TRIM if you wish
+to trim to a specific point in the internal content, such as a
+particular scene in a media file.
+
+Note that whilst a clip has no time effects, this second return is
+equivalent to finding the timeline time at which the content of @child
+at @internal_time would be found in the timeline if it had indefinite
+extent in both directions. However, with non-linear time effects this
+second return will be more distinct.
+
+In either case, the returned time would be appropriate to use in
+ges_timeline_element_edit() for #GES_EDIT_MODE_TRIM, and similar, if
+you wish to use a particular internal point as a reference. For
+example, you could choose to end a clip at a certain internal
+'out-point', similar to the #GESTimelineElement:in-point, by
+translating the desired end time into the timeline coordinates, and
+using this position to trim the end of a clip.
+
+See ges_clip_get_internal_time_from_timeline_time(), which performs the
+reverse, or ges_clip_get_timeline_time_from_source_frame() which does
+the same conversion, but using frame numbers.</doc>
+ <source-position filename="ges/ges-clip.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4003">The time in the timeline coordinates corresponding to
+@internal_time, or #GST_CLOCK_TIME_NONE if the conversion could not be
+performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3953">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3954">An #GESTrackElement:active child of @clip with a
+#GESTrackElement:track</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="internal_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3956">A time in the internal time coordinates of @child</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline_time_from_source_frame"
+ c:identifier="ges_clip_get_timeline_time_from_source_frame"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4335">Convert the source frame number to a timeline time. This acts the same
+as ges_clip_get_timeline_time_from_internal_time() using the core
+children of the clip and using the frame number to specify the internal
+position, rather than a timestamp.
+
+The returned timeline time can be used to seek or edit to a specific
+frame.
+
+Note that you can get the frame timestamp of a particular clip asset
+with ges_clip_asset_get_frame_time().</doc>
+ <source-position filename="ges/ges-clip.h" line="238"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4353">The timestamp corresponding to @frame_number in the core
+children of @clip, in the timeline coordinates, or #GST_CLOCK_TIME_NONE
+if the conversion could not be performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4337">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4338">The frame number to get the corresponding timestamp of
+in the timeline coordinates</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_top_effect_index"
c:identifier="ges_clip_get_top_effect_index">
- <doc xml:space="preserve">Gets the index position of an effect.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The top index of the effect, -1 if something went wrong.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3167">Gets the internal index of an effect in the clip. The index of effects
+in a clip will run from 0 to n-1, where n is the total number of
+effects. If two effects share the same #GESTrackElement:track, the
+effect with the numerically lower index will be applied to the source
+data **after** the other effect, i.e. output data will always flow from
+a higher index effect to a lower index effect.</doc>
+ <source-position filename="ges/ges-clip.h" line="200"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3179">The index of @effect in @clip, or -1 if something went wrong.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3169">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="effect" transfer-ownership="none">
- <doc xml:space="preserve">The #GESBaseEffect we want to get the top index from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3170">The effect we want to get the index of</doc>
<type name="BaseEffect" c:type="GESBaseEffect*"/>
</parameter>
</parameters>
</method>
<method name="get_top_effect_position"
c:identifier="ges_clip_get_top_effect_position">
+ <source-position filename="ges/ges-clip.h" line="197"/>
<return-value transfer-ownership="none">
<type name="gint" c:type="gint"/>
</return-value>
@@ -1281,83 +2568,220 @@ usage.</doc>
</parameters>
</method>
<method name="get_top_effects" c:identifier="ges_clip_get_top_effects">
- <doc xml:space="preserve">Get effects applied on @clip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3136">Gets the #GESBaseEffect-s that have been added to the clip. The
+returned list is ordered by their internal index in the clip. See
+ges_clip_get_top_effect_index().</doc>
+ <source-position filename="ges/ges-clip.h" line="195"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList of the
-#GESBaseEffect that are applied on @clip order by ascendant priorities.
-The refcount of the objects will be increased. The user will have to
-unref each #GESBaseEffect and free the #GList.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3144">A list of all
+#GESBaseEffect-s that have been added to @clip.</doc>
<type name="GLib.List" c:type="GList*">
<type name="TrackElement"/>
</type>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3138">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="move_to_layer" c:identifier="ges_clip_move_to_layer">
- <doc xml:space="preserve">Moves @clip to @layer. If @clip is not in any layer, it adds it to
-@layer, else, it removes it from its current layer, and adds it to @layer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @clip could be moved %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2884">See ges_clip_move_to_layer_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-clip.h" line="175"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2891">%TRUE if @clip was successfully moved to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2886">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2887">The new layer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="move_to_layer_full"
+ c:identifier="ges_clip_move_to_layer_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2800">Moves a clip to a new layer. If the clip already exists in a layer, it
+is first removed from its current layer before being added to the new
+layer.</doc>
+ <source-position filename="ges/ges-clip.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2810">%TRUE if @clip was successfully moved to @layer.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2802">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">the new #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2803">The new layer</doc>
<type name="Layer" c:type="GESLayer*"/>
</parameter>
</parameters>
</method>
+ <method name="remove_top_effect"
+ c:identifier="ges_clip_remove_top_effect"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3101">Remove a top effect from the clip.
+
+Note, if the effect is a time effect, this may be refused if the clip
+would not be able to adapt itself once the effect is removed.</doc>
+ <source-position filename="ges/ges-clip.h" line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3112">%TRUE if @effect was successfully added to @clip at @index.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3103">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3104">The top effect to remove</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="set_supported_formats"
c:identifier="ges_clip_set_supported_formats">
- <doc xml:space="preserve">Sets the formats supported by the file.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3555">Sets the #GESClip:supported-formats of the clip. This should normally
+only be called by subclasses, which should be responsible for updating
+its value, rather than the user.</doc>
+ <source-position filename="ges/ges-clip.h" line="148"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to set supported formats on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3557">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="supportedformats" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackType defining formats supported by @clip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3558">The #GESTrackType-s supported by @clip</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</method>
<method name="set_top_effect_index"
c:identifier="ges_clip_set_top_effect_index">
- <doc xml:space="preserve">This is a convenience method that lets you set the index of a top effect.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @effect was successfuly moved, %FALSE otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3321">See ges_clip_set_top_effect_index_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-clip.h" line="207"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3329">%TRUE if @effect was successfully moved to @newindex.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3323">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="effect" transfer-ownership="none">
- <doc xml:space="preserve">The #GESBaseEffect to move</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3324">An effect within @clip to move</doc>
<type name="BaseEffect" c:type="GESBaseEffect*"/>
</parameter>
<parameter name="newindex" transfer-ownership="none">
- <doc xml:space="preserve">the new index at which to move the @effect inside this
-#GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3325">The index for @effect in @clip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_index_full"
+ c:identifier="ges_clip_set_top_effect_index_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3214">Set the index of an effect within the clip. See
+ges_clip_get_top_effect_index(). The new index must be an existing
+index of the clip. The effect is moved to the new index, and the other
+effects may be shifted in index accordingly to otherwise maintain the
+ordering.</doc>
+ <source-position filename="ges/ges-clip.h" line="211"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3227">%TRUE if @effect was successfully moved to @newindex.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3216">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3217">An effect within @clip to move</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newindex" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3218">The index for @effect in @clip</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_top_effect_priority"
c:identifier="ges_clip_set_top_effect_priority">
+ <source-position filename="ges/ges-clip.h" line="203"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -1374,49 +2798,128 @@ unref each #GESBaseEffect and free the #GList.</doc>
</parameters>
</method>
<method name="split" c:identifier="ges_clip_split">
- <doc xml:space="preserve">The function modifies @clip, and creates another #GESClip so we have two
-clips at the end, splitted at the time specified by @position, as a position
-in the timeline (not in the clip to be split). For example, if
-ges_clip_split is called on a 4-second clip playing from 0:01.00 until
-0:05.00, with a split position of 0:02.00, this will result in one clip of 1
-second and one clip of 3 seconds, not in two clips of 2 seconds.
-
-The newly created clip will be added to the same layer as @clip is in. This
-implies that @clip must be in a #GESLayer for the operation to be possible.
-
-This method supports clips playing at a different tempo than one second per
-second. For example, splitting a clip with a #GESEffect 'pitch tempo=1.5'
-four seconds after it starts, will set the inpoint of the new clip to six
-seconds after that of the clip to split. For this, the rate-changing
-property must be registered using @ges_effect_class_register_rate_property;
-for the 'pitch' plugin, this is already done.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3539">See ges_clip_split_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-clip.h" line="220"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESClip resulting
-from the splitting or %NULL if the clip can't be split.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3546">The newly created clip resulting
+from the splitting @clip, or %NULL if @clip can't be split.</doc>
<type name="Clip" c:type="GESClip*"/>
</return-value>
<parameters>
<instance-parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to split</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3541">The #GESClip to split</doc>
<type name="Clip" c:type="GESClip*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">a #GstClockTime representing the timeline position at which to split</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3542">The timeline position at which to perform the split</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</method>
+ <method name="split_full"
+ c:identifier="ges_clip_split_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3338">Splits a clip at the given timeline position into two clips. The clip
+must already have a #GESClip:layer.
+
+The original clip's #GESTimelineElement:duration is reduced such that
+its end point matches the split position. Then a new clip is created in
+the same layer, whose #GESTimelineElement:start matches the split
+position and #GESTimelineElement:duration will be set such that its end
+point matches the old end point of the original clip. Thus, the two
+clips together will occupy the same positions in the timeline as the
+original clip did.
+
+The children of the new clip will be new copies of the original clip's
+children, so it will share the same sources and use the same
+operations.
+
+The new clip will also have its #GESTimelineElement:in-point set so
+that any internal data will appear in the timeline at the same time.
+Thus, when the timeline is played, the playback of data should
+appear the same. This may be complicated by any additional
+#GESEffect-s that have been placed on the original clip that depend on
+the playback time or change the data consumption rate of sources. This
+method will attempt to translate these effects such that the playback
+appears the same. In such complex situations, you may get a better
+result if you place the clip in a separate sub #GESProject, which only
+contains this clip (and its effects), and in the original layer
+create two neighbouring #GESUriClip-s that reference this sub-project,
+but at a different #GESTimelineElement:in-point.</doc>
+ <source-position filename="ges/ges-clip.h" line="223"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3373">The newly created clip resulting
+from the splitting @clip, or %NULL if @clip can't be split.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3340">The #GESClip to split</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3341">The timeline position at which to perform the split, between
+the start and end of the clip</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="duration-limit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2576">The maximum #GESTimelineElement:duration that can be *currently* set
+for the clip, taking into account the #GESTimelineElement:in-point,
+#GESTimelineElement:max-duration, #GESTrackElement:active, and
+#GESTrackElement:track properties of its children, as well as any
+time effects. If there is no limit, this will be set to
+#GST_CLOCK_TIME_NONE.
+
+Note that whilst a clip has no children in any tracks, the limit will
+be unknown, and similarly set to #GST_CLOCK_TIME_NONE.
+
+If the duration-limit would ever go below the current
+#GESTimelineElement:duration of the clip due to a change in the above
+variables, its #GESTimelineElement:duration will be set to the new
+limit.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
<property name="layer" transfer-ownership="none">
- <doc xml:space="preserve">The GESLayer where this clip is being used. If you want to connect to its
-notify signal you should connect to it with g_signal_connect_after as the
-signal emission can be stop in the first fase.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2561">The layer this clip lies in.
+
+If you want to connect to this property's #GObject::notify signal,
+you should connect to it with g_signal_connect_after() since the
+signal emission may be stopped internally.</doc>
<type name="Layer"/>
</property>
<property name="supported-formats"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The formats supported by the clip.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2545">The #GESTrackType-s that the clip supports, which it can create
+#GESTrackElement-s for. Note that this can be a combination of
+#GESTrackType flags to indicate support for several
+#GESTrackElement:track-type elements.</doc>
<type name="TrackType"/>
</property>
<field name="parent">
@@ -1426,7 +2929,7 @@ signal emission can be stop in the first fase.</doc>
<type name="ClipPrivate" c:type="GESClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
+ <array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -1438,40 +2941,150 @@ signal emission can be stop in the first fase.</doc>
glib:type-name="GESClipAsset"
glib:get-type="ges_clip_asset_get_type"
glib:type-struct="ClipAssetClass">
- <doc xml:space="preserve">The #GESUriClipAsset is a special #GESAsset specilized in #GESClip.
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="20">The #GESUriClipAsset is a special #GESAsset specilized in #GESClip.
it is mostly used to get information about the #GESTrackType-s the objects extracted
from it can potentialy create #GESTrackElement for.</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="51"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
+ <virtual-method name="get_natural_framerate"
+ invoker="get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="178">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="180">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="181">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="182">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_frame_time"
+ c:identifier="ges_clip_asset_get_frame_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="205">Converts the given frame number into a timestamp, using the "natural" frame
+rate of the asset.
+
+You can use this to reference a specific frame in a media file and use this
+as, for example, the `in-point` or `max-duration` of a #GESClip.</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="216">The timestamp corresponding to @frame_number in the element source, given
+in internal time coordinates, or #GST_CLOCK_TIME_NONE if the clip asset does not have a
+natural frame rate.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="207">The object for which to compute timestamp for specifed frame</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="208">The frame number we want the internal time coordinate timestamp of</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_natural_framerate"
+ c:identifier="ges_clip_asset_get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="178">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="180">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="181">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="182">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_supported_formats"
c:identifier="ges_clip_asset_get_supported_formats">
- <doc xml:space="preserve">Gets track types for which objects extracted from @self can create #GESTrackElement</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The track types on which @self will create TrackElement when added to
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="161">Gets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="167">The track types on which @self will create TrackElement when added to
a layer</doc>
<type name="TrackType" c:type="GESTrackType"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="163">a #GESClipAsset</doc>
<type name="ClipAsset" c:type="GESClipAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_supported_formats"
c:identifier="ges_clip_asset_set_supported_formats">
- <doc xml:space="preserve">Sets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="145">Sets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="54"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="147">a #GESClipAsset</doc>
<type name="ClipAsset" c:type="GESClipAsset*"/>
</instance-parameter>
<parameter name="supportedformats" transfer-ownership="none">
- <doc xml:space="preserve">The track types supported by the GESClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="148">The track types supported by the GESClipAsset</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
@@ -1480,7 +3093,9 @@ a layer</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The formats supported by the asset.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="126">The formats supported by the asset.</doc>
<type name="TrackType"/>
</property>
<field name="parent">
@@ -1490,7 +3105,7 @@ a layer</doc>
<type name="ClipAssetPrivate" c:type="GESClipAssetPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -1498,42 +3113,92 @@ a layer</doc>
<record name="ClipAssetClass"
c:type="GESClipAssetClass"
glib:is-gtype-struct-for="ClipAsset">
+ <source-position filename="ges/ges-clip-asset.h" line="51"/>
<field name="parent">
<type name="AssetClass" c:type="GESAssetClass"/>
</field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="ges/ges-clip-asset.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="180">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="181">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="182">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="ClipAssetPrivate" c:type="GESClipAssetPrivate" disguised="1">
+ <source-position filename="ges/ges-clip-asset.h" line="32"/>
</record>
<record name="ClipClass"
c:type="GESClipClass"
glib:is-gtype-struct-for="Clip">
- <doc xml:space="preserve">Subclasses can override the @create_track_element.</doc>
+ <source-position filename="ges/ges-clip.h" line="140"/>
<field name="parent_class" readable="0" private="1">
<type name="ContainerClass" c:type="GESContainerClass"/>
</field>
- <field name="create_track_element" introspectable="0">
- <doc xml:space="preserve">method to create a single #GESTrackElement for a given #GESTrack.</doc>
+ <field name="create_track_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="110">Method to create the core #GESTrackElement of
+a clip of this class. If a clip of this class may create several track
+elements per track type, this should be left as %NULL, and
+create_track_elements() should be used instead. Otherwise, you should
+implement this class method and leave create_track_elements() as the
+default implementation</doc>
<type name="CreateTrackElementFunc"
c:type="GESCreateTrackElementFunc"/>
</field>
- <field name="create_track_elements" introspectable="0">
- <doc xml:space="preserve">method to create multiple #GESTrackElements for a
-#GESTrack.</doc>
+ <field name="create_track_elements">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="116">Method to create the (multiple) core
+#GESTrackElement-s of a clip of this class. If create_track_element()
+is implemented, this should be kept as the default implementation</doc>
<type name="CreateTrackElementsFunc"
c:type="GESCreateTrackElementsFunc"/>
</field>
- <field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="ges/ges-clip.h" line="139"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="ges/ges-clip.h" line="138"/>
+ <field name="can_add_effects" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ </union>
</record>
<record name="ClipPrivate" c:type="GESClipPrivate" disguised="1">
+ <source-position filename="ges/ges-clip.h" line="33"/>
</record>
<class name="CommandLineFormatter"
c:symbol-prefix="command_line_formatter"
@@ -1542,9 +3207,12 @@ a layer</doc>
glib:type-name="GESCommandLineFormatter"
glib:get-type="ges_command_line_formatter_get_type"
glib:type-struct="CommandLineFormatterClass">
+ <source-position filename="ges/ges-command-line-formatter.h" line="37"/>
<implements name="Extractable"/>
<function name="get_help"
c:identifier="ges_command_line_formatter_get_help">
+ <source-position filename="ges/ges-command-line-formatter.h"
+ line="47"/>
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
@@ -1568,6 +3236,7 @@ a layer</doc>
<record name="CommandLineFormatterClass"
c:type="GESCommandLineFormatterClass"
glib:is-gtype-struct-for="CommandLineFormatter">
+ <source-position filename="ges/ges-command-line-formatter.h" line="37"/>
<field name="parent_class">
<type name="FormatterClass" c:type="GESFormatterClass"/>
</field>
@@ -1575,6 +3244,7 @@ a layer</doc>
<record name="CommandLineFormatterPrivate"
c:type="GESCommandLineFormatterPrivate"
disguised="1">
+ <source-position filename="ges/ges-command-line-formatter.h" line="32"/>
</record>
<class name="Container"
c:symbol-prefix="container"
@@ -1584,19 +3254,39 @@ a layer</doc>
glib:type-name="GESContainer"
glib:get-type="ges_container_get_type"
glib:type-struct="ContainerClass">
- <doc xml:space="preserve">The #GESContainer base class.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="21">A #GESContainer is a timeline element that controls other
+#GESTimelineElement-s, which are its children. In particular, it is
+responsible for maintaining the relative #GESTimelineElement:start and
+#GESTimelineElement:duration times of its children. Therefore, if a
+container is temporally adjusted or moved to a new layer, it may
+accordingly adjust and move its children. Similarly, a change in one of
+its children may prompt the parent to correspondingly change its
+siblings.</doc>
+ <source-position filename="ges/ges-container.h" line="137"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<function name="group" c:identifier="ges_container_group">
- <doc xml:space="preserve">Groups the #GESContainer-s provided in @containers. It creates a subclass
-of #GESContainer, depending on the containers provided in @containers.
-Basically, if all the containers in @containers should be contained in a same
-clip (all the #GESTrackElement they contain have the exact same
-start/inpoint/duration and are in the same layer), it will create a #GESClip
-otherwise a #GESGroup will be created</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The #GESContainer (subclass) resulting of the
-grouping</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="987">Groups the containers into a single container by merging them. The
+containers must all belong to the same #GESTimelineElement:timeline.
+
+If the elements are all #GESClip-s then this method will attempt to
+combine them all into a single #GESClip. This should succeed if they:
+share the same #GESTimelineElement:start, #GESTimelineElement:duration
+and #GESTimelineElement:in-point; exist in the same layer; and all of
+the sources share the same #GESAsset. If this fails, or one of the
+elements is not a #GESClip, this method will try to create a #GESGroup
+instead.</doc>
+ <source-position filename="ges/ges-container.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1003">The container created by merging
+@containers, or %NULL if they could not be merged into a single
+container.</doc>
<type name="Container" c:type="GESContainer*"/>
</return-value>
<parameters>
@@ -1604,8 +3294,10 @@ grouping</doc>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The
-#GESContainer to group, they must all be in a same #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="989">
+The #GESContainer-s to group</doc>
<type name="GLib.List" c:type="GList*">
<type name="Container"/>
</type>
@@ -1613,6 +3305,7 @@ grouping</doc>
</parameters>
</function>
<virtual-method name="add_child">
+ <source-position filename="ges/ges-container.h" line="118"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -1626,6 +3319,7 @@ grouping</doc>
</parameters>
</virtual-method>
<virtual-method name="child_added">
+ <source-position filename="ges/ges-container.h" line="116"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -1639,6 +3333,7 @@ grouping</doc>
</parameters>
</virtual-method>
<virtual-method name="child_removed">
+ <source-position filename="ges/ges-container.h" line="117"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -1651,48 +3346,71 @@ grouping</doc>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="edit" invoker="edit">
- <doc xml:space="preserve">Edit @container in the different exisiting #GESEditMode modes. In the case of
-slide, and roll, you need to specify a #GESEdge</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the container as been edited properly, %FALSE if an error
-occured</doc>
+ <virtual-method name="edit"
+ invoker="edit"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1062">Edits the container within its timeline.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="ges/ges-container.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1077">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to edit</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1064">The #GESContainer to edit</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
- <parameter name="layers" transfer-ownership="none">
- <doc xml:space="preserve">The layers you want the edit to
- happen in, %NULL means that the edition is done in all the
- #GESLayers contained in the current timeline.</doc>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1065">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
<type name="GLib.List" c:type="GList*">
<type name="Layer"/>
</type>
</parameter>
<parameter name="new_layer_priority" transfer-ownership="none">
- <doc xml:space="preserve">The priority of the layer @container should land in.
- If the layer you're trying to move the container to doesn't exist, it will
- be created automatically. -1 means no move.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1068">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEditMode in which the editition will happen.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1070">The edit mode</doc>
<type name="EditMode" c:type="GESEditMode"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEdge the edit should happen on.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1071">The edge of @container where the edit should occur</doc>
<type name="Edge" c:type="GESEdge"/>
</parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The position at which to edit @container (in nanosecond)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1072">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="remove_child">
+ <source-position filename="ges/ges-container.h" line="119"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -1706,166 +3424,265 @@ occured</doc>
</parameters>
</virtual-method>
<virtual-method name="ungroup" invoker="ungroup">
- <doc xml:space="preserve">Ungroups the #GESTimelineElement contained in this GESContainer,
-creating new #GESContainer containing those #GESTimelineElement
-apropriately.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="948">Ungroups the container by splitting it into several containers
+containing various children of the original. The rules for how the
+container splits depends on the subclass. A #GESGroup will simply split
+into its children. A #GESClip will split into one #GESClip per
+#GESTrackType it overlaps with (so an audio-video clip will split into
+an audio clip and a video clip), where each clip contains all the
+#GESTrackElement-s from the original clip with a matching
+#GESTrackElement:track-type.
+
+If @recursive is %TRUE, and the container contains other containers as
+children, then they will also be ungrouped, and so on.</doc>
+ <source-position filename="ges/ges-container.h" line="120"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The list of
-#GESContainer resulting from the ungrouping operation
-The user is responsible for unreffing the contained objects
-and freeing the list.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="965">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Container"/>
</type>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="full">
- <doc xml:space="preserve">The #GESContainer to ungroup</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="950">The container to ungroup</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
<parameter name="recursive" transfer-ownership="none">
- <doc xml:space="preserve">Wether to recursively ungroup @container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="951">Whether to recursively ungroup @container</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<method name="add" c:identifier="ges_container_add">
- <doc xml:space="preserve">Add the #GESTimelineElement to the container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE on failure.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="706">Adds a timeline element to the container. The element will now be a
+child of the container (and the container will be the
+#GESTimelineElement:parent of the added element), which means that it
+is now controlled by the container. This may change the properties of
+the child or the container, depending on the subclass.
+
+Additionally, the children properties of the newly added element will
+be shared with the container, meaning they can also be read and set
+using ges_timeline_element_get_child_property() and
+ges_timeline_element_set_child_property() on the container.</doc>
+ <source-position filename="ges/ges-container.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="722">%TRUE if @child was successfully added to @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">a #GESContainer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="708">A #GESContainer</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
<parameter name="child" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="709">The element to add as a child</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
</parameters>
</method>
- <method name="edit" c:identifier="ges_container_edit">
- <doc xml:space="preserve">Edit @container in the different exisiting #GESEditMode modes. In the case of
-slide, and roll, you need to specify a #GESEdge</doc>
+ <method name="edit"
+ c:identifier="ges_container_edit"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1062">Edits the container within its timeline.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="ges/ges-container.h" line="152"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the container as been edited properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1077">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to edit</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1064">The #GESContainer to edit</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
- <parameter name="layers" transfer-ownership="none">
- <doc xml:space="preserve">The layers you want the edit to
- happen in, %NULL means that the edition is done in all the
- #GESLayers contained in the current timeline.</doc>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1065">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
<type name="GLib.List" c:type="GList*">
<type name="Layer"/>
</type>
</parameter>
<parameter name="new_layer_priority" transfer-ownership="none">
- <doc xml:space="preserve">The priority of the layer @container should land in.
- If the layer you're trying to move the container to doesn't exist, it will
- be created automatically. -1 means no move.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1068">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEditMode in which the editition will happen.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1070">The edit mode</doc>
<type name="EditMode" c:type="GESEditMode"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEdge the edit should happen on.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1071">The edge of @container where the edit should occur</doc>
<type name="Edge" c:type="GESEdge"/>
</parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The position at which to edit @container (in nanosecond)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1072">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</method>
<method name="get_children" c:identifier="ges_container_get_children">
- <doc xml:space="preserve">Get the list of #GESTimelineElement contained in @container
-The user is responsible for unreffing the contained objects
-and freeing the list.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="920">Get the list of timeline elements contained in the container. If
+@recursive is %TRUE, and the container contains other containers as
+children, then their children will be added to the list, in addition to
+themselves, and so on.</doc>
+ <source-position filename="ges/ges-container.h" line="141"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The list of
-timeline element contained in @container.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="930">The list of
+#GESTimelineElement-s contained in @container.</doc>
<type name="GLib.List" c:type="GList*">
<type name="TimelineElement"/>
</type>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">a #GESContainer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="922">A #GESContainer</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
<parameter name="recursive" transfer-ownership="none">
- <doc xml:space="preserve">Whether to recursively get children in @container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="923">Whether to recursively get children in @container</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="remove" c:identifier="ges_container_remove">
- <doc xml:space="preserve">Release the @child from the control of @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the @child was properly released, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="818">Removes a timeline element from the container. The element will no
+longer be controlled by the container.</doc>
+ <source-position filename="ges/ges-container.h" line="145"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="826">%TRUE if @child was successfully removed from @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">a #GESContainer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="820">A #GESContainer</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
<parameter name="child" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTimelineElement to release</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="821">The child to remove</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
</parameters>
</method>
<method name="ungroup" c:identifier="ges_container_ungroup">
- <doc xml:space="preserve">Ungroups the #GESTimelineElement contained in this GESContainer,
-creating new #GESContainer containing those #GESTimelineElement
-apropriately.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="948">Ungroups the container by splitting it into several containers
+containing various children of the original. The rules for how the
+container splits depends on the subclass. A #GESGroup will simply split
+into its children. A #GESClip will split into one #GESClip per
+#GESTrackType it overlaps with (so an audio-video clip will split into
+an audio clip and a video clip), where each clip contains all the
+#GESTrackElement-s from the original clip with a matching
+#GESTrackElement:track-type.
+
+If @recursive is %TRUE, and the container contains other containers as
+children, then they will also be ungrouped, and so on.</doc>
+ <source-position filename="ges/ges-container.h" line="147"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The list of
-#GESContainer resulting from the ungrouping operation
-The user is responsible for unreffing the contained objects
-and freeing the list.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="965">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Container"/>
</type>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="full">
- <doc xml:space="preserve">The #GESContainer to ungroup</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="950">The container to ungroup</doc>
<type name="Container" c:type="GESContainer*"/>
</instance-parameter>
<parameter name="recursive" transfer-ownership="none">
- <doc xml:space="preserve">Wether to recursively ungroup @container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="951">Whether to recursively ungroup @container</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="height" transfer-ownership="none">
- <doc xml:space="preserve">The span of priorities which this container occupies.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="472">The span of the container's children's #GESTimelineElement:priority
+values, which is the number of integers that lie between (inclusive)
+the minimum and maximum priorities found amongst the container's
+children (maximum - minimum + 1).</doc>
<type name="guint" c:type="guint"/>
</property>
<field name="parent">
<type name="TimelineElement" c:type="GESTimelineElement"/>
</field>
<field name="children">
- <doc xml:space="preserve">A list of TimelineElement
-controlled by this Container. NOTE: Do not modify.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="67">The list of
+#GESTimelineElement-s controlled by this Container</doc>
<type name="GLib.List" c:type="GList*">
<type name="TimelineElement"/>
</type>
</field>
<field name="height">
- <doc xml:space="preserve">The span of priorities this container occupies</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="69">The #GESContainer:height of @obj</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="children_control_mode">
@@ -1878,33 +3695,40 @@ controlled by this Container. NOTE: Do not modify.</doc>
<type name="ContainerPrivate" c:type="GESContainerPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
+ <array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="child-added" when="first">
- <doc xml:space="preserve">Will be emitted after a child was added to @container.
-Usually you should connect with #g_signal_connect_after
-as in the first emission stage, the signal emission might
-get stopped internally.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="486">Will be emitted after a child is added to the container. Usually,
+you should connect with g_signal_connect_after() since the signal
+may be stopped internally.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTimelineElement that was added.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="489">The child that was added</doc>
<type name="TimelineElement"/>
</parameter>
</parameters>
</glib:signal>
- <glib:signal name="child-removed" when="first">
- <doc xml:space="preserve">Will be emitted after a child was removed from @container.</doc>
+ <glib:signal name="child-removed" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="500">Will be emitted after a child is removed from the container.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="element" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTimelineElement that was removed.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="503">The child that was removed</doc>
<type name="TimelineElement"/>
</parameter>
</parameters>
@@ -1913,11 +3737,13 @@ get stopped internally.</doc>
<record name="ContainerClass"
c:type="GESContainerClass"
glib:is-gtype-struct-for="Container">
+ <source-position filename="ges/ges-container.h" line="137"/>
<field name="parent_class" readable="0" private="1">
<type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
</field>
<field name="child_added">
<callback name="child_added">
+ <source-position filename="ges/ges-container.h" line="116"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -1933,6 +3759,7 @@ get stopped internally.</doc>
</field>
<field name="child_removed">
<callback name="child_removed">
+ <source-position filename="ges/ges-container.h" line="117"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -1948,6 +3775,7 @@ get stopped internally.</doc>
</field>
<field name="add_child">
<callback name="add_child">
+ <source-position filename="ges/ges-container.h" line="118"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -1963,6 +3791,7 @@ get stopped internally.</doc>
</field>
<field name="remove_child">
<callback name="remove_child">
+ <source-position filename="ges/ges-container.h" line="119"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -1978,22 +3807,27 @@ get stopped internally.</doc>
</field>
<field name="ungroup">
<callback name="ungroup">
+ <source-position filename="ges/ges-container.h" line="120"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The list of
-#GESContainer resulting from the ungrouping operation
-The user is responsible for unreffing the contained objects
-and freeing the list.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="965">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Container"/>
</type>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="full">
- <doc xml:space="preserve">The #GESContainer to ungroup</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="950">The container to ungroup</doc>
<type name="Container" c:type="GESContainer*"/>
</parameter>
<parameter name="recursive" transfer-ownership="none">
- <doc xml:space="preserve">Wether to recursively ungroup @container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="951">Whether to recursively ungroup @container</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
@@ -2001,6 +3835,7 @@ and freeing the list.</doc>
</field>
<field name="group" introspectable="0">
<callback name="group" introspectable="0">
+ <source-position filename="ges/ges-container.h" line="121"/>
<return-value>
<type name="Container" c:type="GESContainer*"/>
</return-value>
@@ -2015,40 +3850,57 @@ and freeing the list.</doc>
</field>
<field name="edit">
<callback name="edit">
+ <source-position filename="ges/ges-container.h" line="124"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the container as been edited properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1077">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to edit</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1064">The #GESContainer to edit</doc>
<type name="Container" c:type="GESContainer*"/>
</parameter>
- <parameter name="layers" transfer-ownership="none">
- <doc xml:space="preserve">The layers you want the edit to
- happen in, %NULL means that the edition is done in all the
- #GESLayers contained in the current timeline.</doc>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1065">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
<type name="GLib.List" c:type="GList*">
<type name="Layer"/>
</type>
</parameter>
<parameter name="new_layer_priority" transfer-ownership="none">
- <doc xml:space="preserve">The priority of the layer @container should land in.
- If the layer you're trying to move the container to doesn't exist, it will
- be created automatically. -1 means no move.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1068">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="mode" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEditMode in which the editition will happen.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1070">The edit mode</doc>
<type name="EditMode" c:type="GESEditMode"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEdge the edit should happen on.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1071">The edge of @container where the edit should occur</doc>
<type name="Edge" c:type="GESEdge"/>
</parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The position at which to edit @container (in nanosecond)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1072">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -2058,165 +3910,496 @@ occured</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
+ <array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="ContainerPrivate" c:type="GESContainerPrivate" disguised="1">
+ <source-position filename="ges/ges-container.h" line="32"/>
</record>
<callback name="CreateElementForGapFunc"
c:type="GESCreateElementForGapFunc"
introspectable="0">
- <doc xml:space="preserve">A function that will be called to create the #GstElement that will be used
-as a source to fill the gaps in @track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="33">A function that creates a #GstElement that can be used as a source to
+fill the gaps of the track. A gap is a timeline region where the track
+has no #GESTrackElement sources.</doc>
+ <source-position filename="ges/ges-track.h" line="43"/>
<return-value>
- <doc xml:space="preserve">A #GstElement (must be a source) that will be used to
-fill the gaps (periods of time in @track that containes no source).</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="41">A source #GstElement to fill gaps in @track.</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
<parameters>
<parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="35">The #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</parameter>
</parameters>
</callback>
- <callback name="CreateTrackElementFunc"
- c:type="GESCreateTrackElementFunc"
- introspectable="0">
- <doc xml:space="preserve">Creates the 'primary' track element for this @clip.
-
-Subclasses should implement this method if they only provide a
-single #GESTrackElement per track.
-
-If the subclass needs to create more than one #GESTrackElement for a
-given track, then it should implement the 'create_track_elements'
-method instead.
+ <callback name="CreateTrackElementFunc" c:type="GESCreateTrackElementFunc">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="63">A method for creating the core #GESTrackElement of a clip, to be added
+to a #GESTrack of the given track type.
-The implementer of this function shall return the proper #GESTrackElement
-that should be controlled by @clip for the given @track.
-
-The returned #GESTrackElement will be automatically added to the list
-of objects controlled by the #GESClip.</doc>
- <return-value>
- <doc xml:space="preserve">the #GESTrackElement to be used, or %NULL if it can't provide one
-for the given @track.</doc>
+If a clip may produce several track elements per track type,
+#GESCreateTrackElementsFunc is more appropriate.</doc>
+ <source-position filename="ges/ges-clip.h" line="78"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="74">The #GESTrackElement created
+by @clip, or %NULL if @clip can not provide a track element for the
+given @type or an error occurred.</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</return-value>
<parameters>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="65">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="66">A #GESTrackType to create a #GESTrackElement for</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</callback>
<callback name="CreateTrackElementsFunc"
- c:type="GESCreateTrackElementsFunc"
- introspectable="0">
- <doc xml:space="preserve">Create all track elements this clip handles for this type of track.
-
-Subclasses should implement this method if they potentially need to
-return more than one #GESTrackElement(s) for a given #GESTrack.</doc>
- <return-value>
- <doc xml:space="preserve">%TRUE on success %FALSE on failure.</doc>
+ c:type="GESCreateTrackElementsFunc">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="80">A method for creating the core #GESTrackElement-s of a clip, to be
+added to #GESTrack-s of the given track type.</doc>
+ <source-position filename="ges/ges-clip.h" line="92"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="88">A list of
+the #GESTrackElement-s created by @clip for the given @type, or %NULL
+if no track elements are created or an error occurred.</doc>
<type name="GLib.List" c:type="GList*">
- <type name="gpointer" c:type="gpointer"/>
+ <type name="TrackElement"/>
</type>
</return-value>
<parameters>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">a #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="82">A #GESClip</doc>
<type name="Clip" c:type="GESClip*"/>
</parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="83">A #GESTrackType to create #GESTrackElement-s for</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</callback>
+ <function-macro name="DECLARE_TYPE"
+ c:identifier="GES_DECLARE_TYPE"
+ introspectable="0">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="ges/ges-types.h" line="237"/>
+ <parameters>
+ <parameter name="ObjName">
+ </parameter>
+ <parameter name="obj_name">
+ </parameter>
+ <parameter name="OBJ_NAME">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEPRECATED_FOR"
+ c:identifier="GES_DEPRECATED_FOR"
+ introspectable="0">
+ <source-position filename="ges/ges-prelude.h" line="35"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EXTRACTABLE_GET_INTERFACE"
+ c:identifier="GES_EXTRACTABLE_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="ges/ges-extractable.h" line="35"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
<enumeration name="Edge"
glib:type-name="GESEdge"
glib:get-type="ges_edge_get_type"
c:type="GESEdge">
- <doc xml:space="preserve">The edges of an object contain in a #GESTimeline or #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="542">The edges of an object contain in a #GESTimeline or #GESTrack</doc>
<member name="edge_start"
value="0"
c:identifier="GES_EDGE_START"
glib:nick="edge_start">
- <doc xml:space="preserve">Represents the start of an object.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="544">Represents the start of an object.</doc>
+ </member>
+ <member name="start"
+ value="0"
+ c:identifier="GES_EDGE_START"
+ glib:nick="start">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="544">Represents the start of an object.</doc>
</member>
<member name="edge_end"
value="1"
c:identifier="GES_EDGE_END"
glib:nick="edge_end">
- <doc xml:space="preserve">Represents the end of an object.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="545">Represents the end of an object.</doc>
+ </member>
+ <member name="end" value="1" c:identifier="GES_EDGE_END" glib:nick="end">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="545">Represents the end of an object.</doc>
</member>
<member name="edge_none"
value="2"
c:identifier="GES_EDGE_NONE"
glib:nick="edge_none">
- <doc xml:space="preserve">Represent the fact we are not workin with any edge of an
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="546">Represent the fact we are not working with any edge of an
object.</doc>
</member>
+ <member name="none"
+ value="2"
+ c:identifier="GES_EDGE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="546">Represent the fact we are not working with any edge of an
+ object.</doc>
+ </member>
+ <function name="name" c:identifier="ges_edge_name">
+ <source-position filename="ges/ges-enums.h" line="558"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="edge" transfer-ownership="none">
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ </parameters>
+ </function>
</enumeration>
<enumeration name="EditMode"
glib:type-name="GESEditMode"
glib:get-type="ges_edit_mode_get_type"
c:type="GESEditMode">
- <doc xml:space="preserve">You can also find more explanation about the behaviour of those modes at:
-&lt;ulink url="http://pitivi.org/manual/trimming.html"&gt; trim, ripple and roll&lt;/ulink&gt;
-and &lt;ulink url="http://pitivi.org/manual/usingclips.html"&gt;clip management&lt;/ulink&gt;.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="365">When a single timeline element is edited within its timeline at some
+position, using ges_timeline_element_edit(), depending on the edit
+mode, its #GESTimelineElement:start, #GESTimelineElement:duration or
+#GESTimelineElement:in-point will be adjusted accordingly. In addition,
+any clips may change #GESClip:layer.
+
+Each edit can be broken down into a combination of three basic edits:
+
++ MOVE: This moves the start of the element to the edit position.
++ START-TRIM: This cuts or grows the start of the element, whilst
+ maintaining the time at which its internal content appears in the
+ timeline data output. If the element is made shorter, the data that
+ appeared at the edit position will still appear in the timeline at
+ the same time. If the element is made longer, the data that appeared
+ at the previous start of the element will still appear in the
+ timeline at the same time.
++ END-TRIM: Similar to START-TRIM, but the end of the element is cut or
+ grown.
+
+In particular, when editing a #GESClip:
+
++ MOVE: This will set the #GESTimelineElement:start of the clip to the
+ edit position.
++ START-TRIM: This will set the #GESTimelineElement:start of the clip
+ to the edit position. To keep the end time the same, the
+ #GESTimelineElement:duration of the clip will be adjusted in the
+ opposite direction. In addition, the #GESTimelineElement:in-point of
+ the clip will be shifted such that the content that appeared at the
+ new or previous start time, whichever is latest, still appears at the
+ same timeline time. For example, if a frame appeared at the start of
+ the clip, and the start of the clip is reduced, the in-point of the
+ clip will also reduce such that the frame will appear later within
+ the clip, but at the same timeline position.
++ END-TRIM: This will set the #GESTimelineElement:duration of the clip
+ such that its end time will match the edit position.
+
+When editing a #GESGroup:
+
++ MOVE: This will set the #GESGroup:start of the clip to the edit
+ position by shifting all of its children by the same amount. So each
+ child will maintain their relative positions.
++ START-TRIM: If the group is made shorter, this will START-TRIM any
+ clips under the group that start after the edit position to the same
+ edit position. If the group is made longer, this will START-TRIM any
+ clip under the group whose start matches the start of the group to
+ the same edit position.
++ END-TRIM: If the group is made shorter, this will END-TRIM any clips
+ under the group that end after the edit position to the same edit
+ position. If the group is made longer, this will END-TRIM any clip
+ under the group whose end matches the end of the group to the same
+ edit position.
+
+When editing a #GESTrackElement, if it has a #GESClip parent, this
+will be edited instead. Otherwise it is edited in the same way as a
+#GESClip.
+
+The layer priority of a #GESGroup is the lowest layer priority of any
+#GESClip underneath it. When a group is edited to a new layer
+priority, it will shift all clips underneath it by the same amount,
+such that their relative layers stay the same.
+
+If the #GESTimeline has a #GESTimeline:snapping-distance, then snapping
+may occur for some of the edges of the **main** edited element:
+
++ MOVE: The start or end edge of *any* #GESSource under the element may
+ be snapped.
++ START-TRIM: The start edge of a #GESSource whose start edge touches
+ the start edge of the element may snap.
++ END-TRIM: The end edge of a #GESSource whose end edge touches the end
+ edge of the element may snap.
+
+These edges may snap with either the start or end edge of *any* other
+#GESSource in the timeline that is not also being moved by the element,
+including those in different layers, if they are within the
+#GESTimeline:snapping-distance. During an edit, only up to one snap can
+occur. This will shift the edit position such that the snapped edges
+will touch once the edit has completed.
+
+Note that snapping can cause an edit to fail where it would have
+otherwise succeeded because it may push the edit position such that the
+edit would result in an unsupported timeline configuration. Similarly,
+snapping can cause an edit to succeed where it would have otherwise
+failed.
+
+For example, in #GES_EDIT_MODE_RIPPLE acting on #GES_EDGE_NONE, the
+main element is the MOVED toplevel of the edited element. Any source
+under the main MOVED toplevel may have its start or end edge snapped.
+Note, these sources cannot snap with each other. The edit may also
+push other elements, but any sources under these elements cannot snap,
+nor can they be snapped with. If a snap does occur, the MOVE of the
+toplevel *and* all other elements pushed by the ripple will be shifted
+by the same amount such that the snapped edges will touch.
+
+You can also find more explanation about the behaviour of those modes at:
+[trim, ripple and roll](http://pitivi.org/manual/trimming.html)
+and [clip management](http://pitivi.org/manual/usingclips.html).</doc>
<member name="edit_normal"
value="0"
c:identifier="GES_EDIT_MODE_NORMAL"
glib:nick="edit_normal">
- <doc xml:space="preserve">The object is edited the normal way (default).</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="367">The element is edited the normal way (default).
+ If acting on the element as a whole (#GES_EDGE_NONE), this will MOVE
+ the element by MOVING its toplevel. When acting on the start of the
+ element (#GES_EDGE_START), this will only MOVE the element, but not
+ its toplevel parent. This can allow you to move a #GESClip or
+ #GESGroup to a new start time or layer within its container group,
+ without effecting other members of the group. When acting on the end
+ of the element (#GES_EDGE_END), this will END-TRIM the element,
+ leaving its toplevel unchanged.</doc>
+ </member>
+ <member name="normal"
+ value="0"
+ c:identifier="GES_EDIT_MODE_NORMAL"
+ glib:nick="normal">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="367">The element is edited the normal way (default).
+ If acting on the element as a whole (#GES_EDGE_NONE), this will MOVE
+ the element by MOVING its toplevel. When acting on the start of the
+ element (#GES_EDGE_START), this will only MOVE the element, but not
+ its toplevel parent. This can allow you to move a #GESClip or
+ #GESGroup to a new start time or layer within its container group,
+ without effecting other members of the group. When acting on the end
+ of the element (#GES_EDGE_END), this will END-TRIM the element,
+ leaving its toplevel unchanged.</doc>
</member>
<member name="edit_ripple"
value="1"
c:identifier="GES_EDIT_MODE_RIPPLE"
glib:nick="edit_ripple">
- <doc xml:space="preserve">The objects are edited in ripple mode.
- The Ripple mode allows you to modify the beginning/end of a clip
- and move the neighbours accordingly. This will change the overall
- timeline duration. In the case of ripple end, the duration of the
- clip being rippled can't be superior to its max_duration - inpoint
- otherwise the action won't be executed.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="376">The element is edited in ripple mode: moving
+ itself as well as later elements, keeping their relative times. This
+ edits the element the same as #GES_EDIT_MODE_NORMAL. In addition, if
+ acting on the element as a whole, or the start of the element, any
+ toplevel element in the same timeline (including different layers)
+ whose start time is later than the *current* start time of the MOVED
+ element will also be MOVED by the same shift as the edited element.
+ If acting on the end of the element, any toplevel element whose start
+ time is later than the *current* end time of the edited element will
+ also be MOVED by the same shift as the change in the end of the
+ edited element. These additional elements will also be shifted by
+ the same shift in layers as the edited element.</doc>
+ </member>
+ <member name="ripple"
+ value="1"
+ c:identifier="GES_EDIT_MODE_RIPPLE"
+ glib:nick="ripple">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="376">The element is edited in ripple mode: moving
+ itself as well as later elements, keeping their relative times. This
+ edits the element the same as #GES_EDIT_MODE_NORMAL. In addition, if
+ acting on the element as a whole, or the start of the element, any
+ toplevel element in the same timeline (including different layers)
+ whose start time is later than the *current* start time of the MOVED
+ element will also be MOVED by the same shift as the edited element.
+ If acting on the end of the element, any toplevel element whose start
+ time is later than the *current* end time of the edited element will
+ also be MOVED by the same shift as the change in the end of the
+ edited element. These additional elements will also be shifted by
+ the same shift in layers as the edited element.</doc>
</member>
<member name="edit_roll"
value="2"
c:identifier="GES_EDIT_MODE_ROLL"
glib:nick="edit_roll">
- <doc xml:space="preserve">The object is edited in roll mode.
- The Roll mode allows you to modify the position of an editing point
- between two clips without modifying the inpoint of the first clip
- nor the out-point of the second clip. This will not change the
- overall timeline duration.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="388">The element is edited in roll mode: swapping its
+ content for its neighbour's, or vis versa, in the timeline output.
+ This edits the element the same as #GES_EDIT_MODE_TRIM. In addition,
+ any neighbours are also TRIMMED at their opposite edge to the same
+ timeline position. When acting on the start of the element, a
+ neighbour is any earlier element in the timeline whose end time
+ matches the *current* start time of the edited element. When acting on
+ the end of the element, a neighbour is any later element in the
+ timeline whose start time matches the *current* start time of the
+ edited element. In addition, a neighbour have a #GESSource at its
+ end/start edge that shares a track with a #GESSource at the start/end
+ edge of the edited element. Basically, a neighbour is an element that
+ can be extended, or cut, to have its content replace, or be replaced
+ by, the content of the edited element. Acting on the element as a
+ whole (#GES_EDGE_NONE) is not defined. The element can not shift
+ layers under this mode.</doc>
+ </member>
+ <member name="roll"
+ value="2"
+ c:identifier="GES_EDIT_MODE_ROLL"
+ glib:nick="roll">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="388">The element is edited in roll mode: swapping its
+ content for its neighbour's, or vis versa, in the timeline output.
+ This edits the element the same as #GES_EDIT_MODE_TRIM. In addition,
+ any neighbours are also TRIMMED at their opposite edge to the same
+ timeline position. When acting on the start of the element, a
+ neighbour is any earlier element in the timeline whose end time
+ matches the *current* start time of the edited element. When acting on
+ the end of the element, a neighbour is any later element in the
+ timeline whose start time matches the *current* start time of the
+ edited element. In addition, a neighbour have a #GESSource at its
+ end/start edge that shares a track with a #GESSource at the start/end
+ edge of the edited element. Basically, a neighbour is an element that
+ can be extended, or cut, to have its content replace, or be replaced
+ by, the content of the edited element. Acting on the element as a
+ whole (#GES_EDGE_NONE) is not defined. The element can not shift
+ layers under this mode.</doc>
</member>
<member name="edit_trim"
value="3"
c:identifier="GES_EDIT_MODE_TRIM"
glib:nick="edit_trim">
- <doc xml:space="preserve">The object is edited in trim mode.
- The Trim mode allows you to modify the in-point/duration of a clip
- without modifying its position in the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="404">The element is edited in trim mode. When acting
+ on the start of the element, this will START-TRIM it. When acting on
+ the end of the element, this will END-TRIM it. Acting on the element
+ as a whole (#GES_EDGE_NONE) is not defined.</doc>
+ </member>
+ <member name="trim"
+ value="3"
+ c:identifier="GES_EDIT_MODE_TRIM"
+ glib:nick="trim">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="404">The element is edited in trim mode. When acting
+ on the start of the element, this will START-TRIM it. When acting on
+ the end of the element, this will END-TRIM it. Acting on the element
+ as a whole (#GES_EDGE_NONE) is not defined.</doc>
</member>
<member name="edit_slide"
value="4"
c:identifier="GES_EDIT_MODE_SLIDE"
glib:nick="edit_slide">
- <doc xml:space="preserve">The object is edited in slide mode.
- The Slide mode allows you to modify the position of a clip in a
- timeline without modifying its duration or its in-point, but will
- modify the duration of the previous clip and in-point of the
- following clip so does not modify the overall timeline duration.
- (not implemented yet)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="408">The element is edited in slide mode (not yet
+ implemented): moving the element replacing or consuming content on
+ each end. When acting on the element as a whole, this will MOVE the
+ element, and TRIM any neighbours on either side. A neighbour is
+ defined in the same way as in #GES_EDIT_MODE_ROLL, but they may be on
+ either side of the edited elements. Elements at the end with be
+ START-TRIMMED to the new end position of the edited element. Elements
+ at the start will be END-TRIMMED to the new start position of the
+ edited element. Acting on the start or end of the element
+ (#GES_EDGE_START and #GES_EDGE_END) is not defined. The element can
+ not shift layers under this mode.</doc>
+ </member>
+ <member name="slide"
+ value="4"
+ c:identifier="GES_EDIT_MODE_SLIDE"
+ glib:nick="slide">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="408">The element is edited in slide mode (not yet
+ implemented): moving the element replacing or consuming content on
+ each end. When acting on the element as a whole, this will MOVE the
+ element, and TRIM any neighbours on either side. A neighbour is
+ defined in the same way as in #GES_EDIT_MODE_ROLL, but they may be on
+ either side of the edited elements. Elements at the end with be
+ START-TRIMMED to the new end position of the edited element. Elements
+ at the start will be END-TRIMMED to the new start position of the
+ edited element. Acting on the start or end of the element
+ (#GES_EDGE_START and #GES_EDGE_END) is not defined. The element can
+ not shift layers under this mode.</doc>
</member>
+ <function name="name" c:identifier="ges_edit_mode_name" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="525">Return a string representation of @mode.</doc>
+ <source-position filename="ges/ges-enums.h" line="535"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="531">a string representation of @mode.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="527">a #GESEditMode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ </parameters>
+ </function>
</enumeration>
<class name="Effect"
c:symbol-prefix="effect"
@@ -2225,23 +4408,41 @@ and &lt;ulink url="http://pitivi.org/manual/usingclips.html"&gt;clip management&
glib:type-name="GESEffect"
glib:get-type="ges_effect_get_type"
glib:type-struct="EffectClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="20">Currently we only support effects with N sinkpads and one single srcpad.
+Apart from `gesaudiomixer` and `gescompositor` which can be used as effects
+and where sinkpads will be requested as needed based on the timeline topology
+GES will always request at most one sinkpad per effect (when required).
+
+&gt; Note: GES always adds converters (`audioconvert ! audioresample !
+&gt; audioconvert` for audio effects and `videoconvert` for video effects) to
+&gt; make it simpler for end users.</doc>
+ <source-position filename="ges/ges-effect.h" line="59"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_effect_new">
- <doc xml:space="preserve">Creates a new #GESEffect from the description of the bin. It should be
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="353">Creates a new #GESEffect from the description of the bin. It should be
possible to determine the type of the effect through the element
'klass' metadata of the GstElements that will be created.
In that corner case, you should use:
#ges_asset_request (GES_TYPE_EFFECT, "audio your ! bin ! description", NULL);
and extract that asset to be in full control.</doc>
+ <source-position filename="ges/ges-effect.h" line="62"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a newly created #GESEffect, or %NULL if something went
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="364">a newly created #GESEffect, or %NULL if something went
wrong.</doc>
<type name="Effect" c:type="GESEffect*"/>
</return-value>
<parameters>
<parameter name="bin_description" transfer-ownership="none">
- <doc xml:space="preserve">The gst-launch like bin description of the effect</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="355">The gst-launch like bin description of the effect</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -2250,7 +4451,9 @@ wrong.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The description of the effect bin with a gst-launch-style
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="191">The description of the effect bin with a gst-launch-style
pipeline description.
Example: "videobalance saturation=1.5 hue=+0.5"</doc>
@@ -2263,7 +4466,7 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<type name="EffectPrivate" c:type="GESEffectPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -2275,6 +4478,11 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
glib:type-name="GESEffectAsset"
glib:get-type="ges_effect_asset_get_type"
glib:type-struct="EffectAssetClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-asset.c"
+ line="21">This asset has a GStreamer bin-description as ID and is able to determine
+to what track type the effect should be used in.</doc>
+ <source-position filename="ges/ges-effect-asset.h" line="36"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
@@ -2285,7 +4493,7 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<type name="EffectAssetPrivate" c:type="GESEffectAssetPrivate*"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -2293,12 +4501,13 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<record name="EffectAssetClass"
c:type="GESEffectAssetClass"
glib:is-gtype-struct-for="EffectAsset">
+ <source-position filename="ges/ges-effect-asset.h" line="36"/>
<field name="parent_class">
<type name="TrackElementAssetClass"
c:type="GESTrackElementAssetClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -2306,12 +4515,16 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<record name="EffectAssetPrivate"
c:type="GESEffectAssetPrivate"
disguised="1">
+ <source-position filename="ges/ges-effect-asset.h" line="29"/>
</record>
<record name="EffectClass"
c:type="GESEffectClass"
glib:is-gtype-struct-for="Effect">
+ <source-position filename="ges/ges-effect.h" line="59"/>
<field name="parent_class" readable="0" private="1">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.h"
+ line="46">parent class</doc>
<type name="BaseEffectClass" c:type="GESBaseEffectClass"/>
</field>
<field name="rate_properties" readable="0" private="1">
@@ -2320,38 +4533,65 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
</type>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="register_rate_property"
c:identifier="ges_effect_class_register_rate_property">
- <doc xml:space="preserve">Register an element that can change the rate at which media is playing. The
-property type must be float or double, and must be a factor of the rate,
-i.e. a value of 2.0 must mean that the media plays twice as fast. For
-example, this is true for the properties 'rate' and 'tempo' of the element
-'pitch', which is already registered by default. By registering the element,
-timeline duration can be correctly converted into media duration, allowing
-the right segment seeks to be sent to the sources.
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="383">Register an element that can change the rate at which media is playing.
+The property type must be float or double, and must be a factor of the
+rate, i.e. a value of 2.0 must mean that the media plays twice as fast.
+Several properties may be registered for a single element type,
+provided they all contribute to the rate as independent factors. For
+example, this is true for the "GstPitch::rate" and "GstPitch::tempo"
+properties. These are already registered by default in GES, along with
+#videorate:rate for #videorate and #scaletempo:rate for #scaletempo.
-A reference to the GESEffectClass can be obtained as follows:
- GES_EFFECT_CLASS (g_type_class_ref (GES_TYPE_EFFECT));</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether the rate property was succesfully registered. When this
-method returns false, a warning is emitted with more information.</doc>
+If such a rate property becomes a child property of a #GESEffect upon
+its creation (the element is part of its #GESEffect:bin-description),
+it will be automatically registered as a time property (see
+ges_base_effect_register_time_property()) and will have its time
+translation functions set (see
+ges_base_effect_set_time_translation_funcs()) to use the overall rate
+of the rate properties. Note that if an effect contains a rate
+property as well as a non-rate time property, you should ensure to set
+the time translation functions to some other methods using
+ges_base_effect_set_time_translation_funcs().
+
+Note, you can obtain a reference to the GESEffectClass using
+
+```
+ GES_EFFECT_CLASS (g_type_class_ref (GES_TYPE_EFFECT));
+```</doc>
+ <source-position filename="ges/ges-effect.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="416">%TRUE if the rate property was successfully registered. When
+this method returns %FALSE, a warning is emitted with more information.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="klass" transfer-ownership="none">
- <doc xml:space="preserve">Instance of the GESEffectClass</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="385">Instance of the GESEffectClass</doc>
<type name="EffectClass" c:type="GESEffectClass*"/>
</instance-parameter>
<parameter name="element_name" transfer-ownership="none">
- <doc xml:space="preserve">Name of the GstElement that changes the rate</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="386">The #GstElementFactory name of the element that changes
+the rate</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">Name of the property that changes the rate</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="388">The name of the property that changes the rate</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -2364,24 +4604,42 @@ method returns false, a warning is emitted with more information.</doc>
glib:type-name="GESEffectClip"
glib:get-type="ges_effect_clip_get_type"
glib:type-struct="EffectClipClass">
- <doc xml:space="preserve">The effect will be applied on the sources that have lower priorities
-(higher number) between the inpoint and the end of it.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="20">The effect will be applied on the sources that have lower priorities
+(higher number) between the inpoint and the end of it.
+
+The asset ID of an effect clip is in the form:
+
+```
+ "audio ! bin ! description || video ! bin ! description"
+```</doc>
+ <source-position filename="ges/ges-effect-clip.h" line="54"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_effect_clip_new">
- <doc xml:space="preserve">Creates a new #GESEffectClip from the description of the bin.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="252">Creates a new #GESEffectClip from the description of the bin.</doc>
+ <source-position filename="ges/ges-effect-clip.h" line="57"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a newly created #GESEffectClip, or
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="259">a newly created #GESEffectClip, or
%NULL if something went wrong.</doc>
<type name="EffectClip" c:type="GESEffectClip*"/>
</return-value>
<parameters>
<parameter name="video_bin_description" transfer-ownership="none">
- <doc xml:space="preserve">The gst-launch like bin description of the effect</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="254">The gst-launch like bin description of the effect</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="audio_bin_description" transfer-ownership="none">
- <doc xml:space="preserve">The gst-launch like bin description of the effect</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="255">The gst-launch like bin description of the effect</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -2390,7 +4648,9 @@ method returns false, a warning is emitted with more information.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The description of the audio track of the effect bin with a gst-launch-style
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="210">The description of the audio track of the effect bin with a gst-launch-style
pipeline description. This should be used for test purposes.
Example: "audiopanorama panorama=1.0"</doc>
@@ -2400,7 +4660,9 @@ Example: "audiopanorama panorama=1.0"</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The description of the video track of the effect bin with a gst-launch-style
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="196">The description of the video track of the effect bin with a gst-launch-style
pipeline description. This should be used for test purposes.
Example: "videobalance saturation=1.5 hue=+0.5"</doc>
@@ -2413,7 +4675,7 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<type name="EffectClipPrivate" c:type="GESEffectClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -2421,11 +4683,12 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<record name="EffectClipClass"
c:type="GESEffectClipClass"
glib:is-gtype-struct-for="EffectClip">
+ <source-position filename="ges/ges-effect-clip.h" line="54"/>
<field name="parent_class" readable="0" private="1">
<type name="BaseEffectClipClass" c:type="GESBaseEffectClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -2433,24 +4696,78 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
<record name="EffectClipPrivate"
c:type="GESEffectClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-effect-clip.h" line="28"/>
</record>
<record name="EffectPrivate" c:type="GESEffectPrivate" disguised="1">
+ <source-position filename="ges/ges-effect.h" line="28"/>
</record>
<enumeration name="Error" c:type="GESError">
+ <source-position filename="ges/ges-gerror.h" line="64"/>
<member name="asset_wrong_id"
value="0"
c:identifier="GES_ERROR_ASSET_WRONG_ID">
- <doc xml:space="preserve">The ID passed is malformed</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="38">The ID passed is malformed</doc>
</member>
<member name="asset_loading"
value="1"
c:identifier="GES_ERROR_ASSET_LOADING">
- <doc xml:space="preserve">An error happened while loading the asset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="39">An error happened while loading the asset</doc>
</member>
<member name="formatter_malformed_input_file"
value="2"
c:identifier="GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE">
- <doc xml:space="preserve">The formatted files was malformed</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="40">The formatted files was malformed</doc>
+ </member>
+ <member name="invalid_frame_number"
+ value="3"
+ c:identifier="GES_ERROR_INVALID_FRAME_NUMBER">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="41">The frame number is invalid</doc>
+ </member>
+ <member name="negative_layer"
+ value="4"
+ c:identifier="GES_ERROR_NEGATIVE_LAYER">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="42">The operation would lead to a negative
+#GES_TIMELINE_ELEMENT_LAYER_PRIORITY. (Since: 1.18)</doc>
+ </member>
+ <member name="negative_time"
+ value="5"
+ c:identifier="GES_ERROR_NEGATIVE_TIME">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="44">The operation would lead to a negative time.
+E.g. for the #GESTimelineElement:start #GESTimelineElement:duration or
+#GESTimelineElement:in-point. (Since: 1.18)</doc>
+ </member>
+ <member name="not_enough_internal_content"
+ value="6"
+ c:identifier="GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="47">Some #GESTimelineElement does
+not have a large enough #GESTimelineElement:max-duration to cover the
+desired operation. (Since: 1.18)</doc>
+ </member>
+ <member name="invalid_overlap_in_track"
+ value="7"
+ c:identifier="GES_ERROR_INVALID_OVERLAP_IN_TRACK">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="50">The operation would break one of
+the overlap conditions for the #GESTimeline. (Since: 1.18)</doc>
+ </member>
+ <member name="invalid_effect_bin_description"
+ value="8"
+ c:identifier="GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION">
</member>
</enumeration>
<interface name="Extractable"
@@ -2459,21 +4776,55 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
glib:type-name="GESExtractable"
glib:get-type="ges_extractable_get_type"
glib:type-struct="ExtractableInterface">
- <doc xml:space="preserve">FIXME: Long description needed</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="21">A #GObject that implements the #GESExtractable interface can be
+extracted from a #GESAsset using ges_asset_extract().
+
+Each extractable type will have its own way of interpreting the
+#GESAsset:id of an asset (or, if it is associated with a specific
+subclass of #GESAsset, the asset subclass may handle the
+interpretation of the #GESAsset:id). By default, the requested asset
+#GESAsset:id will be ignored by a #GESExtractable and will be set to
+the type name of the extractable instead. Also by default, when the
+requested asset is extracted, the returned object will simply be a
+newly created default object of that extractable type. You should check
+the documentation for each extractable type to see if they differ from
+the default.
+
+After the object is extracted, it will have a reference to the asset it
+came from, which you can retrieve using ges_extractable_get_asset().</doc>
+ <source-position filename="ges/ges-extractable.h" line="138"/>
<prerequisite name="GObject.InitiallyUnowned"/>
<virtual-method name="get_id" invoker="get_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="186">Gets the #GESAsset:id of some associated asset. It may be the case
+that the object has no set asset, or even that such an asset does not
+yet exist in the GES cache. Instead, this will return the asset
+#GESAsset:id that is _compatible_ with the current state of the object,
+as determined by the #GESExtractable implementer. If it was indeed
+extracted from an asset, this should return the same as its
+corresponding asset #GESAsset:id.</doc>
+ <source-position filename="ges/ges-extractable.h" line="128"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The #id of the associated #GESAsset, free with #g_free</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="198">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESExtractable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="188">A #GESExtractable</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="set_asset">
+ <source-position filename="ges/ges-extractable.h" line="119"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -2487,6 +4838,7 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
</parameters>
</virtual-method>
<virtual-method name="set_asset_full">
+ <source-position filename="ges/ges-extractable.h" line="122"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -2500,44 +4852,85 @@ Example: "videobalance saturation=1.5 hue=+0.5"</doc>
</parameters>
</virtual-method>
<method name="get_asset" c:identifier="ges_extractable_get_asset">
- <doc xml:space="preserve">Method for getting an asset from a #GESExtractable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="108">Get the asset that has been set on the extractable object.</doc>
+ <source-position filename="ges/ges-extractable.h" line="142"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The #GESAsset or %NULL if none has
-been set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="114">The asset set on @self, or %NULL
+if no asset has been set.</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESExtractable from which to retrieve a #GESAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="110">A #GESExtractable</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_id" c:identifier="ges_extractable_get_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="186">Gets the #GESAsset:id of some associated asset. It may be the case
+that the object has no set asset, or even that such an asset does not
+yet exist in the GES cache. Instead, this will return the asset
+#GESAsset:id that is _compatible_ with the current state of the object,
+as determined by the #GESExtractable implementer. If it was indeed
+extracted from an asset, this should return the same as its
+corresponding asset #GESAsset:id.</doc>
+ <source-position filename="ges/ges-extractable.h" line="148"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The #id of the associated #GESAsset, free with #g_free</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="198">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESExtractable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="188">A #GESExtractable</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_asset" c:identifier="ges_extractable_set_asset">
- <doc xml:space="preserve">Method to set the asset which instantiated the specified object</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @asset could be set %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="125">Sets the asset for this extractable object.
+
+When an object is extracted from an asset using ges_asset_extract() its
+asset will be automatically set. Note that many classes that implement
+#GESExtractable will automatically create their objects using assets
+when you call their @new methods. However, you can use this method to
+associate an object with a compatible asset if it was created by other
+means and does not yet have an asset. Or, for some implementations of
+#GESExtractable, you can use this to change the asset of the given
+extractable object, which will lead to a change in its state to
+match the new asset #GESAsset:id.</doc>
+ <source-position filename="ges/ges-extractable.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="142">%TRUE if @asset could be successfully set on @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">Target object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="127">A #GESExtractable</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</instance-parameter>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="128">The asset to set</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
@@ -2546,17 +4939,30 @@ been set</doc>
<callback name="ExtractableCheckId"
c:type="GESExtractableCheckId"
throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="39">Method for checking that an ID is valid for the given #GESExtractable
+type. If the given ID is considered valid, it can be adjusted into some
+standard and returned to prevent the creation of separate #GESAsset-s,
+with different #GESAsset:id, that would otherwise act the same.
+
+Returns (transfer full) (nullable): The actual #GESAsset:id to set on
+any corresponding assets, based on @id, or %NULL if @id is not valid.</doc>
+ <source-position filename="ges/ges-extractable.h" line="54"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The ID to use for the asset or %NULL if @id is not valid</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">The #GType to check @id for:</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="41">The #GESExtractable type to check @id for</doc>
<type name="GType" c:type="GType"/>
</parameter>
<parameter name="id" transfer-ownership="none">
- <doc xml:space="preserve">The id to check</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="42">The ID to check</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -2564,20 +4970,45 @@ been set</doc>
<record name="ExtractableInterface"
c:type="GESExtractableInterface"
glib:is-gtype-struct-for="Extractable">
+ <source-position filename="ges/ges-extractable.h" line="138"/>
<field name="parent">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="asset_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="59">The subclass type of #GESAsset that should be created when
+an asset with the corresponding #GESAsset:extractable-type is
+requested.</doc>
<type name="GType" c:type="GType"/>
</field>
<field name="check_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="62">The method to call to check whether a given ID is valid as
+an asset #GESAsset:id for the given #GESAsset:extractable-type. The
+returned ID is the actual #GESAsset:id that is set on the asset. The
+default implementation will simply always return the type name of the
+#GESAsset:extractable-type, even if the received ID is %NULL. As such,
+any given ID is considered valid (or is ignored), but only one is
+actually ever set on an asset, which means the given
+#GESAsset:extractable-type can only have one associated asset.</doc>
<type name="ExtractableCheckId" c:type="GESExtractableCheckId"/>
</field>
<field name="can_update_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="70">Whether an object of this class can have its
+#GESAsset change over its lifetime. This should be set to %TRUE if one
+of the object's parameters that is associated with its ID can change
+after construction, which would require an asset with a new ID. Note
+that the subclass is required to handle the requesting and setting of
+the new asset on the object.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="set_asset">
<callback name="set_asset">
+ <source-position filename="ges/ges-extractable.h" line="119"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -2593,6 +5024,7 @@ been set</doc>
</field>
<field name="set_asset_full">
<callback name="set_asset_full">
+ <source-position filename="ges/ges-extractable.h" line="122"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -2608,6 +5040,7 @@ been set</doc>
</field>
<field name="get_parameters_from_id" introspectable="0">
<callback name="get_parameters_from_id" introspectable="0">
+ <source-position filename="ges/ges-extractable.h" line="125"/>
<return-value>
<type name="GObject.Parameter" c:type="GParameter*"/>
</return-value>
@@ -2623,13 +5056,19 @@ been set</doc>
</field>
<field name="get_id">
<callback name="get_id">
+ <source-position filename="ges/ges-extractable.h" line="128"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The #id of the associated #GESAsset, free with #g_free</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="198">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESExtractable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="188">A #GESExtractable</doc>
<type name="Extractable" c:type="GESExtractable*"/>
</parameter>
</parameters>
@@ -2637,6 +5076,7 @@ been set</doc>
</field>
<field name="get_real_extractable_type">
<callback name="get_real_extractable_type">
+ <source-position filename="ges/ges-extractable.h" line="130"/>
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
@@ -2652,6 +5092,7 @@ been set</doc>
</field>
<field name="register_metas">
<callback name="register_metas">
+ <source-position filename="ges/ges-extractable.h" line="133"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -2670,32 +5111,68 @@ been set</doc>
</callback>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
- <callback name="FillTrackElementFunc" c:type="GESFillTrackElementFunc">
- <doc xml:space="preserve">A function that will be called when the GNonLin object of a corresponding
+ <function-macro name="FRAME_NUMBER_IS_VALID"
+ c:identifier="GES_FRAME_NUMBER_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-types.h"
+ line="60">Tests if a given GESFrameNumber represents a valid frame</doc>
+ <source-position filename="ges/ges-types.h" line="64"/>
+ <parameters>
+ <parameter name="frames">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="FRAME_NUMBER_NONE"
+ value="9223372036854775807"
+ c:type="GES_FRAME_NUMBER_NONE">
+ <doc xml:space="preserve"
+ filename="ges/ges-types.h"
+ line="53">Constant to define an undefined frame number</doc>
+ <source-position filename="ges/ges-types.h" line="58"/>
+ <type name="gint64" c:type="gint64"/>
+ </constant>
+ <callback name="FillTrackElementFunc"
+ c:type="GESFillTrackElementFunc"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="44">A function that will be called when the nleobject of a corresponding
track element needs to be filled.
The implementer of this function shall add the proper #GstElement to @nleobj
using gst_bin_add().</doc>
+ <doc-deprecated xml:space="preserve">This method type is no longer used.</doc-deprecated>
+ <source-position filename="ges/ges-clip.h" line="60"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the implementer succesfully filled the @nleobj, else #FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="58">%TRUE if the implementer successfully filled the @nleobj.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip controlling the track elements</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="46">The #GESClip controlling the track elements</doc>
<type name="Clip" c:type="GESClip*"/>
</parameter>
<parameter name="track_element" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="47">The #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</parameter>
<parameter name="nleobj" transfer-ownership="none">
- <doc xml:space="preserve">the GNonLin object that needs to be filled.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="48">The nleobject that needs to be filled</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</parameter>
</parameters>
@@ -2708,21 +5185,31 @@ using gst_bin_add().</doc>
glib:type-name="GESFormatter"
glib:get-type="ges_formatter_get_type"
glib:type-struct="FormatterClass">
- <doc xml:space="preserve">Base class for timeline data serialization and deserialization.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="31">Base class for timeline data serialization and deserialization.</doc>
+ <source-position filename="ges/ges-formatter.h" line="123"/>
<implements name="Extractable"/>
<function name="can_load_uri"
c:identifier="ges_formatter_can_load_uri"
throws="1">
- <doc xml:space="preserve">Checks if there is a #GESFormatter available which can load a #GESTimeline
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="221">Checks if there is a #GESFormatter available which can load a #GESTimeline
from the given URI.</doc>
+ <source-position filename="ges/ges-formatter.h" line="135"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if there is a #GESFormatter that can support the given uri
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="229">TRUE if there is a #GESFormatter that can support the given uri
or FALSE if not.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to the URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="223">a #gchar * pointing to the URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -2730,28 +5217,41 @@ or FALSE if not.</doc>
<function name="can_save_uri"
c:identifier="ges_formatter_can_save_uri"
throws="1">
- <doc xml:space="preserve">Returns TRUE if there is a #GESFormatter available which can save a
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="292">Returns TRUE if there is a #GESFormatter available which can save a
#GESTimeline to the given URI.</doc>
+ <source-position filename="ges/ges-formatter.h" line="137"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the given @uri is supported, else FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="300">TRUE if the given @uri is supported, else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="294">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="get_default" c:identifier="ges_formatter_get_default">
- <doc xml:space="preserve">Get the default #GESAsset to use as formatter. It will return
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="446">Get the default #GESAsset to use as formatter. It will return
the asset for the #GESFormatter that has the highest @rank</doc>
+ <source-position filename="ges/ges-formatter.h" line="153"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset for the formatter with highest @rank</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="452">The #GESAsset for the formatter with highest @rank</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
</function>
<virtual-method name="can_load_uri" throws="1">
+ <source-position filename="ges/ges-formatter.h" line="52"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -2764,102 +5264,166 @@ the asset for the #GESFormatter that has the highest @rank</doc>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="load_from_uri" invoker="load_from_uri" throws="1">
- <doc xml:space="preserve">Load data from the given URI into timeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the timeline data was successfully loaded from the URI,
+ <virtual-method name="load_from_uri"
+ invoker="load_from_uri"
+ deprecated="1"
+ deprecated-version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="371">Load data from the given URI into timeline.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="380">TRUE if the timeline data was successfully loaded from the URI,
else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="formatter" transfer-ownership="none">
- <doc xml:space="preserve">a #GESFormatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="373">a #GESFormatter</doc>
<type name="Formatter" c:type="GESFormatter*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="374">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="375">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="save_to_uri" invoker="save_to_uri" throws="1">
- <doc xml:space="preserve">Save data from timeline to the given URI.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the timeline data was successfully saved to the URI
+ <virtual-method name="save_to_uri"
+ invoker="save_to_uri"
+ deprecated="1"
+ deprecated-version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="404">Save data from timeline to the given URI.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="414">TRUE if the timeline data was successfully saved to the URI
else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="formatter" transfer-ownership="none">
- <doc xml:space="preserve">a #GESFormatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="406">a #GESFormatter</doc>
<type name="Formatter" c:type="GESFormatter*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="407">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="408">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="overwrite" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to overwrite file if it exists</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="409">%TRUE to overwrite file if it exists</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<method name="load_from_uri"
c:identifier="ges_formatter_load_from_uri"
+ deprecated="1"
+ deprecated-version="1.18"
throws="1">
- <doc xml:space="preserve">Load data from the given URI into timeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the timeline data was successfully loaded from the URI,
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="371">Load data from the given URI into timeline.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="380">TRUE if the timeline data was successfully loaded from the URI,
else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="formatter" transfer-ownership="none">
- <doc xml:space="preserve">a #GESFormatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="373">a #GESFormatter</doc>
<type name="Formatter" c:type="GESFormatter*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="374">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="375">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="save_to_uri"
c:identifier="ges_formatter_save_to_uri"
+ deprecated="1"
+ deprecated-version="1.18"
throws="1">
- <doc xml:space="preserve">Save data from timeline to the given URI.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the timeline data was successfully saved to the URI
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="404">Save data from timeline to the given URI.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="414">TRUE if the timeline data was successfully saved to the URI
else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="formatter" transfer-ownership="none">
- <doc xml:space="preserve">a #GESFormatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="406">a #GESFormatter</doc>
<type name="Formatter" c:type="GESFormatter*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="407">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="408">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="overwrite" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to overwrite file if it exists</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="409">%TRUE to overwrite file if it exists</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
@@ -2877,7 +5441,7 @@ else FALSE.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -2885,6 +5449,7 @@ else FALSE.</doc>
<callback name="FormatterCanLoadURIMethod"
c:type="GESFormatterCanLoadURIMethod"
throws="1">
+ <source-position filename="ges/ges-formatter.h" line="52"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -2900,38 +5465,49 @@ else FALSE.</doc>
<record name="FormatterClass"
c:type="GESFormatterClass"
glib:is-gtype-struct-for="Formatter">
- <doc xml:space="preserve">GES Formatter class. Override the vmethods to implement the formatter functionnality.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="92">GES Formatter class. Override the vmethods to implement the formatter functionnality.</doc>
+ <source-position filename="ges/ges-formatter.h" line="123"/>
<field name="parent_class">
- <doc xml:space="preserve">the parent class structure</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="94">the parent class structure</doc>
<type name="GObject.InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"/>
</field>
<field name="can_load_uri">
- <doc xml:space="preserve">Whether the URI can be loaded</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="95">Whether the URI can be loaded</doc>
<type name="FormatterCanLoadURIMethod"
c:type="GESFormatterCanLoadURIMethod"/>
</field>
<field name="load_from_uri">
- <doc xml:space="preserve">class method to deserialize data from a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="96">class method to deserialize data from a URI</doc>
<type name="FormatterLoadFromURIMethod"
c:type="GESFormatterLoadFromURIMethod"/>
</field>
<field name="save_to_uri">
- <doc xml:space="preserve">class method to serialize data to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="97">class method to serialize data to a URI</doc>
<type name="FormatterSaveToURIMethod"
c:type="GESFormatterSaveToURIMethod"/>
</field>
<field name="name" readable="0" private="1">
- <type name="utf8" c:type="const gchar*"/>
+ <type name="utf8" c:type="gchar*"/>
</field>
<field name="description" readable="0" private="1">
- <type name="utf8" c:type="const gchar*"/>
+ <type name="utf8" c:type="gchar*"/>
</field>
<field name="extension" readable="0" private="1">
- <type name="utf8" c:type="const gchar*"/>
+ <type name="utf8" c:type="gchar*"/>
</field>
<field name="mimetype" readable="0" private="1">
- <type name="utf8" c:type="const gchar*"/>
+ <type name="utf8" c:type="gchar*"/>
</field>
<field name="version" readable="0" private="1">
<type name="gdouble" c:type="gdouble"/>
@@ -2940,35 +5516,61 @@ else FALSE.</doc>
<type name="Gst.Rank" c:type="GstRank"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="register_metas"
c:identifier="ges_formatter_class_register_metas">
+ <source-position filename="ges/ges-formatter.h" line="126"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="479">The class to register metas on</doc>
<type name="FormatterClass" c:type="GESFormatterClass*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="480">The name of the formatter</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="481">The formatter description</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="extension" transfer-ownership="none">
+ <parameter name="extensions" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="482">A list of coma separated file extensions handled
+by the formatter. The order of the extensions should match the
+list of the structures inside @caps</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="mimetype" transfer-ownership="none">
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="485">The caps the formatter handled, they should match what
+gstreamer typefind mechanism will report for the files the formatter
+handles.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="488">The version of the formatter</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="489">The rank of the formatter</doc>
<type name="Gst.Rank" c:type="GstRank"/>
</parameter>
</parameters>
@@ -2977,57 +5579,82 @@ else FALSE.</doc>
<callback name="FormatterLoadFromURIMethod"
c:type="GESFormatterLoadFromURIMethod"
throws="1">
- <doc xml:space="preserve">Virtual method for loading a timeline from a given URI.
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="54">Virtual method for loading a timeline from a given URI.
Every #GESFormatter subclass needs to implement this method.</doc>
+ <source-position filename="ges/ges-formatter.h" line="68"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the timeline data was successfully loaded from the URI,
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="380">TRUE if the timeline data was successfully loaded from the URI,
else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="formatter" transfer-ownership="none">
- <doc xml:space="preserve">a #GESFormatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="373">a #GESFormatter</doc>
<type name="Formatter" c:type="GESFormatter*"/>
</parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="374">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="375">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</callback>
<record name="FormatterPrivate" c:type="GESFormatterPrivate" disguised="1">
+ <source-position filename="ges/ges-formatter.h" line="29"/>
</record>
<callback name="FormatterSaveToURIMethod"
c:type="GESFormatterSaveToURIMethod"
throws="1">
- <doc xml:space="preserve">Virtual method for saving a timeline to a uri.
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="73">Virtual method for saving a timeline to a uri.
Every #GESFormatter subclass needs to implement this method.</doc>
+ <source-position filename="ges/ges-formatter.h" line="88"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the timeline data was successfully saved to the URI
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="414">TRUE if the timeline data was successfully saved to the URI
else FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="formatter" transfer-ownership="none">
- <doc xml:space="preserve">a #GESFormatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="406">a #GESFormatter</doc>
<type name="Formatter" c:type="GESFormatter*"/>
</parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="407">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #gchar * pointing to a URI</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="408">a #gchar * pointing to a URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="overwrite" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to overwrite file if it exists</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="409">%TRUE to overwrite file if it exists</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
@@ -3039,48 +5666,100 @@ else FALSE.</doc>
glib:type-name="GESGroup"
glib:get-type="ges_group_get_type"
glib:type-struct="GroupClass">
- <doc xml:space="preserve">A #GESGroup is an object which controls one or more
-#GESClips in one or more #GESLayer(s).
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="20">A #GESGroup controls one or more #GESContainer-s (usually #GESClip-s,
+but it can also control other #GESGroup-s). Its children must share
+the same #GESTimeline, but can otherwise lie in separate #GESLayer-s
+and have different timings.
+
+To initialise a group, you may want to use ges_container_group(),
+and similarly use ges_container_ungroup() to dispose of it.
+
+A group will maintain the relative #GESTimelineElement:start times of
+its children, as well as their relative layer #GESLayer:priority.
+Therefore, if one of its children has its #GESTimelineElement:start
+set, all other children will have their #GESTimelineElement:start
+shifted by the same amount. Similarly, if one of its children moves to
+a new layer, the other children will also change layers to maintain the
+difference in their layer priorities. For example, if a child moves
+from a layer with #GESLayer:priority 1 to a layer with priority 3, then
+another child that was in a layer with priority 0 will move to the
+layer with priority 2.
+
+The #GESGroup:start of a group refers to the earliest start
+time of its children. If the group's #GESGroup:start is set, all the
+children will be shifted equally such that the earliest start time
+will match the set value. The #GESGroup:duration of a group is the
+difference between the earliest start time and latest end time of its
+children. If the group's #GESGroup:duration is increased, the children
+whose end time matches the end of the group will be extended
+accordingly. If it is decreased, then any child whose end time exceeds
+the new end time will also have their duration decreased accordingly.
-To instanciate a group, you should use the ges_container_group method,
-this will be responsible for deciding what subclass of #GESContainer
-should be instaciated to group the various #GESTimelineElement passed
-in parametter.</doc>
+A group may span several layers, but for methods such as
+ges_timeline_element_get_layer_priority() and
+ges_timeline_element_edit() a group is considered to have a layer
+priority that is the highest #GESLayer:priority (numerically, the
+smallest) of all the layers it spans.</doc>
+ <source-position filename="ges/ges-group.h" line="45"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_group_new">
- <doc xml:space="preserve">Created a new empty #GESGroup, if you want to group several container
-together, it is recommanded to use the #ges_container_group method so the
-proper subclass is selected.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The new empty group.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="667">Created a new empty group. You may wish to use
+ges_container_group() instead, which can return a different
+#GESContainer subclass if possible.</doc>
+ <source-position filename="ges/ges-group.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="674">The new empty group.</doc>
<type name="Group" c:type="GESGroup*"/>
</return-value>
</constructor>
<property name="duration" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The duration (in nanoseconds) which will be used in the container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="598">An overwrite of the #GESTimelineElement:duration property. For a
+#GESGroup, this is the difference between the earliest
+#GESTimelineElement:start time and the latest end time (given by
+#GESTimelineElement:start + #GESTimelineElement:duration) amongst
+its children.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="in-point" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The in-point at which this #GESGroup will start outputting data
-from its contents (in nanoseconds).
-
-Ex : an in-point of 5 seconds means that the first outputted buffer will
-be the one located 5 seconds in the controlled resource.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="588">An overwrite of the #GESTimelineElement:in-point property. This has
+no meaning for a group and should not be set.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="max-duration"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The maximum duration (in nanoseconds) of the #GESGroup.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="612">An overwrite of the #GESTimelineElement:max-duration property. This
+has no meaning for a group and should not be set.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="priority" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="623">An overwrite of the #GESTimelineElement:priority property.
+Setting #GESTimelineElement priorities is deprecated as all priority
+management is now done by GES itself.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="start" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The position of the object in its container (in nanoseconds).</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="577">An overwrite of the #GESTimelineElement:start property. For a
+#GESGroup, this is the earliest #GESTimelineElement:start time
+amongst its children.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<field name="parent">
@@ -3090,7 +5769,7 @@ be the one located 5 seconds in the controlled resource.</doc>
<type name="GroupPrivate" c:type="GESGroupPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -3098,34 +5777,46 @@ be the one located 5 seconds in the controlled resource.</doc>
<record name="GroupClass"
c:type="GESGroupClass"
glib:is-gtype-struct-for="Group">
+ <source-position filename="ges/ges-group.h" line="45"/>
<field name="parent_class">
<type name="ContainerClass" c:type="GESContainerClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="GroupPrivate" c:type="GESGroupPrivate" disguised="1">
+ <source-position filename="ges/ges-group.h" line="30"/>
</record>
<class name="ImageSource"
c:symbol-prefix="image_source"
c:type="GESImageSource"
+ deprecated="1"
+ deprecated-version="1.18"
parent="VideoSource"
glib:type-name="GESImageSource"
glib:get-type="ges_image_source_get_type"
glib:type-struct="ImageSourceClass">
- <doc xml:space="preserve">Outputs the video stream from a given file as a still frame. The frame
-chosen will be determined by the in-point property on the track element. For
-image files, do not set the in-point property.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-image-source.c"
+ line="21">Outputs the video stream from a given file as a still frame. The frame chosen
+will be determined by the in-point property on the track element. For image
+files, do not set the in-point property.</doc>
+ <doc-deprecated xml:space="preserve">This won't be used anymore and has been replaced by
+#GESUriSource instead which now plugs an `imagefreeze` element when
+#ges_uri_source_asset_is_image returns %TRUE.</doc-deprecated>
+ <source-position filename="ges/ges-image-source.h" line="52"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<property name="uri"
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The location of the file/resource to use.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-image-source.c"
+ line="167">The location of the file/resource to use.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent" readable="0" private="1">
@@ -3138,7 +5829,7 @@ image files, do not set the in-point property.</doc>
<type name="ImageSourcePrivate" c:type="GESImageSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -3146,11 +5837,12 @@ image files, do not set the in-point property.</doc>
<record name="ImageSourceClass"
c:type="GESImageSourceClass"
glib:is-gtype-struct-for="ImageSource">
+ <source-position filename="ges/ges-image-source.h" line="52"/>
<field name="parent_class">
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -3158,6 +5850,7 @@ image files, do not set the in-point property.</doc>
<record name="ImageSourcePrivate"
c:type="GESImageSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-image-source.h" line="30"/>
</record>
<class name="Layer"
c:symbol-prefix="layer"
@@ -3166,20 +5859,43 @@ image files, do not set the in-point property.</doc>
glib:type-name="GESLayer"
glib:get-type="ges_layer_get_type"
glib:type-struct="LayerClass">
- <doc xml:space="preserve">Responsible for the ordering of the various contained Clip(s). A
-timeline layer has a "priority" property, which is used to manage the
-priorities of individual Clips. Two layers should not have the
-same priority within a given timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="23">#GESLayer-s are responsible for collecting and ordering #GESClip-s.
+
+A layer within a timeline will have an associated priority,
+corresponding to their index within the timeline. A layer with the
+index/priority 0 will have the highest priority and the layer with the
+largest index will have the lowest priority (the order of priorities,
+in this sense, is the _reverse_ of the numerical ordering of the
+indices). ges_timeline_move_layer() should be used if you wish to
+change how layers are prioritised in a timeline.
+
+Layers with higher priorities will have their content priorities
+over content from lower priority layers, similar to how layers are
+used in image editing. For example, if two separate layers both
+display video content, then the layer with the higher priority will
+have its images shown first. The other layer will only have its image
+shown if the higher priority layer has no content at the given
+playtime, or is transparent in some way. Audio content in separate
+layers will simply play in addition.</doc>
+ <source-position filename="ges/ges-layer.h" line="73"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_layer_new">
- <doc xml:space="preserve">Creates a new #GESLayer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">A new #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="929">Creates a new layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="934">A new layer.</doc>
<type name="Layer" c:type="GESLayer*"/>
</return-value>
</constructor>
<virtual-method name="get_objects" introspectable="0">
+ <source-position filename="ges/ges-layer.h" line="64"/>
<return-value>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
@@ -3192,6 +5908,7 @@ same priority within a given timeline.</doc>
</parameters>
</virtual-method>
<virtual-method name="object_added">
+ <source-position filename="ges/ges-layer.h" line="68"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -3205,6 +5922,7 @@ same priority within a given timeline.</doc>
</parameters>
</virtual-method>
<virtual-method name="object_removed">
+ <source-position filename="ges/ges-layer.h" line="69"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -3218,236 +5936,513 @@ same priority within a given timeline.</doc>
</parameters>
</virtual-method>
<method name="add_asset" c:identifier="ges_layer_add_asset">
- <doc xml:space="preserve">Creates Clip from asset, adds it to layer and
-returns a reference to it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">Created #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="902">See ges_layer_add_asset_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-layer.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="918">The newly created clip.</doc>
<type name="Clip" c:type="GESClip*"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="904">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The asset to add to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="905">The asset to extract the new clip from</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The start value to set on the new #GESClip,
-if @start == GST_CLOCK_TIME_NONE, it will be set to
-the current duration of @layer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="906">The #GESTimelineElement:start value to set on the new clip
+If `start == #GST_CLOCK_TIME_NONE`, it will be added to the end
+of @layer, i.e. it will be set to @layer's duration</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="inpoint" transfer-ownership="none">
- <doc xml:space="preserve">The inpoint value to set on the new #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="909">The #GESTimelineElement:in-point value to set on the new
+clip</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="duration" transfer-ownership="none">
- <doc xml:space="preserve">The duration value to set on the new #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="911">The #GESTimelineElement:duration value to set on the new
+clip</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="track_types" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackType to set on the the new #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="913">The #GESClip:supported-formats to set on the the new
+clip, or #GES_TRACK_TYPE_UNKNOWN to use the default</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_asset_full"
+ c:identifier="ges_layer_add_asset_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="836">Extracts a new clip from an asset and adds it to the layer with
+the given properties.</doc>
+ <source-position filename="ges/ges-layer.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="854">The newly created clip.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="838">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="839">The asset to extract the new clip from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="840">The #GESTimelineElement:start value to set on the new clip
+If `start == #GST_CLOCK_TIME_NONE`, it will be added to the end
+of @layer, i.e. it will be set to @layer's duration</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="843">The #GESTimelineElement:in-point value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="845">The #GESTimelineElement:duration value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="track_types" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="847">The #GESClip:supported-formats to set on the the new
+clip, or #GES_TRACK_TYPE_UNKNOWN to use the default</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</method>
<method name="add_clip" c:identifier="ges_layer_add_clip">
- <doc xml:space="preserve">Adds the given clip to the layer. Sets the clip's parent, and thus
-takes ownership of the clip.
-
-An clip can only be added to one layer.
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="820">See ges_layer_add_clip_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-layer.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="827">%TRUE if @clip was properly added to @layer, or %FALSE
+if @layer refused to add @clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="822">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="823">The clip to add</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_clip_full"
+ c:identifier="ges_layer_add_clip_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="653">Adds the given clip to the layer. If the method succeeds, the layer
+will take ownership of the clip.
-Calling this method will construct and properly set all the media related
-elements on @clip. If you need to know when those objects (actually #GESTrackElement)
-are constructed, you should connect to the container::child-added signal which
-is emited right after those elements are ready to be used.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the clip was properly added to the layer, or %FALSE
-if the @layer refuses to add the clip.</doc>
+This method will fail and return %FALSE if @clip already resides in
+some layer. It can also fail if the additional clip breaks some
+compositional rules (see #GESTimelineElement).</doc>
+ <source-position filename="ges/ges-layer.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="666">%TRUE if @clip was properly added to @layer, or %FALSE
+if @layer refused to add @clip.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="655">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to add.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="656">The clip to add</doc>
<type name="Clip" c:type="GESClip*"/>
</parameter>
</parameters>
</method>
+ <method name="get_active_for_track"
+ c:identifier="ges_layer_get_active_for_track">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1020">Gets whether the layer is active for the given track. See
+ges_layer_set_active_for_tracks().</doc>
+ <source-position filename="ges/ges-layer.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1028">%TRUE if @layer is active for @track, or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1022">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1023">The #GESTrack to check if @layer is currently active for</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_auto_transition"
c:identifier="ges_layer_get_auto_transition">
- <doc xml:space="preserve">Gets whether transitions are automatically added when objects
-overlap or not.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if transitions are automatically added, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="548">Gets the #GESLayer:auto-transition of the layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="127"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="554">%TRUE if transitions are automatically added to @layer.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="550">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_clips" c:identifier="ges_layer_get_clips">
- <doc xml:space="preserve">Get the clips this layer contains.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="607">Get the #GESClip-s contained in this layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="134"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList of
-clips. The user is responsible for
-unreffing the contained objects and freeing the list.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="613">A list of clips in
+@layer.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Clip"/>
</type>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="609">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_clips_in_interval"
c:identifier="ges_layer_get_clips_in_interval">
- <doc xml:space="preserve">Gets the clips which appear between @start and @end on @layer.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="976">Gets the clips within the layer that appear between @start and @end.</doc>
+ <source-position filename="ges/ges-layer.h" line="119"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList of clips intersecting [@start, @end) interval on @layer.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="984">A list of #GESClip-s
+that intersect the interval `[start, end)` in @layer.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Clip"/>
</type>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="978">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">start of the interval</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="979">Start of the interval</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">end of the interval</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="980">End of the interval</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="get_duration" c:identifier="ges_layer_get_duration">
- <doc xml:space="preserve">Lets you retrieve the duration of the layer, which means
-the end time of the last clip inside it</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The duration of a layer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="438">Retrieves the duration of the layer, which is the difference
+between the start of the layer (always time 0) and the end (which will
+be the end time of the final clip).</doc>
+ <source-position filename="ges/ges-layer.h" line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="446">The duration of @layer.</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">The #GESLayer to get the duration from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="440">The layer to get the duration from</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_priority" c:identifier="ges_layer_get_priority">
- <doc xml:space="preserve">Get the priority of @layer within the timeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The priority of the @layer within the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="590">Get the priority of the layer. When inside a timeline, this is its
+index in the timeline. See ges_timeline_move_layer().</doc>
+ <source-position filename="ges/ges-layer.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="597">The priority of @layer within its timeline.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="592">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_timeline" c:identifier="ges_layer_get_timeline">
- <doc xml:space="preserve">Get the #GESTimeline in which #GESLayer currently is.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="942">Gets the timeline that the layer is a part of.</doc>
+ <source-position filename="ges/ges-layer.h" line="82"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #GESTimeline in which #GESLayer
-currently is or %NULL if not in any timeline yet.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="948">The timeline that @layer
+is currently part of, or %NULL if it is not associated with any
+timeline.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">The #GESLayer to get the parent #GESTimeline from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="944">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_empty" c:identifier="ges_layer_is_empty">
- <doc xml:space="preserve">Convenience method to check if @layer is empty (doesn't contain any clip),
-or not.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @layer is empty, %FALSE if it already contains at least
-one #GESClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="635">Convenience method to check if the layer is empty (doesn't contain
+any #GESClip), or not.</doc>
+ <source-position filename="ges/ges-layer.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="642">%TRUE if @layer is empty, %FALSE if it contains at least
+one clip.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">The #GESLayer to check</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="637">The #GESLayer to check</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
</parameters>
</method>
<method name="remove_clip" c:identifier="ges_layer_remove_clip">
- <doc xml:space="preserve">Removes the given @clip from the @layer and unparents it.
-Unparenting it means the reference owned by @layer on the @clip will be
-removed. If you wish to use the @clip after this function, make sure you
-call gst_object_ref() before removing it from the @layer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the clip could be removed, %FALSE if the layer does
-not want to remove the clip.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="508">Removes the given clip from the layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="515">%TRUE if @clip was removed from @layer, or %FALSE if the
+operation failed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="510">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip to remove</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="511">The clip to remove</doc>
<type name="Clip" c:type="GESClip*"/>
</parameter>
</parameters>
</method>
+ <method name="set_active_for_tracks"
+ c:identifier="ges_layer_set_active_for_tracks">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1045">Activate or deactivate track elements in @tracks (or in all tracks if @tracks
+is %NULL).
+
+When a layer is deactivated for a track, all the #GESTrackElement-s in
+the track that belong to a #GESClip in the layer will no longer be
+active in the track, regardless of their individual
+#GESTrackElement:active value.
+
+Note that by default a layer will be active for all of its
+timeline's tracks.</doc>
+ <source-position filename="ges/ges-layer.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1064">%TRUE if the operation worked %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1047">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1048">Whether elements in @tracks should be active or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tracks"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1049">The list of
+tracks @layer should be (de-)active in, or %NULL to include all the tracks
+in the @layer's timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Track"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
<method name="set_auto_transition"
c:identifier="ges_layer_set_auto_transition">
- <doc xml:space="preserve">Sets the layer to the given @auto_transition. See the documentation of the
-property auto_transition for more information.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="564">Sets #GESLayer:auto-transition for the layer. Use
+ges_timeline_set_auto_transition() if you want all layers within a
+#GESTimeline to have #GESLayer:auto-transition set to %TRUE. Use this
+method if you want different values for different layers (and make sure
+to keep #GESTimeline:auto-transition as %FALSE for the corresponding
+timeline).</doc>
+ <source-position filename="ges/ges-layer.h" line="130"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="566">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
<parameter name="auto_transition" transfer-ownership="none">
- <doc xml:space="preserve">whether the auto_transition is active</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="567">Whether transitions should be automatically added to
+the layer</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
- <method name="set_priority" c:identifier="ges_layer_set_priority">
- <doc xml:space="preserve">Sets the layer to the given @priority. See the documentation of the
-priority property for more information.</doc>
+ <method name="set_priority"
+ c:identifier="ges_layer_set_priority"
+ deprecated="1"
+ deprecated-version="1.16.0">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="527">Sets the layer to the given priority. See #GESLayer:priority.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_move_layer instead. This deprecation means
+that you will not need to handle layer priorities at all yourself, GES
+will make sure there is never 'gaps' between layer priorities.</doc-deprecated>
+ <source-position filename="ges/ges-layer.h" line="112"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="529">The #GESLayer</doc>
<type name="Layer" c:type="GESLayer*"/>
</instance-parameter>
<parameter name="priority" transfer-ownership="none">
- <doc xml:space="preserve">the priority to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="530">The priority to set</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_timeline" c:identifier="ges_layer_set_timeline">
+ <source-position filename="ges/ges-layer.h" line="79"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -3461,24 +6456,43 @@ priority property for more information.</doc>
</parameters>
</method>
<property name="auto-transition" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Sets whether transitions are added automagically when clips overlap.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="236">Whether to automatically create a #GESTransitionClip whenever two
+#GESSource-s that both belong to a #GESClip in the layer overlap.
+See #GESTimeline for what counts as an overlap.
+
+When a layer is added to a #GESTimeline, if this property is left as
+%FALSE, but the timeline's #GESTimeline:auto-transition is %TRUE, it
+will be set to %TRUE as well.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
- <property name="priority" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The priority of the layer in the #GESTimeline. 0 is the highest
-priority. Conceptually, a #GESTimeline is a stack of GESLayers,
+ <property name="priority"
+ deprecated="1"
+ deprecated-version="1.16.0"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="217">The priority of the layer in the #GESTimeline. 0 is the highest
+priority. Conceptually, a timeline is a stack of layers,
and the priority of the layer represents its position in the stack. Two
layers should not have the same priority within a given GESTimeline.
-Note that the timeline needs to be commited (with #ges_timeline_commit)
+Note that the timeline needs to be committed (with #ges_timeline_commit)
for the change to be taken into account.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_move_layer instead. This deprecation means
+that you will not need to handle layer priorities at all yourself, GES
+will make sure there is never 'gaps' between layer priorities.</doc-deprecated>
<type name="guint" c:type="guint"/>
</property>
<field name="parent">
<type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
</field>
<field name="timeline">
- <doc xml:space="preserve">the #GESTimeline where this layer is being used.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.h"
+ line="33">the #GESTimeline where this layer is being used.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</field>
<field name="min_nle_priority">
@@ -3491,30 +6505,64 @@ for the change to be taken into account.</doc>
<type name="LayerPrivate" c:type="GESLayerPrivate*"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
+ <glib:signal name="active-changed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="275">Will be emitted whenever the layer is activated or deactivated
+for some #GESTrack. See ges_layer_set_active_for_tracks().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="278">Whether @layer has been made active or de-active in the @tracks</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tracks" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="279">A list of #GESTrack
+which have been activated or deactivated</doc>
+ <array name="GLib.PtrArray">
+ <type name="Track"/>
+ </array>
+ </parameter>
+ </parameters>
+ </glib:signal>
<glib:signal name="clip-added" when="first">
- <doc xml:space="preserve">Will be emitted after the clip was added to the layer.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="251">Will be emitted after the clip is added to the layer.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip that was added.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="254">The clip that was added</doc>
<type name="Clip"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="clip-removed" when="first">
- <doc xml:space="preserve">Will be emitted after the clip was removed from the layer.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="263">Will be emitted after the clip is removed from the layer.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">the #GESClip that was removed</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="266">The clip that was removed</doc>
<type name="Clip"/>
</parameter>
</parameters>
@@ -3523,14 +6571,18 @@ for the change to be taken into account.</doc>
<record name="LayerClass"
c:type="GESLayerClass"
glib:is-gtype-struct-for="Layer">
- <doc xml:space="preserve">Subclasses can override the @get_objects if they can provide a more
-efficient way of providing the list of contained #GESClip(s).</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.h"
+ line="51">Subclasses can override the @get_objects if they can provide a more
+efficient way of providing the list of contained #GESClip-s.</doc>
+ <source-position filename="ges/ges-layer.h" line="73"/>
<field name="parent_class" readable="0" private="1">
<type name="GObject.InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"/>
</field>
<field name="get_objects" introspectable="0">
<callback name="get_objects" introspectable="0">
+ <source-position filename="ges/ges-layer.h" line="64"/>
<return-value>
<type name="GLib.List" c:type="GList*">
<type name="gpointer" c:type="gpointer"/>
@@ -3545,6 +6597,7 @@ efficient way of providing the list of contained #GESClip(s).</doc>
</field>
<field name="object_added">
<callback name="object_added">
+ <source-position filename="ges/ges-layer.h" line="68"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -3560,6 +6613,7 @@ efficient way of providing the list of contained #GESClip(s).</doc>
</field>
<field name="object_removed">
<callback name="object_removed">
+ <source-position filename="ges/ges-layer.h" line="69"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -3574,963 +6628,1897 @@ efficient way of providing the list of contained #GESClip(s).</doc>
</callback>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="LayerPrivate" c:type="GESLayerPrivate" disguised="1">
+ <source-position filename="ges/ges-layer.h" line="29"/>
</record>
<constant name="META_DESCRIPTION"
value="description"
c:type="GES_META_DESCRIPTION">
- <doc xml:space="preserve">The description of an object, can be used in various context (string)
-
-The description</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="41">The description of the object, to be used in various contexts (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="46"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_FORMATTER_EXTENSION"
value="extension"
c:type="GES_META_FORMATTER_EXTENSION">
- <doc xml:space="preserve">The extension of the files produced by a formatter (string)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="55">The file extension of files produced by a #GESFormatter (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="60"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_FORMATTER_MIMETYPE"
value="mimetype"
c:type="GES_META_FORMATTER_MIMETYPE">
- <doc xml:space="preserve">Mimetype used for the file produced by a formatter (string)
-
-The mime type</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="48">The mimetype used for the file produced by a #GESFormatter (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="53"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_FORMATTER_NAME"
value="name"
c:type="GES_META_FORMATTER_NAME">
- <doc xml:space="preserve">Name of a formatter it is used as ID of Formater assets (string)
-
-The name of the formatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="33">The name of a formatter, used as the #GESAsset:id for #GESFormatter
+assets (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="39"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_FORMATTER_RANK"
value="rank"
c:type="GES_META_FORMATTER_RANK">
- <doc xml:space="preserve">The rank of a formatter (GstRank)
-
-The rank of a formatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="69">The rank of a #GESFormatter (a #GstRank).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="74"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_FORMATTER_VERSION"
value="version"
c:type="GES_META_FORMATTER_VERSION">
- <doc xml:space="preserve">The version of a formatter (double)
-
-The formatter version</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="62">The version of a #GESFormatter (double).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="67"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_FORMAT_VERSION"
value="format-version"
c:type="GES_META_FORMAT_VERSION">
- <doc xml:space="preserve">The version of the format in which a project is serialized</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="90">The version of the format in which a project is serialized (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="95"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_MARKER_COLOR"
+ value="marker-color"
+ c:type="GES_META_MARKER_COLOR">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="97">The ARGB color of a #GESMarker (an AARRGGBB hex as a uint).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="102"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_VOLUME" value="volume" c:type="GES_META_VOLUME">
- <doc xml:space="preserve">The volume, can be used for audio track or layers
-
-The volume for a track or a layer, it is register as a float</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="76">The volume for a #GESTrack or a #GESLayer (float).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="81"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="META_VOLUME_DEFAULT"
value="1.000000"
c:type="GES_META_VOLUME_DEFAULT">
- <doc xml:space="preserve">The default volume
-
-The default volume for a track or a layer as a float</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="83">The default volume for a #GESTrack or a #GESLayer as a float.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="88"/>
<type name="gdouble" c:type="gdouble"/>
</constant>
<constant name="MULTI_FILE_URI_PREFIX"
value="multifile://"
c:type="GES_MULTI_FILE_URI_PREFIX">
+ <source-position filename="ges/ges-multi-file-source.h" line="57"/>
<type name="utf8" c:type="gchar*"/>
</constant>
+ <class name="Marker"
+ c:symbol-prefix="marker"
+ c:type="GESMarker"
+ parent="GObject.Object"
+ glib:type-name="GESMarker"
+ glib:get-type="ges_marker_get_type"
+ glib:type-struct="MarkerClass">
+ <source-position filename="ges/ges-marker-list.h" line="31"/>
+ <implements name="MetaContainer"/>
+ <property name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="95">Current position (in nanoseconds) of the #GESMarker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ </class>
+ <record name="MarkerClass"
+ c:type="GESMarkerClass"
+ glib:is-gtype-struct-for="Marker">
+ <source-position filename="ges/ges-marker-list.h" line="31"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <class name="MarkerList"
+ c:symbol-prefix="marker_list"
+ c:type="GESMarkerList"
+ version="1.18"
+ parent="GObject.Object"
+ glib:type-name="GESMarkerList"
+ glib:get-type="ges_marker_list_get_type"
+ glib:type-struct="MarkerListClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="21">A #GESMarker can be colored by setting the #GES_META_MARKER_COLOR meta.</doc>
+ <source-position filename="ges/ges-marker-list.h" line="36"/>
+ <constructor name="new"
+ c:identifier="ges_marker_list_new"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="225">Creates a new #GESMarkerList.</doc>
+ <source-position filename="ges/ges-marker-list.h" line="39"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="230">A new #GESMarkerList</doc>
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </return-value>
+ </constructor>
+ <method name="add" c:identifier="ges_marker_list_add" version="1.18">
+ <source-position filename="ges/ges-marker-list.h" line="42"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="247">The newly-added marker, the list keeps ownership
+of the marker</doc>
+ <type name="Marker" c:type="GESMarker*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="245">The position of the new marker</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_markers"
+ c:identifier="ges_marker_list_get_markers"
+ version="1.18">
+ <source-position filename="ges/ges-marker-list.h" line="52"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="324">a #GList
+of the #GESMarker within the GESMarkerList. The user will have
+to unref each #GESMarker and free the #GList.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Marker"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="move" c:identifier="ges_marker_list_move" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="351">Moves a @marker in a @list to a new @position</doc>
+ <source-position filename="ges/ges-marker-list.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="356">%TRUE if the marker could be moved, %FALSE otherwise
+ (if the marker was not present in the list for example)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <type name="Marker" c:type="GESMarker*"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove"
+ c:identifier="ges_marker_list_remove"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="286">Removes @marker from @list, this decreases the refcount of the
+marker by 1.</doc>
+ <source-position filename="ges/ges-marker-list.h" line="45"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="292">%TRUE if the marker could be removed, %FALSE otherwise
+ (if the marker was not present in the list for example)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <type name="Marker" c:type="GESMarker*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="size" c:identifier="ges_marker_list_size" version="1.18">
+ <source-position filename="ges/ges-marker-list.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="275">The number of markers in @list</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <glib:signal name="marker-added" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="169">Will be emitted after the marker was added to the marker-list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="172">the position of the added marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="173">the #GESMarker that was added.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="marker-moved" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="195">Will be emitted after the marker was moved to.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="previous_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="198">the previous position of the marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="new_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="199">the new position of the marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="200">the #GESMarker that was moved.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="marker-removed" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="183">Will be emitted after the marker was removed the marker-list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="186">the #GESMarker that was removed.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="MarkerListClass"
+ c:type="GESMarkerListClass"
+ glib:is-gtype-struct-for="MarkerList">
+ <source-position filename="ges/ges-marker-list.h" line="36"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
<interface name="MetaContainer"
c:symbol-prefix="meta_container"
c:type="GESMetaContainer"
glib:type-name="GESMetaContainer"
glib:get-type="ges_meta_container_get_type"
glib:type-struct="MetaContainerInterface">
- <doc xml:space="preserve">Interface that allows reading and writing meta</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="30">A #GObject that implements #GESMetaContainer can have metadata set on
+it, that is data that is unimportant to its function within GES, but
+may hold some useful information. In particular,
+ges_meta_container_set_meta() can be used to store any #GValue under
+any generic field (specified by a string key). The same method can also
+be used to remove the field by passing %NULL. A number of convenience
+methods are also provided to make it easier to set common value types.
+The metadata can then be read with ges_meta_container_get_meta() and
+similar convenience methods.
+
+## Registered Fields
+
+By default, any #GValue can be set for a metadata field. However, you
+can register some fields as static, that is they only allow values of a
+specific type to be set under them, using
+ges_meta_container_register_meta() or
+ges_meta_container_register_static_meta(). The set #GESMetaFlag will
+determine whether the value can be changed, but even if it can be
+changed, it must be changed to a value of the same type.
+
+Internally, some GES objects will be initialized with static metadata
+fields. These will correspond to some standard keys, such as
+#GES_META_VOLUME.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="111"/>
<method name="add_metas_from_string"
c:identifier="ges_meta_container_add_metas_from_string">
- <doc xml:space="preserve">Deserializes a meta container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE on success, FALSE if there was an error.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="541">Deserializes the given string, and adds and sets the found fields and
+their values on the container. The string should be the return of
+ges_meta_container_metas_to_string().</doc>
+ <source-position filename="ges/ges-meta-container.h" line="331"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="550">%TRUE if the fields in @str was successfully deserialized
+and added to @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="543">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a string created with ges_meta_container_metas_to_string()</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="544">A string to deserialize and add to @container</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="check_meta_registered"
c:identifier="ges_meta_container_check_meta_registered">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="871">Checks whether the specified field has been registered as static, and
+gets the registered type and flags of the field, as used in
+ges_meta_container_register_meta() and
+ges_meta_container_register_static_meta().</doc>
+ <source-position filename="ges/ges-meta-container.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="885">%TRUE if the @meta_item field has been registered on
+@container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="873">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="874">The key for the @container field to check</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="flags" transfer-ownership="none">
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="875">A destination to get the registered flags of
+the field, or %NULL to ignore</doc>
<type name="MetaFlag" c:type="GESMetaFlag*"/>
</parameter>
- <parameter name="type" transfer-ownership="none">
+ <parameter name="type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="877">A destination to get the registered type of
+the field, or %NULL to ignore</doc>
<type name="GType" c:type="GType*"/>
</parameter>
</parameters>
</method>
<method name="foreach" c:identifier="ges_meta_container_foreach">
- <doc xml:space="preserve">Calls the given function for each metadata inside the meta container. Note
-that if there is no metadata, the function won't be called at all.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="172">Calls the given function on each of the meta container's set metadata
+fields.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="323"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">container to iterate over</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="174">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="func"
transfer-ownership="none"
scope="call"
closure="1">
- <doc xml:space="preserve">function to be called for each metadata</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="175">A function to call on each of @container's set
+metadata fields</doc>
<type name="MetaForeachFunc" c:type="GESMetaForeachFunc"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">user specified data</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="177">User data to send to @func</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</method>
<method name="get_boolean" c:identifier="ges_meta_container_get_boolean">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="935">Gets the current boolean value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="946">%TRUE if the boolean value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="937">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="938">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="939">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="gboolean" c:type="gboolean*"/>
</parameter>
</parameters>
</method>
<method name="get_date" c:identifier="ges_meta_container_get_date">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1190">Gets the current date value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="287"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1201">%TRUE if the date value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1192">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1193">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1194">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="GLib.Date" c:type="GDate**"/>
</parameter>
</parameters>
</method>
<method name="get_date_time"
c:identifier="ges_meta_container_get_date_time">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1206">Gets the current date time value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="292"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1217">%TRUE if the date time value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1208">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1209">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1210">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="Gst.DateTime" c:type="GstDateTime**"/>
</parameter>
</parameters>
</method>
<method name="get_double" c:identifier="ges_meta_container_get_double">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="983">Gets the current double value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="994">%TRUE if the double value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="985">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="986">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="987">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="gdouble" c:type="gdouble*"/>
</parameter>
</parameters>
</method>
<method name="get_float" c:identifier="ges_meta_container_get_float">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1071">Gets the current float value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="277"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1082">%TRUE if the float value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1073">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1074">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns FALSE if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1075">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="gfloat" c:type="gfloat*"/>
</parameter>
</parameters>
</method>
<method name="get_int" c:identifier="ges_meta_container_get_int">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="951">Gets the current int value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="962">%TRUE if the int value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="953">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="954">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="955">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</method>
<method name="get_int64" c:identifier="ges_meta_container_get_int64">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="999">Gets the current int64 value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1010">%TRUE if the int64 value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1001">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1002">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns %FALSE if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1003">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="gint64" c:type="gint64*"/>
</parameter>
</parameters>
</method>
+ <method name="get_marker_list"
+ c:identifier="ges_meta_container_get_marker_list"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1156">Gets the current marker list value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="301"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1165">A copy of the marker list value under @key,
+or %NULL if it could not be fetched.</doc>
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1158">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1159">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_meta" c:identifier="ges_meta_container_get_meta">
- <doc xml:space="preserve">Gets the value of a given meta item, returns NULL if @key
-can not be found.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GValue corresponding to the meta with the given @key.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1133">Gets the current value of the specified field of the meta container.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="305"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1140">The value under @key, or %NULL if @container
+does not have the field set.</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1135">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">The key name of the meta to retrieve</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1136">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_string" c:identifier="ges_meta_container_get_string">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1107">Gets the current string value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1116">The string value under @meta_item, or %NULL
+if it could not be fetched.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1109">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1110">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_uint" c:identifier="ges_meta_container_get_uint">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="967">Gets the current uint value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="262"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="978">%TRUE if the uint value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="969">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="970">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="971">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_uint64" c:identifier="ges_meta_container_get_uint64">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1035">Gets the current uint64 value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="272"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1046">%TRUE if the uint64 value under @meta_item was copied
+to @dest.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1037">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1038">The key for the @container field to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="dest"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">Destination to which value of meta item will be copied
-Gets the value of a given meta item, returns NULL if @meta_item
-can not be found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1039">Destination into which the value under @meta_item
+should be copied.</doc>
<type name="guint64" c:type="guint64*"/>
</parameter>
</parameters>
</method>
<method name="metas_to_string"
c:identifier="ges_meta_container_metas_to_string">
- <doc xml:space="preserve">Serializes a meta container to a string.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a newly-allocated string, or NULL in case of an error.
-The string must be freed with g_free() when no longer needed.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="520">Serializes the set metadata fields of the meta container to a string.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="328"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="526">A serialized @container, or %NULL if an error
+occurred.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">a #GESMetaContainer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="522">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
</parameters>
</method>
<method name="register_meta"
c:identifier="ges_meta_container_register_meta">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the static meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="841">Sets the value of the specified field of the meta container to the
+given value, and registers the field to only hold a value of the
+same type. After calling this, only values of the same type as @value
+can be set for this field. The given flags can be set to make this
+field only readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="240"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="854">%TRUE if the @meta_item field was successfully registered on
+@container to only hold @value types, with the given @flags, and the
+field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="843">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="844">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="845">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="846">The value to set for the registered field</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</parameter>
</parameters>
</method>
<method name="register_meta_boolean"
c:identifier="ges_meta_container_register_meta_boolean">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="650">Sets the value of the specified field of the meta container to the
+given boolean value, and registers the field to only hold a boolean
+typed value. After calling this, only boolean values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="663">%TRUE if the @meta_item field was successfully registered on
+@container to only hold boolean typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="652">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="653">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="654">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="655">The value to set for the registered field</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="register_meta_date"
c:identifier="ges_meta_container_register_meta_date">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="783">Sets the value of the specified field of the meta container to the
+given date value, and registers the field to only hold a date
+typed value. After calling this, only date values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="796">%TRUE if the @meta_item field was successfully registered on
+@container to only hold date typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="785">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="786">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="787">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Value to set</doc>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="788">The value to set for the registered field</doc>
<type name="GLib.Date" c:type="const GDate*"/>
</parameter>
</parameters>
</method>
<method name="register_meta_date_time"
c:identifier="ges_meta_container_register_meta_date_time">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="802">Sets the value of the specified field of the meta container to the
+given date time value, and registers the field to only hold a date time
+typed value. After calling this, only date time values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="815">%TRUE if the @meta_item field was successfully registered on
+@container to only hold date time typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="804">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="805">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="806">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Value to set</doc>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="807">The value to set for the registered field</doc>
<type name="Gst.DateTime" c:type="const GstDateTime*"/>
</parameter>
</parameters>
</method>
<method name="register_meta_double"
c:identifier="ges_meta_container_register_meta_double">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="764">Sets the value of the specified field of the meta container to the
+given double value, and registers the field to only hold a double
+typed value. After calling this, only double values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="216"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="777">%TRUE if the @meta_item field was successfully registered on
+@container to only hold double typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="766">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="767">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="768">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="769">The value to set for the registered field</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="register_meta_float"
c:identifier="ges_meta_container_register_meta_float">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="745">Sets the value of the specified field of the meta container to the
+given float value, and registers the field to only hold a float
+typed value. After calling this, only float values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="210"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="758">%TRUE if the @meta_item field was successfully registered on
+@container to only hold float typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="747">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="748">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="749">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="750">The value to set for the registered field</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="register_meta_int"
c:identifier="ges_meta_container_register_meta_int">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="669">Sets the value of the specified field of the meta container to the
+given int value, and registers the field to only hold an int
+typed value. After calling this, only int values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="682">%TRUE if the @meta_item field was successfully registered on
+@container to only hold int typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="671">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="672">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="673">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="674">The value to set for the registered field</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="register_meta_int64"
c:identifier="ges_meta_container_register_meta_int64">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="707">Sets the value of the specified field of the meta container to the
+given int64 value, and registers the field to only hold an int64
+typed value. After calling this, only int64 values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="720">%TRUE if the @meta_item field was successfully registered on
+@container to only hold int64 typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="709">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="710">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="711">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="712">The value to set for the registered field</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
</parameters>
</method>
<method name="register_meta_string"
c:identifier="ges_meta_container_register_meta_string">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="822">Sets the value of the specified field of the meta container to the
+given string value, and registers the field to only hold a string
+typed value. After calling this, only string values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="234"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="835">%TRUE if the @meta_item field was successfully registered on
+@container to only hold string typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="824">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="825">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="826">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
- <parameter name="value"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Value to set</doc>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="827">The value to set for the registered field</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="register_meta_uint"
c:identifier="ges_meta_container_register_meta_uint">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="688">Sets the value of the specified field of the meta container to the
+given uint value, and registers the field to only hold a uint
+typed value. After calling this, only uint values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="701">%TRUE if the @meta_item field was successfully registered on
+@container to only hold uint typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="690">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="691">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="692">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="693">The value to set for the registered field</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="register_meta_uint64"
c:identifier="ges_meta_container_register_meta_uint64">
- <doc xml:space="preserve">Sets a static meta on @container. This method lets you define static
-metadatas, which means that the type of the registered will be the only
-type accepted for this meta on that particular @container.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be register, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="726">Sets the value of the specified field of the meta container to the
+given uint64 value, and registers the field to only hold a uint64
+typed value. After calling this, only uint64 values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="739">%TRUE if the @meta_item field was successfully registered on
+@container to only hold uint64 typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="728">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">The #GESMetaFlag to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="729">Flags to be used for the registered field</doc>
<type name="MetaFlag" c:type="GESMetaFlag"/>
</parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="730">The key for the @container field to register</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="731">The value to set for the registered field</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</method>
+ <method name="register_static_meta"
+ c:identifier="ges_meta_container_register_static_meta">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="574">Registers a static metadata field on the container to only hold the
+specified type. After calling this, setting a value under this field
+can only succeed if its type matches the registered type of the field.
+
+Unlike ges_meta_container_register_meta(), no (initial) value is set
+for this field, which means you can use this method to reserve the
+space to be _optionally_ set later.
+
+Note that if a value has already been set for the field being
+registered, then its type must match the registering type, and its
+value will be left in place. If the field has no set value, then
+you will likely want to include #GES_META_WRITABLE in @flags to allow
+the value to be set later.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="174"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="595">%TRUE if the @meta_item field was successfully registered on
+@container to only hold @type values, with the given @flags.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="576">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="577">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="578">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="579">The required value type for the registered field</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="set_boolean" c:identifier="ges_meta_container_set_boolean">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="310">Sets the value of the specified field of the meta container to the
+given boolean value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="319">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="312">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="313">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="314">The value to set under @meta_item</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_date" c:identifier="ges_meta_container_set_date">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="401">Sets the value of the specified field of the meta container to the
+given date value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="410">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="403">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="404">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="405">The value to set under @meta_item</doc>
<type name="GLib.Date" c:type="const GDate*"/>
</parameter>
</parameters>
</method>
<method name="set_date_time"
c:identifier="ges_meta_container_set_date_time">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="414">Sets the value of the specified field of the meta container to the
+given date time value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="423">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="416">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="417">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="418">The value to set under @meta_item</doc>
<type name="Gst.DateTime" c:type="const GstDateTime*"/>
</parameter>
</parameters>
</method>
<method name="set_double" c:identifier="ges_meta_container_set_double">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="388">Sets the value of the specified field of the meta container to the
+given double value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="397">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="390">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="391">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="392">The value to set under @meta_item</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_float" c:identifier="ges_meta_container_set_float">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="375">Sets the value of the specified field of the meta container to the
+given float value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="384">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="377">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="378">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="379">The value to set under @meta_item</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
</parameters>
</method>
<method name="set_int" c:identifier="ges_meta_container_set_int">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="323">Sets the value of the specified field of the meta container to the
+given int value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="332">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="325">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="326">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="327">The value to set under @meta_item</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_int64" c:identifier="ges_meta_container_set_int64">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="349">Sets the value of the specified field of the meta container to the
+given int64 value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="358">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="351">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="352">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="353">The value to set under @meta_item</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
</parameters>
</method>
- <method name="set_meta" c:identifier="ges_meta_container_set_meta">
+ <method name="set_marker_list"
+ c:identifier="ges_meta_container_set_marker_list"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="475">Sets the value of the specified field of the meta container to the
+given marker list value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="169"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="484">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="477">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="478">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="479">The value to set under @meta_item</doc>
+ <type name="MarkerList" c:type="const GESMarkerList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_meta" c:identifier="ges_meta_container_set_meta">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="440">Sets the value of the specified field of the meta container to a
+copy of the given value. If the given @value is %NULL, the field
+given by @meta_item is removed and %TRUE is returned.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="451">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="442">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="443">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">Value to set
-Sets the value of a given meta item</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="444">The value to set under @meta_item, or %NULL to
+remove the corresponding field</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</parameter>
</parameters>
</method>
<method name="set_string" c:identifier="ges_meta_container_set_string">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="427">Sets the value of the specified field of the meta container to the
+given string value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="436">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="429">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="430">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="431">The value to set under @meta_item</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_uint" c:identifier="ges_meta_container_set_uint">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="336">Sets the value of the specified field of the meta container to the
+given uint value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="345">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="338">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="339">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="340">The value to set under @meta_item</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_uint64" c:identifier="ges_meta_container_set_uint64">
- <doc xml:space="preserve">Sets the value of a given meta item</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the meta could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="362">Sets the value of the specified field of the meta container to the
+given uint64 value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="371">%TRUE if @value was set under @meta_item for @container.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="container" transfer-ownership="none">
- <doc xml:space="preserve">Target container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="364">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="GESMetaContainer*"/>
</instance-parameter>
<parameter name="meta_item" transfer-ownership="none">
- <doc xml:space="preserve">Name of the meta item to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="365">The key for the @container field to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">Value to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="366">The value to set under @meta_item</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -4540,14 +8528,28 @@ Sets the value of a given meta item</doc>
no-recurse="1"
detailed="1"
no-hooks="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="90">This is emitted for a meta container whenever the metadata under one
+of its fields changes, is set for the first time, or is removed. In
+the latter case, @value will be %NULL.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="object" transfer-ownership="none">
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="93">The key for the @container field that changed</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
- <parameter name="p0" transfer-ownership="none">
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="94">The new value under @key</doc>
<type name="GObject.Value"/>
</parameter>
</parameters>
@@ -4556,11 +8558,12 @@ Sets the value of a given meta item</doc>
<record name="MetaContainerInterface"
c:type="GESMetaContainerInterface"
glib:is-gtype-struct-for="MetaContainer">
+ <source-position filename="ges/ges-meta-container.h" line="111"/>
<field name="parent_iface">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4573,33 +8576,52 @@ Sets the value of a given meta item</doc>
value="1"
c:identifier="GES_META_READABLE"
glib:nick="readable">
- <doc xml:space="preserve">The metadata is readable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="62">The metadata is readable</doc>
</member>
<member name="writable"
value="2"
c:identifier="GES_META_WRITABLE"
glib:nick="writable">
- <doc xml:space="preserve">The metadata is writable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="63">The metadata is writable</doc>
</member>
<member name="readwrite"
value="3"
c:identifier="GES_META_READ_WRITE"
glib:nick="readwrite">
- <doc xml:space="preserve">The metadata is readable and writable</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="64">The metadata is readable and writable</doc>
</member>
</bitfield>
<callback name="MetaForeachFunc" c:type="GESMetaForeachFunc">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="307">A method to be called on all of a meta container's fields.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="317"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="309">A #GESMetaContainer</doc>
<type name="MetaContainer" c:type="const GESMetaContainer*"/>
</parameter>
<parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="310">The key for one of @container's fields</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="311">The set value under @key</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</parameter>
<parameter name="user_data"
@@ -4607,6 +8629,9 @@ Sets the value of a given meta item</doc>
nullable="1"
allow-none="1"
closure="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="312">User data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
@@ -4614,23 +8639,31 @@ Sets the value of a given meta item</doc>
<class name="MultiFileSource"
c:symbol-prefix="multi_file_source"
c:type="GESMultiFileSource"
+ deprecated="1"
+ deprecated-version="1.18"
parent="VideoSource"
glib:type-name="GESMultiFileSource"
glib:get-type="ges_multi_file_source_get_type"
glib:type-struct="MultiFileSourceClass">
- <doc xml:space="preserve">Outputs the video stream from a given image sequence. The start frame
-chosen will be determined by the in-point property on the track element.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-multi-file-source.c"
+ line="20">Outputs the video stream from a given image sequence. The start frame chosen
+will be determined by the in-point property on the track element.
+
+This should not be used anymore, the `imagesequence://` protocol should be
+used instead. Check the #imagesequencesrc GStreamer element for more
+information.</doc>
+ <doc-deprecated xml:space="preserve">Use #GESUriSource instead</doc-deprecated>
+ <source-position filename="ges/ges-multi-file-source.h" line="52"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_multi_file_source_new">
- <doc xml:space="preserve">Creates a new #GESMultiFileSource for the provided @uri.</doc>
+ <source-position filename="ges/ges-multi-file-source.h" line="55"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">A new #GESMultiFileSource.</doc>
<type name="MultiFileSource" c:type="GESMultiFileSource*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI the source should control</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
@@ -4639,7 +8672,9 @@ chosen will be determined by the in-point property on the track element.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The uri of the file/resource to use. You can set a start index,
+ <doc xml:space="preserve"
+ filename="ges/ges-multi-file-source.c"
+ line="239">The uri of the file/resource to use. You can set a start index,
a stop index and a sequence pattern.
The format is &amp;lt;multifile://start:stop\@location-pattern&amp;gt;.
The pattern uses printf string formating.
@@ -4662,7 +8697,7 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
c:type="GESMultiFileSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4670,11 +8705,12 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<record name="MultiFileSourceClass"
c:type="GESMultiFileSourceClass"
glib:is-gtype-struct-for="MultiFileSource">
+ <source-position filename="ges/ges-multi-file-source.h" line="52"/>
<field name="parent_class">
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4682,6 +8718,7 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<record name="MultiFileSourcePrivate"
c:type="GESMultiFileSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-multi-file-source.h" line="28"/>
</record>
<class name="Operation"
c:symbol-prefix="operation"
@@ -4691,7 +8728,10 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
glib:type-name="GESOperation"
glib:get-type="ges_operation_get_type"
glib:type-struct="OperationClass">
- <doc xml:space="preserve">Base class for overlays, transitions, and effects</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-operation.h"
+ line="33">Base class for overlays, transitions, and effects</doc>
+ <source-position filename="ges/ges-operation.h" line="60"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -4701,7 +8741,7 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<type name="OperationPrivate" c:type="GESOperationPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4709,11 +8749,12 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<record name="OperationClass"
c:type="GESOperationClass"
glib:is-gtype-struct-for="Operation">
+ <source-position filename="ges/ges-operation.h" line="60"/>
<field name="parent_class" readable="0" private="1">
<type name="TrackElementClass" c:type="GESTrackElementClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4726,7 +8767,10 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
glib:type-name="GESOperationClip"
glib:get-type="ges_operation_clip_get_type"
glib:type-struct="OperationClipClass">
- <doc xml:space="preserve">Operations are any kind of object that both outputs AND consumes data.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-operation-clip.c"
+ line="21">Operations are any kind of object that both outputs AND consumes data.</doc>
+ <source-position filename="ges/ges-operation-clip.h" line="58"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -4736,7 +8780,7 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<type name="OperationClipPrivate" c:type="GESOperationClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4744,11 +8788,12 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<record name="OperationClipClass"
c:type="GESOperationClipClass"
glib:is-gtype-struct-for="OperationClip">
+ <source-position filename="ges/ges-operation-clip.h" line="58"/>
<field name="parent_class" readable="0" private="1">
<type name="ClipClass" c:type="GESClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4756,8 +8801,10 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
<record name="OperationClipPrivate"
c:type="GESOperationClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-operation-clip.h" line="31"/>
</record>
<record name="OperationPrivate" c:type="GESOperationPrivate" disguised="1">
+ <source-position filename="ges/ges-operation.h" line="31"/>
</record>
<class name="OverlayClip"
c:symbol-prefix="overlay_clip"
@@ -4767,12 +8814,15 @@ multifile://20:50@/home/you/sequence/\%04d.png</doc>
glib:type-name="GESOverlayClip"
glib:get-type="ges_overlay_clip_get_type"
glib:type-struct="OverlayClipClass">
- <doc xml:space="preserve">Overlays are objects which modify the underlying layer(s).
+ <doc xml:space="preserve"
+ filename="ges/ges-overlay-clip.c"
+ line="21">Overlays are objects which modify the underlying layer(s).
Examples of overlays include text, image watermarks, or audio dubbing.
Transitions, which change from one source to another over time, are
not considered overlays.</doc>
+ <source-position filename="ges/ges-overlay-clip.h" line="57"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -4782,7 +8832,7 @@ not considered overlays.</doc>
<type name="OverlayClipPrivate" c:type="GESOverlayClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4790,12 +8840,15 @@ not considered overlays.</doc>
<record name="OverlayClipClass"
c:type="GESOverlayClipClass"
glib:is-gtype-struct-for="OverlayClip">
+ <source-position filename="ges/ges-overlay-clip.h" line="57"/>
<field name="parent_class">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-overlay-clip.h"
+ line="48">parent class</doc>
<type name="OperationClipClass" c:type="GESOperationClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -4803,11 +8856,16 @@ not considered overlays.</doc>
<record name="OverlayClipPrivate"
c:type="GESOverlayClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-overlay-clip.h" line="30"/>
</record>
<constant name="PADDING" value="4" c:type="GES_PADDING">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="ges/ges-types.h" line="39"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="PADDING_LARGE" value="20" c:type="GES_PADDING_LARGE">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="ges/ges-types.h" line="44"/>
<type name="gint" c:type="gint"/>
</constant>
<class name="Pipeline"
@@ -4817,149 +8875,215 @@ not considered overlays.</doc>
glib:type-name="GESPipeline"
glib:get-type="ges_pipeline_get_type"
glib:type-struct="PipelineClass">
- <doc xml:space="preserve">#GESPipeline allows developers to view and render #GESTimeline
-in a simple fashion.
-Its usage is inspired by the 'playbin' element from gst-plugins-base.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="21">A #GESPipeline can take an audio-video #GESTimeline and conveniently
+link its #GESTrack-s to an internal #playsink element, for
+preview/playback, and an internal #encodebin element, for rendering.
+You can switch between these modes using ges_pipeline_set_mode().
+
+You can choose the specific audio and video sinks used for previewing
+the timeline by setting the #GESPipeline:audio-sink and
+#GESPipeline:video-sink properties.
+
+You can set the encoding and save location used in rendering by calling
+ges_pipeline_set_render_settings().</doc>
+ <source-position filename="ges/ges-pipeline.h" line="59"/>
<implements name="Gst.ChildProxy"/>
<implements name="GstVideo.VideoOverlay"/>
<constructor name="new" c:identifier="ges_pipeline_new">
- <doc xml:space="preserve">Creates a new conveninence #GESPipeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new #GESPipeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="424">Creates a new pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="429">The newly created pipeline.</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</return-value>
</constructor>
<method name="get_mode" c:identifier="ges_pipeline_get_mode">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GESPipelineFlags currently in use.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1161">Gets the #GESPipeline:mode of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1167">The current mode of @pipeline.</doc>
<type name="PipelineFlags" c:type="GESPipelineFlags"/>
</return-value>
<parameters>
<instance-parameter name="pipeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1163">A #GESPipeline</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_thumbnail" c:identifier="ges_pipeline_get_thumbnail">
- <doc xml:space="preserve">Returns a #GstSample with the currently playing image in the format specified by
-caps. The caller should free the sample with #gst_sample_unref when finished. If ANY
-caps are specified, the information will be returned in the whatever format
-is currently used by the sink. This information can be retrieve from caps
-associated with the buffer.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a #GstSample or %NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1305">Gets a sample from the pipeline of the currently displayed image in
+preview, in the specified format.
+
+Note that if you use "ANY" caps for @caps, then the current format of
+the image is used. You can retrieve these caps from the returned sample
+with gst_sample_get_caps().</doc>
+ <source-position filename="ges/ges-pipeline.h" line="80"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1318">A sample of @self's current image preview in
+the format given by @caps, or %NULL if an error prevented fetching the
+sample.</doc>
<type name="Gst.Sample" c:type="GstSample*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1307">A #GESPipeline in #GST_STATE_PLAYING or #GST_STATE_PAUSED</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
- <doc xml:space="preserve">caps specifying current format. Use %GST_CAPS_ANY
-for native size.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1308">Some caps to specifying the desired format, or
+#GST_CAPS_ANY to use the native format</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="get_thumbnail_rgb24"
c:identifier="ges_pipeline_get_thumbnail_rgb24">
- <doc xml:space="preserve">A convenience method for @ges_pipeline_get_thumbnail which
-returns a buffer in 24-bit RGB, optionally scaled to the specified width
-and height. If -1 is specified for either dimension, it will be left at
-native size. You can retreive this information from the caps associated
-with the buffer.
-
-The caller is responsible for unreffing the returned sample with
-#gst_sample_unref.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a #GstSample or %NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1402">Gets a sample from the pipeline of the currently displayed image in
+preview, in the 24-bit "RGB" format and of the desired width and
+height.
+
+See ges_pipeline_get_thumbnail().</doc>
+ <source-position filename="ges/ges-pipeline.h" line="83"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1416">A sample of @self's current image preview in
+the "RGB" format, scaled to @width and @height, or %NULL if an error
+prevented fetching the sample.</doc>
<type name="Gst.Sample" c:type="GstSample*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1404">A #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">the requested width or -1 for native size</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1405">The requested pixel width of the image, or -1 to use the native
+size</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">the requested height or -1 for native size</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1407">The requested pixel height of the image, or -1 to use the
+native size</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="preview_get_audio_sink"
c:identifier="ges_pipeline_preview_get_audio_sink">
- <doc xml:space="preserve">Obtains a pointer to playsink's audio sink element that is used for
-displaying audio when the #GESPipeline is in %GES_PIPELINE_MODE_PREVIEW
-
-The caller is responsible for unreffing the returned element with
-#gst_object_unref.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1481">Gets the #GESPipeline:audio-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="99"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a pointer to the playsink audio sink #GstElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1487">The audio sink used by @self for preview.</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1483">A #GESPipeline</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="preview_get_video_sink"
c:identifier="ges_pipeline_preview_get_video_sink">
- <doc xml:space="preserve">Obtains a pointer to playsink's video sink element that is used for
-displaying video when the #GESPipeline is in %GES_PIPELINE_MODE_PREVIEW
-
-The caller is responsible for unreffing the returned element with
-#gst_object_unref.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1444">Gets the #GESPipeline:video-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="92"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a pointer to the playsink video sink #GstElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1450">The video sink used by @self for preview.</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1446">A #GESPipeline</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="preview_set_audio_sink"
c:identifier="ges_pipeline_preview_set_audio_sink">
- <doc xml:space="preserve">Sets playsink's audio sink element that is used for displaying audio when
-the #GESPipeline is in %GES_PIPELINE_MODE_PREVIEW</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1502">Sets the #GESPipeline:audio-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="102"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline in %GST_STATE_NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1504">A #GESPipeline in #GST_STATE_NULL</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="sink" transfer-ownership="none">
- <doc xml:space="preserve">a audio sink #GstElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1505">A audio sink for @self to use for preview</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</parameter>
</parameters>
</method>
<method name="preview_set_video_sink"
c:identifier="ges_pipeline_preview_set_video_sink">
- <doc xml:space="preserve">Sets playsink's video sink element that is used for displaying video when
-the #GESPipeline is in %GES_PIPELINE_MODE_PREVIEW</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1465">Sets the #GESPipeline:video-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="95"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline in %GST_STATE_NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1467">A #GESPipeline in #GST_STATE_NULL</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="sink" transfer-ownership="none">
- <doc xml:space="preserve">a video sink #GstElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1468">A video sink for @self to use for preview</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</parameter>
</parameters>
@@ -4967,128 +9091,211 @@ the #GESPipeline is in %GES_PIPELINE_MODE_PREVIEW</doc>
<method name="save_thumbnail"
c:identifier="ges_pipeline_save_thumbnail"
throws="1">
- <doc xml:space="preserve">Saves the current frame to the specified @location.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the thumbnail was properly save, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1341">Saves the currently displayed image of the pipeline in preview to the
+given location, in the specified dimensions and format.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1356">%TRUE if @self's current image preview was successfully saved
+to @location using the given @format, @height and @width.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1343">A #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">the requested width or -1 for native size</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1344">The requested pixel width of the image, or -1 to use the native
+size</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">the requested height or -1 for native size</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1346">The requested pixel height of the image, or -1 to use the
+native size</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="format" transfer-ownership="none">
- <doc xml:space="preserve">a string specifying the desired mime type (for example,
-image/jpeg)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1348">The desired mime type (for example, "image/jpeg")</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="location" transfer-ownership="none">
- <doc xml:space="preserve">the path to save the thumbnail</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1349">The path to save the thumbnail to</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_mode" c:identifier="ges_pipeline_set_mode">
- <doc xml:space="preserve">switches the @pipeline to the specified @mode. The default mode when
-creating a #GESPipeline is #GES_PIPELINE_MODE_PREVIEW.
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1175">Sets the #GESPipeline:mode of the pipeline.
-Note: The @pipeline will be set to #GST_STATE_NULL during this call due to
-the internal changes that happen. The caller will therefore have to
-set the @pipeline to the requested state after calling this method.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the mode was properly set, else %FALSE.</doc>
+Note that the pipeline will be set to #GST_STATE_NULL during this call to
+perform the necessary changes. You will need to set the state again yourself
+after calling this.
+
+&gt; **NOTE**: [Rendering settings](ges_pipeline_set_render_settings) need to be
+&gt; set before setting @mode to #GES_PIPELINE_MODE_RENDER or
+&gt; #GES_PIPELINE_MODE_SMART_RENDER, the call to this method will fail
+&gt; otherwise.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1191">%TRUE if the mode of @pipeline was successfully set to @mode.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="pipeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1177">A #GESPipeline</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="mode" transfer-ownership="none">
- <doc xml:space="preserve">the #GESPipelineFlags to use</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1178">The mode to set for @pipeline</doc>
<type name="PipelineFlags" c:type="GESPipelineFlags"/>
</parameter>
</parameters>
</method>
<method name="set_render_settings"
c:identifier="ges_pipeline_set_render_settings">
- <doc xml:space="preserve">Specify where the pipeline shall be rendered and with what settings.
-
-A copy of @profile and @output_uri will be done internally, the caller can
-safely free those values afterwards.
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1062">Specifies the encoding to be used by the pipeline to render its
+#GESPipeline:timeline, and where the result should be written to.
-This method must be called before setting the pipeline mode to
-#GES_PIPELINE_MODE_RENDER</doc>
+This method **must** be called before setting the pipeline mode to
+#GES_PIPELINE_MODE_RENDER.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="69"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the settings were aknowledged properly, else %FALSE</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1075">%TRUE if the settings were successfully set on @pipeline.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="pipeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1064">A #GESPipeline</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="output_uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to which the timeline will be rendered</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1065">The URI to save the #GESPipeline:timeline rendering
+result to</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="profile" transfer-ownership="none">
- <doc xml:space="preserve">the #GstEncodingProfile to use to render the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1067">The encoding to use for rendering the #GESPipeline:timeline</doc>
<type name="GstPbutils.EncodingProfile"
c:type="GstEncodingProfile*"/>
</parameter>
</parameters>
</method>
<method name="set_timeline" c:identifier="ges_pipeline_set_timeline">
- <doc xml:space="preserve">Sets the timeline to use in this pipeline.
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1016">Takes the given timeline and sets it as the #GESPipeline:timeline for
+the pipeline.
-The reference to the @timeline will be stolen by the @pipeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the @timeline could be successfully set on the @pipeline,
-else %FALSE.</doc>
+Note that you should only call this method once on a given pipeline
+because a pipeline can not have its #GESPipeline:timeline changed after
+it has been set.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1028">%TRUE if @timeline was successfully given to @pipeline.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="pipeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESPipeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1018">A #GESPipeline</doc>
<type name="Pipeline" c:type="GESPipeline*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="full">
- <doc xml:space="preserve">the #GESTimeline to set on the @pipeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1019">The timeline to set for @pipeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
</parameters>
</method>
- <property name="audio-filter" writable="1" transfer-ownership="none">
+ <property name="audio-filter"
+ version="1.6.0"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="354">The audio filter(s) to apply during playback in preview mode,
+immediately before the #GESPipeline:audio-sink. This exposes the
+#playsink:audio-filter property of the internal #playsink.</doc>
<type name="Gst.Element"/>
</property>
<property name="audio-sink" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Audio sink for the preview.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="308">The audio sink used for preview. This exposes the
+#playsink:audio-sink property of the internal #playsink.</doc>
<type name="Gst.Element"/>
</property>
<property name="mode" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Pipeline mode. See ges_pipeline_set_mode() for more
-info.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="341">The pipeline's mode. In preview mode (for audio or video, or both)
+the pipeline can display the timeline's content to an end user. In
+rendering mode the pipeline can encode the timeline's content and
+save it to a file.</doc>
<type name="PipelineFlags"/>
</property>
<property name="timeline" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Timeline to use in this pipeline. See also
-ges_pipeline_set_timeline() for more info.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="328">The timeline used by this pipeline, whose content it will play and
+render, or %NULL if the pipeline does not yet have a timeline.
+
+Note that after you set the timeline for the first time, subsequent
+calls to change the timeline will fail.</doc>
<type name="Timeline"/>
</property>
- <property name="video-filter" writable="1" transfer-ownership="none">
+ <property name="video-filter"
+ version="1.6.0"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="368">The video filter(s) to apply during playback in preview mode,
+immediately before the #GESPipeline:video-sink. This exposes the
+#playsink:video-filter property of the internal #playsink.</doc>
<type name="Gst.Element"/>
</property>
<property name="video-sink" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Video sink for the preview.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="318">The video sink used for preview. This exposes the
+#playsink:video-sink property of the internal #playsink.</doc>
<type name="Gst.Element"/>
</property>
<field name="parent" readable="0" private="1">
@@ -5098,7 +9305,7 @@ ges_pipeline_set_timeline() for more info.</doc>
<type name="PipelinePrivate" c:type="GESPipelinePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5106,12 +9313,15 @@ ges_pipeline_set_timeline() for more info.</doc>
<record name="PipelineClass"
c:type="GESPipelineClass"
glib:is-gtype-struct-for="Pipeline">
+ <source-position filename="ges/ges-pipeline.h" line="59"/>
<field name="parent_class" readable="0" private="1">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.h"
+ line="49">parent class</doc>
<type name="Gst.PipelineClass" c:type="GstPipelineClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5120,51 +9330,78 @@ ges_pipeline_set_timeline() for more info.</doc>
glib:type-name="GESPipelineFlags"
glib:get-type="ges_pipeline_flags_get_type"
c:type="GESPipelineFlags">
- <doc xml:space="preserve">The various modes the #GESPipeline can be configured to.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="334">The various modes a #GESPipeline can be configured to.</doc>
<member name="audio_preview"
value="1"
c:identifier="GES_PIPELINE_MODE_PREVIEW_AUDIO"
glib:nick="audio_preview">
- <doc xml:space="preserve">output audio to the soundcard</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="336">Output the #GESPipeline:timeline's
+audio to the soundcard</doc>
</member>
<member name="video_preview"
value="2"
c:identifier="GES_PIPELINE_MODE_PREVIEW_VIDEO"
glib:nick="video_preview">
- <doc xml:space="preserve">output video to the screen</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="338">Output the #GESPipeline:timeline's
+video to the screen</doc>
</member>
<member name="full_preview"
value="3"
c:identifier="GES_PIPELINE_MODE_PREVIEW"
glib:nick="full_preview">
- <doc xml:space="preserve">output audio/video to soundcard/screen (default)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="340">Output both the #GESPipeline:timeline's
+audio and video to the soundcard and screen (default)</doc>
</member>
<member name="render"
value="4"
c:identifier="GES_PIPELINE_MODE_RENDER"
glib:nick="render">
- <doc xml:space="preserve">render timeline (forces decoding)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="342">Render the #GESPipeline:timeline with
+forced decoding (the underlying #encodebin has its
+#encodebin:avoid-reencoding property set to %FALSE)</doc>
</member>
<member name="smart_render"
value="8"
c:identifier="GES_PIPELINE_MODE_SMART_RENDER"
glib:nick="smart_render">
- <doc xml:space="preserve">render timeline (tries to avoid decoding/reencoding)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="345">Render the #GESPipeline:timeline,
+avoiding decoding/reencoding (the underlying #encodebin has its
+#encodebin:avoid-reencoding property set to %TRUE)</doc>
</member>
</bitfield>
<record name="PipelinePrivate" c:type="GESPipelinePrivate" disguised="1">
+ <source-position filename="ges/ges-pipeline.h" line="30"/>
</record>
<class name="PitiviFormatter"
c:symbol-prefix="pitivi_formatter"
c:type="GESPitiviFormatter"
+ deprecated="1"
+ deprecated-version="1.0"
parent="Formatter"
glib:type-name="GESPitiviFormatter"
glib:get-type="ges_pitivi_formatter_get_type"
glib:type-struct="PitiviFormatterClass">
- <doc xml:space="preserve">This is a legacy format and you should avoid to use it. The formatter
+ <attribute name="doc.skip" value="true"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-pitivi-formatter.c"
+ line="20">This is a legacy format and you should avoid to use it. The formatter
is really not in good shape and is deprecated.</doc>
+ <source-position filename="ges/ges-pitivi-formatter.h" line="50"/>
<implements name="Extractable"/>
<constructor name="new" c:identifier="ges_pitivi_formatter_new">
+ <source-position filename="ges/ges-pitivi-formatter.h" line="53"/>
<return-value transfer-ownership="none">
<type name="PitiviFormatter" c:type="GESPitiviFormatter*"/>
</return-value>
@@ -5177,7 +9414,7 @@ is really not in good shape and is deprecated.</doc>
c:type="GESPitiviFormatterPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5185,11 +9422,12 @@ is really not in good shape and is deprecated.</doc>
<record name="PitiviFormatterClass"
c:type="GESPitiviFormatterClass"
glib:is-gtype-struct-for="PitiviFormatter">
+ <source-position filename="ges/ges-pitivi-formatter.h" line="50"/>
<field name="parent_class" readable="0" private="1">
<type name="FormatterClass" c:type="GESFormatterClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5197,6 +9435,7 @@ is really not in good shape and is deprecated.</doc>
<record name="PitiviFormatterPrivate"
c:type="GESPitiviFormatterPrivate"
disguised="1">
+ <source-position filename="ges/ges-pitivi-formatter.h" line="25"/>
</record>
<class name="Project"
c:symbol-prefix="project"
@@ -5205,8 +9444,10 @@ is really not in good shape and is deprecated.</doc>
glib:type-name="GESProject"
glib:get-type="ges_project_get_type"
glib:type-struct="ProjectClass">
- <doc xml:space="preserve">The #GESProject is used to control a set of #GESAsset and is a
-#GESAsset with #GES_TYPE_TIMELINE as @extractable_type itself. That
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="20">The #GESProject is used to control a set of #GESAsset and is a
+#GESAsset with `GES_TYPE_TIMELINE` as @extractable_type itself. That
means that you can extract #GESTimeline from a project as followed:
|[
@@ -5225,18 +9466,42 @@ means that you can extract #GESTimeline from a project as followed:
The #GESProject class offers a higher level API to handle #GESAsset-s.
It lets you request new asset, and it informs you about new assets through
a set of signals. Also it handles problem such as missing files/missing
-#GstElement and lets you try to recover from those.</doc>
+#GstElement and lets you try to recover from those.
+
+## Subprojects
+
+In order to add a subproject, the only thing to do is to add the subproject
+to the main project:
+
+``` c
+ges_project_add_asset (project, GES_ASSET (subproject));
+```
+then the subproject will be serialized in the project files. To use
+the subproject in a timeline, you should use a #GESUriClip with the
+same subproject URI.
+
+When loading a project with subproject, subprojects URIs will be temporary
+writable local files. If you want to edit the subproject timeline,
+you should retrieve the subproject from the parent project asset list and
+extract the timeline with ges_asset_extract() and save it at
+the same temporary location.</doc>
+ <source-position filename="ges/ges-project.h" line="68"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
<constructor name="new" c:identifier="ges_project_new">
- <doc xml:space="preserve">Creates a new #GESProject and sets its uri to @uri if provided. Note that
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1139">Creates a new #GESProject and sets its uri to @uri if provided. Note that
if @uri is not valid or %NULL, the uri of the project will then be set
the first time you save the project. If you then save the project to
other locations, it will never be updated again and the first valid URI is
the URI it will keep refering to.</doc>
+ <source-position filename="ges/ges-project.h" line="91"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A newly created #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1149">A newly created #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</return-value>
<parameters>
@@ -5244,12 +9509,15 @@ the URI it will keep refering to.</doc>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The uri to be set after creating the project.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1141">The uri to be set after creating the project.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="asset_added">
+ <source-position filename="ges/ges-project.h" line="49"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5263,6 +9531,7 @@ the URI it will keep refering to.</doc>
</parameters>
</virtual-method>
<virtual-method name="asset_loading">
+ <source-position filename="ges/ges-project.h" line="51"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5276,6 +9545,7 @@ the URI it will keep refering to.</doc>
</parameters>
</virtual-method>
<virtual-method name="asset_removed">
+ <source-position filename="ges/ges-project.h" line="53"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5289,6 +9559,21 @@ the URI it will keep refering to.</doc>
</parameters>
</virtual-method>
<virtual-method name="loaded">
+ <source-position filename="ges/ges-project.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loading">
+ <source-position filename="ges/ges-project.h" line="64"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -5302,6 +9587,7 @@ the URI it will keep refering to.</doc>
</parameters>
</virtual-method>
<virtual-method name="loading_error">
+ <source-position filename="ges/ges-project.h" line="58"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -5321,6 +9607,7 @@ the URI it will keep refering to.</doc>
</parameters>
</virtual-method>
<virtual-method name="missing_uri">
+ <source-position filename="ges/ges-project.h" line="55"/>
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
@@ -5337,69 +9624,123 @@ the URI it will keep refering to.</doc>
</parameters>
</virtual-method>
<method name="add_asset" c:identifier="ges_project_add_asset">
- <doc xml:space="preserve">Adds a #Asset to @project, the project will keep a reference on
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="935">Adds a #GESAsset to @project, the project will keep a reference on
@asset.</doc>
+ <source-position filename="ges/ges-project.h" line="71"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the asset could be added %FALSE it was already
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="943">%TRUE if the asset could be added %FALSE it was already
in the project</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="937">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">A #GESAsset to add to @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="938">A #GESAsset to add to @project</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
</method>
<method name="add_encoding_profile"
c:identifier="ges_project_add_encoding_profile">
- <doc xml:space="preserve">Adds @profile to the project. It lets you save in what format
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1218">Adds @profile to the project. It lets you save in what format
the project has been renders and keep a reference to those formats.
Also, those formats will be saves to the project file when possible.</doc>
+ <source-position filename="ges/ges-project.h" line="112"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @profile could be added, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1228">%TRUE if @profile could be added, %FALSE otherwize</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1220">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="profile" transfer-ownership="none">
- <doc xml:space="preserve">A #GstEncodingProfile to add to the project. If a profile with
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1221">A #GstEncodingProfile to add to the project. If a profile with
the same name already exists, it will be replaced</doc>
<type name="GstPbutils.EncodingProfile"
c:type="GstEncodingProfile*"/>
</parameter>
</parameters>
</method>
+ <method name="add_formatter"
+ c:identifier="ges_project_add_formatter"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="148">Adds a formatter as used to load @project</doc>
+ <source-position filename="ges/ges-project.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="150">The project to add a formatter to</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="151">A formatter used by @project</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="create_asset" c:identifier="ges_project_create_asset">
- <doc xml:space="preserve">Create and add a #GESAsset to @project. You should connect to the
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="800">Create and add a #GESAsset to @project. You should connect to the
"asset-added" signal to get the asset when it finally gets added to
@project</doc>
+ <source-position filename="ges/ges-project.h" line="99"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the asset started to be added %FALSE it was already
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="810">%TRUE if the asset started to be added %FALSE it was already
in the project</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="802">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="id"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The id of the asset to create and add to @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="803">The id of the asset to create and add to @project</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The #GType of the asset to create</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="804">The #GType of the asset to create</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
@@ -5407,48 +9748,68 @@ in the project</doc>
<method name="create_asset_sync"
c:identifier="ges_project_create_asset_sync"
throws="1">
- <doc xml:space="preserve">Create and add a #GESAsset to @project. You should connect to the
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="843">Create and add a #GESAsset to @project. You should connect to the
"asset-added" signal to get the asset when it finally gets added to
@project</doc>
+ <source-position filename="ges/ges-project.h" line="104"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The newly created #GESAsset or %NULL.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="854">The newly created #GESAsset or %NULL.</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="845">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="id"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The id of the asset to create and add to @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="846">The id of the asset to create and add to @project</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The #GType of the asset to create</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="847">The #GType of the asset to create</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</method>
<method name="get_asset" c:identifier="ges_project_get_asset">
+ <source-position filename="ges/ges-project.h" line="95"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The #GESAsset with
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="999">The #GESAsset with
@id or %NULL if no asset with @id as an ID</doc>
<type name="Asset" c:type="GESAsset*"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="994">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="id" transfer-ownership="none">
- <doc xml:space="preserve">The id of the asset to retrieve</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="995">The id of the asset to retrieve</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The extractable_type of the asset
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="996">The extractable_type of the asset
to retrieve from @object</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -5456,9 +9817,14 @@ to retrieve from @object</doc>
</method>
<method name="get_loading_assets"
c:identifier="ges_project_get_loading_assets">
- <doc xml:space="preserve">Get the assets that are being loaded</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1279">Get the assets that are being loaded</doc>
+ <source-position filename="ges/ges-project.h" line="109"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A set of loading asset
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1285">A set of loading asset
that will be added to @project. Note that those Asset are *not* loaded yet,
and thus can not be used</doc>
<type name="GLib.List" c:type="GList*">
@@ -5467,30 +9833,44 @@ and thus can not be used</doc>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1281">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_uri" c:identifier="ges_project_get_uri">
- <doc xml:space="preserve">Retrieve the uri that is currently set on @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1197">Retrieve the uri that is currently set on @project</doc>
+ <source-position filename="ges/ges-project.h" line="93"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a newly allocated string representing uri.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1203">a newly allocated string representing uri.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1199">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
</parameters>
</method>
<method name="list_assets" c:identifier="ges_project_list_assets">
- <doc xml:space="preserve">List all @asset contained in @project filtering per extractable_type
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1023">List all @asset contained in @project filtering per extractable_type
as defined by @filter. It copies the asset and thus will not be updated
in time.</doc>
+ <source-position filename="ges/ges-project.h" line="77"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The list of
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1033">The list of
#GESAsset the object contains</doc>
<type name="GLib.List" c:type="GList*">
<type name="Asset"/>
@@ -5498,11 +9878,15 @@ in time.</doc>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1025">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="filter" transfer-ownership="none">
- <doc xml:space="preserve">Type of assets to list, #GES_TYPE_EXTRACTABLE will list
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1026">Type of assets to list, `GES_TYPE_EXTRACTABLE` will list
all assets</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -5510,10 +9894,15 @@ all assets</doc>
</method>
<method name="list_encoding_profiles"
c:identifier="ges_project_list_encoding_profiles">
- <doc xml:space="preserve">Lists the encoding profile that have been set to @project. The first one
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1261">Lists the encoding profile that have been set to @project. The first one
is the latest added.</doc>
+ <source-position filename="ges/ges-project.h" line="115"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1268">The
list of #GstEncodingProfile used in @project</doc>
<type name="GLib.List" c:type="const GList*">
<type name="GstPbutils.EncodingProfile"/>
@@ -5521,77 +9910,113 @@ list of #GstEncodingProfile used in @project</doc>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1263">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
</parameters>
</method>
<method name="load" c:identifier="ges_project_load" throws="1">
- <doc xml:space="preserve">Loads @project into @timeline</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the project could be loaded %FALSE otherwize.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1171">Loads @project into @timeline</doc>
+ <source-position filename="ges/ges-project.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1179">%TRUE if the project could be loaded %FALSE otherwize.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject that has an @uri set already</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1173">A #GESProject that has an @uri set already</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">A blank timeline to load @project into</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1174">A blank timeline to load @project into</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
</parameters>
</method>
<method name="remove_asset" c:identifier="ges_project_remove_asset">
- <doc xml:space="preserve">remove a @asset to from @project.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the asset could be removed %FALSE otherwise</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="967">remove a @asset to from @project.</doc>
+ <source-position filename="ges/ges-project.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="974">%TRUE if the asset could be removed %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="969">A #GESProject</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">A #GESAsset to remove from @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="970">A #GESAsset to remove from @project</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
</parameters>
</method>
<method name="save" c:identifier="ges_project_save" throws="1">
- <doc xml:space="preserve">Save the timeline of @project to @uri. You should make sure that @timeline
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1057">Save the timeline of @project to @uri. You should make sure that @timeline
is one of the timelines that have been extracted from @project
(using ges_asset_extract (@project);)</doc>
+ <source-position filename="ges/ges-project.h" line="80"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the project could be save, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1073">%TRUE if the project could be save, %FALSE otherwize</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="project" transfer-ownership="none">
- <doc xml:space="preserve">A #GESProject to save</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1059">A #GESProject to save</doc>
<type name="Project" c:type="GESProject*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline to save, it must have been extracted from @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1060">The #GESTimeline to save, it must have been extracted from @project</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">The uri where to save @project and @timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1061">The uri where to save @project and @timeline</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="formatter_asset"
- transfer-ownership="none"
+ transfer-ownership="full"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The formatter asset to use or %NULL. If %NULL,
-will try to save in the same format as the one from which the timeline as been loaded
-or default to the formatter with highest rank</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1062">The formatter asset to
+use or %NULL. If %NULL, will try to save in the same format as the one
+from which the timeline as been loaded or default to the best formatter
+as defined in #ges_find_formatter_for_uri</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
<parameter name="overwrite" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to overwrite file if it exists</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1066">%TRUE to overwrite file if it exists</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
@@ -5609,7 +10034,7 @@ or default to the formatter with highest rank</doc>
<type name="ProjectPrivate" c:type="GESProjectPrivate*"/>
</field>
<field name="__ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
+ <array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5619,7 +10044,9 @@ or default to the formatter with highest rank</doc>
</return-value>
<parameters>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset that has been added to @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="502">The #GESAsset that has been added to @project</doc>
<type name="Asset"/>
</parameter>
</parameters>
@@ -5630,7 +10057,9 @@ or default to the formatter with highest rank</doc>
</return-value>
<parameters>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset that started loading</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="512">The #GESAsset that started loading</doc>
<type name="Asset"/>
</parameter>
</parameters>
@@ -5641,13 +10070,36 @@ or default to the formatter with highest rank</doc>
</return-value>
<parameters>
<parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">The #GESAsset that has been removed from @project</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="524">The #GESAsset that has been removed from @project</doc>
<type name="Asset"/>
</parameter>
</parameters>
</glib:signal>
+ <glib:signal name="error-loading" when="last" version="1.18">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="607">The timeline that failed loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="608">The #GError defining the error that occured</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
<glib:signal name="error-loading-asset" when="last">
- <doc xml:space="preserve">Informs you that a #GESAsset could not be created. In case of
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="586">Informs you that a #GESAsset could not be created. In case of
missing GStreamer plugins, the error will be set to #GST_CORE_ERROR
#GST_CORE_ERROR_MISSING_PLUGIN</doc>
<return-value transfer-ownership="none">
@@ -5655,15 +10107,21 @@ missing GStreamer plugins, the error will be set to #GST_CORE_ERROR
</return-value>
<parameters>
<parameter name="error" transfer-ownership="none">
- <doc xml:space="preserve">The #GError defining the error that accured, might be %NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="589">The #GError defining the error that occured, might be %NULL</doc>
<type name="GLib.Error"/>
</parameter>
<parameter name="id" transfer-ownership="none">
- <doc xml:space="preserve">The @id of the asset that failed loading</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="590">The @id of the asset that failed loading</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
<parameter name="extractable_type" transfer-ownership="none">
- <doc xml:space="preserve">The @extractable_type of the asset that
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="591">The @extractable_type of the asset that
failed loading</doc>
<type name="GType" c:type="GType"/>
</parameter>
@@ -5675,13 +10133,30 @@ failed loading</doc>
</return-value>
<parameters>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline that complete loading</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="546">The #GESTimeline that completed loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="loading" when="first" version="1.18">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="534">The #GESTimeline that started loading</doc>
<type name="Timeline"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="missing-uri" when="last">
- <doc xml:space="preserve">|[
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="553">|[
static gchar
source_moved_cb (GESProject *project, GError *error, GESAsset *asset_with_error)
{
@@ -5699,16 +10174,22 @@ main (int argc, gchar ** argv)
}
]|</doc>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The new URI of @wrong_asset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="578">The new URI of @wrong_asset</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="error" transfer-ownership="none">
- <doc xml:space="preserve">The error that happened</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="556">The error that happened</doc>
<type name="GLib.Error"/>
</parameter>
<parameter name="wrong_asset" transfer-ownership="none">
- <doc xml:space="preserve">The asset with the wrong ID, you should us it and its content
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="557">The asset with the wrong ID, you should us it and its content
only to find out what the new location is.</doc>
<type name="Asset"/>
</parameter>
@@ -5718,11 +10199,13 @@ only to find out what the new location is.</doc>
<record name="ProjectClass"
c:type="GESProjectClass"
glib:is-gtype-struct-for="Project">
+ <source-position filename="ges/ges-project.h" line="68"/>
<field name="parent_class">
<type name="AssetClass" c:type="GESAssetClass"/>
</field>
<field name="asset_added">
<callback name="asset_added">
+ <source-position filename="ges/ges-project.h" line="49"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5738,6 +10221,7 @@ only to find out what the new location is.</doc>
</field>
<field name="asset_loading">
<callback name="asset_loading">
+ <source-position filename="ges/ges-project.h" line="51"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5753,6 +10237,7 @@ only to find out what the new location is.</doc>
</field>
<field name="asset_removed">
<callback name="asset_removed">
+ <source-position filename="ges/ges-project.h" line="53"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -5768,6 +10253,7 @@ only to find out what the new location is.</doc>
</field>
<field name="missing_uri">
<callback name="missing_uri">
+ <source-position filename="ges/ges-project.h" line="55"/>
<return-value transfer-ownership="full">
<type name="utf8" c:type="gchar*"/>
</return-value>
@@ -5786,6 +10272,7 @@ only to find out what the new location is.</doc>
</field>
<field name="loading_error">
<callback name="loading_error">
+ <source-position filename="ges/ges-project.h" line="58"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -5807,6 +10294,23 @@ only to find out what the new location is.</doc>
</field>
<field name="loaded">
<callback name="loaded">
+ <source-position filename="ges/ges-project.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loading">
+ <callback name="loading">
+ <source-position filename="ges/ges-project.h" line="64"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -5821,75 +10325,13 @@ only to find out what the new location is.</doc>
</callback>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="ProjectPrivate" c:type="GESProjectPrivate" disguised="1">
- </record>
- <class name="SmartAdder"
- c:symbol-prefix="smart_adder"
- c:type="GESSmartAdder"
- parent="Gst.Bin"
- glib:type-name="GESSmartAdder"
- glib:get-type="ges_smart_adder_get_type"
- glib:type-struct="SmartAdderClass">
- <implements name="Gst.ChildProxy"/>
- <constructor name="new" c:identifier="ges_smart_adder_new">
- <return-value transfer-ownership="none">
- <type name="Gst.Element" c:type="GstElement*"/>
- </return-value>
- <parameters>
- <parameter name="track" transfer-ownership="none">
- <type name="Track" c:type="GESTrack*"/>
- </parameter>
- </parameters>
- </constructor>
- <field name="parent_instance">
- <type name="Gst.Bin" c:type="GstBin"/>
- </field>
- <field name="pads_infos">
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="gpointer" c:type="gpointer"/>
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- <field name="srcpad">
- <type name="Gst.Pad" c:type="GstPad*"/>
- </field>
- <field name="adder">
- <type name="Gst.Element" c:type="GstElement*"/>
- </field>
- <field name="capsfilter">
- <type name="Gst.Element" c:type="GstElement*"/>
- </field>
- <field name="lock">
- <type name="GLib.Mutex" c:type="GMutex"/>
- </field>
- <field name="caps">
- <type name="Gst.Caps" c:type="GstCaps*"/>
- </field>
- <field name="track">
- <type name="Track" c:type="GESTrack*"/>
- </field>
- <field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
- </class>
- <record name="SmartAdderClass"
- c:type="GESSmartAdderClass"
- glib:is-gtype-struct-for="SmartAdder">
- <field name="parent_class">
- <type name="Gst.BinClass" c:type="GstBinClass"/>
- </field>
- <field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
+ <source-position filename="ges/ges-project.h" line="31"/>
</record>
<class name="Source"
c:symbol-prefix="source"
@@ -5898,7 +10340,10 @@ only to find out what the new location is.</doc>
glib:type-name="GESSource"
glib:get-type="ges_source_get_type"
glib:type-struct="SourceClass">
- <doc xml:space="preserve">Base class for single-media sources</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-source.h"
+ line="33">Base class for single-media sources</doc>
+ <source-position filename="ges/ges-source.h" line="61"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -5908,7 +10353,7 @@ only to find out what the new location is.</doc>
<type name="SourcePrivate" c:type="GESSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5916,11 +10361,12 @@ only to find out what the new location is.</doc>
<record name="SourceClass"
c:type="GESSourceClass"
glib:is-gtype-struct-for="Source">
+ <source-position filename="ges/ges-source.h" line="61"/>
<field name="parent_class" readable="0" private="1">
<type name="TrackElementClass" c:type="GESTrackElementClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5932,9 +10378,34 @@ only to find out what the new location is.</doc>
glib:type-name="GESSourceClip"
glib:get-type="ges_source_clip_get_type"
glib:type-struct="SourceClipClass">
- <doc xml:space="preserve">Base class for sources of a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-source-clip.c"
+ line="21">#GESSourceClip-s are clips whose core elements are #GESSource-s.
+
+## Effects
+
+#GESSourceClip-s can also have #GESBaseEffect-s added as non-core
+elements. These effects are applied to the core sources of the clip
+that they share a #GESTrack with. See #GESClip for how to add and move
+these effects from the clip.</doc>
+ <source-position filename="ges/ges-source-clip.h" line="59"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
+ <constructor name="new_time_overlay"
+ c:identifier="ges_source_clip_new_time_overlay"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-time-overlay-clip.c"
+ line="34">Creates a new #GESSourceClip that renders a time overlay on top</doc>
+ <source-position filename="ges/ges-time-overlay-clip.h" line="28"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-time-overlay-clip.c"
+ line="39">The newly created #GESSourceClip,
+or %NULL if there was an error.</doc>
+ <type name="SourceClip" c:type="GESSourceClip*"/>
+ </return-value>
+ </constructor>
<field name="parent">
<type name="Clip" c:type="GESClip"/>
</field>
@@ -5942,19 +10413,43 @@ only to find out what the new location is.</doc>
<type name="SourceClipPrivate" c:type="GESSourceClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
+ <class name="SourceClipAsset"
+ c:symbol-prefix="source_clip_asset"
+ c:type="GESSourceClipAsset"
+ parent="ClipAsset"
+ glib:type-name="GESSourceClipAsset"
+ glib:get-type="ges_source_clip_asset_get_type"
+ glib:type-struct="SourceClipAssetClass">
+ <source-position filename="ges/ges-source-clip-asset.h" line="37"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <field name="parent_instance">
+ <type name="ClipAsset" c:type="GESClipAsset"/>
+ </field>
+ </class>
+ <record name="SourceClipAssetClass"
+ c:type="GESSourceClipAssetClass"
+ glib:is-gtype-struct-for="SourceClipAsset">
+ <source-position filename="ges/ges-source-clip-asset.h" line="37"/>
+ <field name="parent_class">
+ <type name="ClipAssetClass" c:type="GESClipAssetClass"/>
+ </field>
+ </record>
<record name="SourceClipClass"
c:type="GESSourceClipClass"
glib:is-gtype-struct-for="SourceClip">
+ <source-position filename="ges/ges-source-clip.h" line="59"/>
<field name="parent_class" readable="0" private="1">
<type name="ClipClass" c:type="GESClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -5962,9 +10457,205 @@ only to find out what the new location is.</doc>
<record name="SourceClipPrivate"
c:type="GESSourceClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-source-clip.h" line="31"/>
</record>
<record name="SourcePrivate" c:type="GESSourcePrivate" disguised="1">
+ <source-position filename="ges/ges-source.h" line="31"/>
</record>
+ <function-macro name="TIMELINE_ELEMENT_DURATION"
+ c:identifier="GES_TIMELINE_ELEMENT_DURATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="57">The #GESTimelineElement:duration of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="63"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="59">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_END"
+ c:identifier="GES_TIMELINE_ELEMENT_END"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="40">The end position of @obj: #GESTimelineElement:start +
+#GESTimelineElement:duration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="47"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="42">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_INPOINT"
+ c:identifier="GES_TIMELINE_ELEMENT_INPOINT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="49">The #GESTimelineElement:in-point of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="55"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="51">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_LAYER_PRIORITY"
+ c:identifier="GES_TIMELINE_ELEMENT_LAYER_PRIORITY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="88">See #ges_timeline_element_get_layer_priority.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="94"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="90">The object to retrieve the layer priority from</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_MAX_DURATION"
+ c:identifier="GES_TIMELINE_ELEMENT_MAX_DURATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="65">The #GESTimelineElement:max-duration of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="71"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="67">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_NAME"
+ c:identifier="GES_TIMELINE_ELEMENT_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="112">The #GESTimelineElement:name of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="118"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="114">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TIMELINE_ELEMENT_NO_LAYER_PRIORITY"
+ value="4294967295"
+ c:type="GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="81">Layer priority when a timeline element is not in any layer.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="86"/>
+ <type name="guint32" c:type="guint32"/>
+ </constant>
+ <function-macro name="TIMELINE_ELEMENT_PARENT"
+ c:identifier="GES_TIMELINE_ELEMENT_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="96">The #GESTimelineElement:parent of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="102"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="98">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_PRIORITY"
+ c:identifier="GES_TIMELINE_ELEMENT_PRIORITY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="73">The #GESTimelineElement:priority of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="79"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="75">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_START"
+ c:identifier="GES_TIMELINE_ELEMENT_START"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="32">The #GESTimelineElement:start of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="34">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_TIMELINE"
+ c:identifier="GES_TIMELINE_ELEMENT_TIMELINE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="104">The #GESTimelineElement:timeline of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="110"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="106">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_GET_LAYERS"
+ c:identifier="GES_TIMELINE_GET_LAYERS"
+ introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_GET_TRACKS"
+ c:identifier="GES_TIMELINE_GET_TRACKS"
+ introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE"
+ c:identifier="GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.h"
+ line="36">What the default #GESTrackElement:has-internal-source value should be
+for new elements from this class.</doc>
+ <source-position filename="ges/ges-track-element.h" line="43"/>
+ <parameters>
+ <parameter name="klass">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.h"
+ line="38">A #GESTrackElementClass</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
<class name="TestClip"
c:symbol-prefix="test_clip"
c:type="GESTestClip"
@@ -5972,147 +10663,226 @@ only to find out what the new location is.</doc>
glib:type-name="GESTestClip"
glib:get-type="ges_test_clip_get_type"
glib:type-struct="TestClipClass">
- <doc xml:space="preserve">Useful for testing purposes.
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="23">Useful for testing purposes.
+
+## Asset
+
+The default asset ID is GESTestClip, but the framerate and video
+size can be overridden using an ID of the form:
-You can use the ges_asset_request_simple API to create an Asset
-capable of extracting GESTestClip-s</doc>
+```
+framerate=60/1, width=1920, height=1080, max-duration=5.0
+```
+Note: `max-duration` can be provided in seconds as float, or as GstClockTime
+as guint64 or gint.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="62"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_test_clip_new">
- <doc xml:space="preserve">Creates a new #GESTestClip.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="565">Creates a new #GESTestClip.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="90"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESTestClip,
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="570">The newly created #GESTestClip,
or %NULL if there was an error.</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</return-value>
</constructor>
<constructor name="new_for_nick"
c:identifier="ges_test_clip_new_for_nick">
- <doc xml:space="preserve">Creates a new #GESTestClip for the provided @nick.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="585">Creates a new #GESTestClip for the provided @nick.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="92"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESTestClip,
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="591">The newly created #GESTestClip,
or %NULL if there was an error.</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</return-value>
<parameters>
<parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">the nickname for which to create the #GESTestClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="587">the nickname for which to create the #GESTestClip</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_frequency" c:identifier="ges_test_clip_get_frequency">
- <doc xml:space="preserve">Get the frequency @self generates.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The frequency @self generates. See audiotestsrc element.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="488">Get the frequency @self generates.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="494">The frequency @self generates. See audiotestsrc element.</doc>
<type name="gdouble" c:type="gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTestClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="490">a #GESTestClip</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_volume" c:identifier="ges_test_clip_get_volume">
- <doc xml:space="preserve">Get the volume of the test audio signal applied on @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The volume of the test audio signal applied on @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="502">Get the volume of the test audio signal applied on @self.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="508">The volume of the test audio signal applied on @self.</doc>
<type name="gdouble" c:type="gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTestClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="504">a #GESTestClip</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_vpattern" c:identifier="ges_test_clip_get_vpattern">
- <doc xml:space="preserve">Get the #GESVideoTestPattern which is applied on @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The #GESVideoTestPattern which is applied on @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="460">Get the #GESVideoTestPattern which is applied on @self.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="466">The #GESVideoTestPattern which is applied on @self.</doc>
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTestClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="462">a #GESTestClip</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_muted" c:identifier="ges_test_clip_is_muted">
- <doc xml:space="preserve">Let you know if the audio track of @self is muted or not.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">Whether the audio track of @self is muted or not.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="474">Let you know if the audio track of @self is muted or not.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="480">Whether the audio track of @self is muted or not.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTestClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="476">a #GESTestClip</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_frequency" c:identifier="ges_test_clip_set_frequency">
- <doc xml:space="preserve">Sets the frequency to generate. See audiotestsrc element.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="414">Sets the frequency to generate. See audiotestsrc element.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="72"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTestClip to set the frequency on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="416">the #GESTestClip to set the frequency on</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
<parameter name="freq" transfer-ownership="none">
- <doc xml:space="preserve">the frequency you want to use on @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="417">the frequency you want to use on @self</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_mute" c:identifier="ges_test_clip_set_mute">
- <doc xml:space="preserve">Sets whether the audio track of this clip is muted or not.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="364">Sets whether the audio track of this clip is muted or not.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="65"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTestClip on which to mute or unmute the audio track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="366">the #GESTestClip on which to mute or unmute the audio track</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
<parameter name="mute" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to mute the audio track, %FALSE to unmute it</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="367">%TRUE to mute the audio track, %FALSE to unmute it</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_volume" c:identifier="ges_test_clip_set_volume">
- <doc xml:space="preserve">Sets the volume of the test audio signal.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="437">Sets the volume of the test audio signal.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="75"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTestClip to set the volume on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="439">the #GESTestClip to set the volume on</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
<parameter name="volume" transfer-ownership="none">
- <doc xml:space="preserve">the volume of the audio signal you want to use on @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="440">the volume of the audio signal you want to use on @self</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_vpattern" c:identifier="ges_test_clip_set_vpattern">
- <doc xml:space="preserve">Sets which video pattern to display on @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="391">Sets which video pattern to display on @self.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="68"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTestClip to set the pattern on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="393">the #GESTestClip to set the pattern on</doc>
<type name="TestClip" c:type="GESTestClip*"/>
</instance-parameter>
<parameter name="vpattern" transfer-ownership="none">
- <doc xml:space="preserve">the #GESVideoTestPattern to use on @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="394">the #GESVideoTestPattern to use on @self</doc>
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
</parameter>
</parameters>
@@ -6121,28 +10891,36 @@ or %NULL if there was an error.</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The frequency to generate for audio track elements.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="320">The frequency to generate for audio track elements.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="mute"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Whether the sound will be played or not.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="341">Whether the sound will be played or not.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="volume"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The volume for the audio track elements.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="330">The volume for the audio track elements.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="vpattern"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Video pattern to display in video track elements.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="309">Video pattern to display in video track elements.</doc>
<type name="VideoTestPattern"/>
</property>
<field name="parent">
@@ -6152,7 +10930,7 @@ or %NULL if there was an error.</doc>
<type name="TestClipPrivate" c:type="GESTestClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -6160,45 +10938,57 @@ or %NULL if there was an error.</doc>
<record name="TestClipClass"
c:type="GESTestClipClass"
glib:is-gtype-struct-for="TestClip">
+ <source-position filename="ges/ges-test-clip.h" line="62"/>
<field name="parent_class" readable="0" private="1">
<type name="SourceClipClass" c:type="GESSourceClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="TestClipPrivate" c:type="GESTestClipPrivate" disguised="1">
+ <source-position filename="ges/ges-test-clip.h" line="35"/>
</record>
<enumeration name="TextHAlign"
glib:type-name="GESTextHAlign"
glib:get-type="ges_text_halign_get_type"
c:type="GESTextHAlign">
- <doc xml:space="preserve">Horizontal alignment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="257">Horizontal alignment of the text.</doc>
<member name="left"
value="0"
c:identifier="GES_TEXT_HALIGN_LEFT"
glib:nick="left">
- <doc xml:space="preserve">align text left</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="259">align text left</doc>
</member>
<member name="center"
value="1"
c:identifier="GES_TEXT_HALIGN_CENTER"
glib:nick="center">
- <doc xml:space="preserve">align text center</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="260">align text center</doc>
</member>
<member name="right"
value="2"
c:identifier="GES_TEXT_HALIGN_RIGHT"
glib:nick="right">
- <doc xml:space="preserve">align text right</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="261">align text right</doc>
</member>
<member name="position"
value="4"
c:identifier="GES_TEXT_HALIGN_POSITION"
glib:nick="position">
- <doc xml:space="preserve">align text on xpos position</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="262">align text on xpos position</doc>
</member>
<member name="absolute"
value="5"
@@ -6213,174 +11003,262 @@ or %NULL if there was an error.</doc>
glib:type-name="GESTextOverlay"
glib:get-type="ges_text_overlay_get_type"
glib:type-struct="TextOverlayClass">
+ <source-position filename="ges/ges-text-overlay.h" line="54"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
- <constructor name="new" c:identifier="ges_text_overlay_new">
- <doc xml:space="preserve">Creates a new #GESTextOverlay.</doc>
+ <constructor name="new"
+ c:identifier="ges_text_overlay_new"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="426">Creates a new #GESTextOverlay.</doc>
+ <doc-deprecated xml:space="preserve">This should never be called by applications as this will
+be created by clips.</doc-deprecated>
+ <source-position filename="ges/ges-text-overlay.h" line="81"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESTextOverlay or
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="431">The newly created #GESTextOverlay or
%NULL if something went wrong.</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</return-value>
</constructor>
<method name="get_color" c:identifier="ges_text_overlay_get_color">
- <doc xml:space="preserve">Get the color used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The color used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="384">Get the color used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="390">The color used by @source.</doc>
<type name="guint32" c:type="const guint32"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="386">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_font_desc"
c:identifier="ges_text_overlay_get_font_desc">
- <doc xml:space="preserve">Get the pango font description currently set on @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The pango font description currently set on @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="342">Get the pango font description currently set on @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="348">The pango font description currently set on @source.</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="344">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_halignment"
c:identifier="ges_text_overlay_get_halignment">
- <doc xml:space="preserve">Get the horizontal aligment used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal aligment used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="356">Get the horizontal aligment used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="362">The horizontal aligment used by @source.</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="358">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_text" c:identifier="ges_text_overlay_get_text">
- <doc xml:space="preserve">Get the text currently set on @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The text currently set on @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="328">Get the text currently set on @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="334">The text currently set on @source.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="330">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_valignment"
c:identifier="ges_text_overlay_get_valignment">
- <doc xml:space="preserve">Get the vertical aligment used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical aligment used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="370">Get the vertical aligment used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="376">The vertical aligment used by @source.</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="372">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_xpos" c:identifier="ges_text_overlay_get_xpos">
- <doc xml:space="preserve">Get the horizontal position used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="398">Get the horizontal position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="404">The horizontal position used by @source.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="400">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ypos" c:identifier="ges_text_overlay_get_ypos">
- <doc xml:space="preserve">Get the vertical position used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical position used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="412">Get the vertical position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="418">The vertical position used by @source.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="414">a GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_color" c:identifier="ges_text_overlay_set_color">
- <doc xml:space="preserve">Sets the color of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="277">Sets the color of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="71"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="279">the #GESTextOverlay* to set</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="color" transfer-ownership="none">
- <doc xml:space="preserve">The color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="280">The color @self is being set to</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_font_desc"
c:identifier="ges_text_overlay_set_font_desc">
- <doc xml:space="preserve">Sets the pango font description of the text this track element
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="216">Sets the pango font description of the text this track element
will render.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="60"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="218">the #GESTextOverlay</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="font_desc" transfer-ownership="none">
- <doc xml:space="preserve">the pango font description</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="219">the pango font description</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_halignment"
c:identifier="ges_text_overlay_set_halignment">
- <doc xml:space="preserve">Sets the horizontal aligment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="258">Sets the horizontal aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="64"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="260">the #GESTextOverlay* to set text on</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="halign" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTextHAlign defining the horizontal alignment
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="261">The #GESTextHAlign defining the horizontal alignment
of the text render by @self.</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</parameter>
</parameters>
</method>
<method name="set_text" c:identifier="ges_text_overlay_set_text">
- <doc xml:space="preserve">Sets the text this track element will render.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="194">Sets the text this track element will render.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="57"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="196">the #GESTextOverlay* to set text on</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to render. an internal copy of this text will be
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="197">the text to render. an internal copy of this text will be
made.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -6388,50 +11266,71 @@ made.</doc>
</method>
<method name="set_valignment"
c:identifier="ges_text_overlay_set_valignment">
- <doc xml:space="preserve">Sets the vertical aligment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="239">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="68"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="241">the #GESTextOverlay* to set text on</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="valign" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTextVAlign defining the vertical alignment
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="242">The #GESTextVAlign defining the vertical alignment
of the text render by @self.</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</parameter>
</parameters>
</method>
<method name="set_xpos" c:identifier="ges_text_overlay_set_xpos">
- <doc xml:space="preserve">Sets the horizontal position of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="294">Sets the horizontal position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="74"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="296">the #GESTextOverlay* to set</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="297">The horizontal position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_ypos" c:identifier="ges_text_overlay_set_ypos">
- <doc xml:space="preserve">Sets the vertical position of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="311">Sets the vertical position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="77"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlay* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="313">the #GESTextOverlay* to set</doc>
<type name="TextOverlay" c:type="GESTextOverlay*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The vertical position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="314">The vertical position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
@@ -6443,7 +11342,7 @@ of the text render by @self.</doc>
<type name="TextOverlayPrivate" c:type="GESTextOverlayPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -6451,11 +11350,12 @@ of the text render by @self.</doc>
<record name="TextOverlayClass"
c:type="GESTextOverlayClass"
glib:is-gtype-struct-for="TextOverlay">
+ <source-position filename="ges/ges-text-overlay.h" line="54"/>
<field name="parent_class">
<type name="OperationClass" c:type="GESOperationClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -6467,173 +11367,258 @@ of the text render by @self.</doc>
glib:type-name="GESTextOverlayClip"
glib:get-type="ges_text_overlay_clip_get_type"
glib:type-struct="TextOverlayClipClass">
- <doc xml:space="preserve">Renders text onto the next lower priority stream using textrender.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="21">Renders text onto the next lower priority stream using textrender.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="59"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_text_overlay_clip_new">
- <doc xml:space="preserve">Creates a new #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="582">Creates a new #GESTextOverlayClip</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="112"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="587">The newly created
#GESTextOverlayClip, or %NULL if there was an error.</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</return-value>
</constructor>
<method name="get_color" c:identifier="ges_text_overlay_clip_get_color">
- <doc xml:space="preserve">Get the color used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The color used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="513">Get the color used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="519">The color used by @source.</doc>
<type name="guint32" c:type="const guint32"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="515">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_font_desc"
c:identifier="ges_text_overlay_clip_get_font_desc">
- <doc xml:space="preserve">Get the pango font description used by @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The pango font description used by @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="471">Get the pango font description used by @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="477">The pango font description used by @self.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="473">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_halignment"
c:identifier="ges_text_overlay_clip_get_halignment">
- <doc xml:space="preserve">Get the horizontal aligment used by @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal aligment used by @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="485">Get the horizontal aligment used by @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="491">The horizontal aligment used by @self.</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="487">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_text" c:identifier="ges_text_overlay_clip_get_text">
- <doc xml:space="preserve">Get the text currently set on @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The text currently set on @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="456">Get the text currently set on @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="462">The text currently set on @self.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="458">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_valignment"
c:identifier="ges_text_overlay_clip_get_valignment">
- <doc xml:space="preserve">Get the vertical aligment used by @self.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical aligment used by @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="499">Get the vertical aligment used by @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="505">The vertical aligment used by @self.</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="501">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_xpos" c:identifier="ges_text_overlay_clip_get_xpos">
- <doc xml:space="preserve">Get the horizontal position used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="528">Get the horizontal position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="534">The horizontal position used by @source.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="530">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ypos" c:identifier="ges_text_overlay_clip_get_ypos">
- <doc xml:space="preserve">Get the vertical position used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical position used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="543">Get the vertical position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="549">The vertical position used by @source.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTextOverlayClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="545">a #GESTextOverlayClip</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_color" c:identifier="ges_text_overlay_clip_set_color">
- <doc xml:space="preserve">Sets the color of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="378">Sets the color of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="78"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="380">the #GESTextOverlayClip* to set</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="color" transfer-ownership="none">
- <doc xml:space="preserve">The color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="381">The color @self is being set to</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_font_desc"
c:identifier="ges_text_overlay_clip_set_font_desc">
- <doc xml:space="preserve">Sets the pango font description of the text</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="288">Sets the pango font description of the text</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="66"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip*</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="290">the #GESTextOverlayClip*</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="font_desc" transfer-ownership="none">
- <doc xml:space="preserve">the pango font description</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="291">the pango font description</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_halign"
c:identifier="ges_text_overlay_clip_set_halign">
- <doc xml:space="preserve">Sets the horizontal aligment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="320">Sets the horizontal aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="74"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip* to set horizontal alignement of text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="322">the #GESTextOverlayClip* to set horizontal alignement of text on</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="halign" transfer-ownership="none">
- <doc xml:space="preserve">#GESTextHAlign</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="323">#GESTextHAlign</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</parameter>
</parameters>
</method>
<method name="set_text" c:identifier="ges_text_overlay_clip_set_text">
- <doc xml:space="preserve">Sets the text this clip will render.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="257">Sets the text this clip will render.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="62"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="259">the #GESTextOverlayClip* to set text on</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to render. an internal copy of this text will be
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="260">the text to render. an internal copy of this text will be
made.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -6641,49 +11626,70 @@ made.</doc>
</method>
<method name="set_valign"
c:identifier="ges_text_overlay_clip_set_valign">
- <doc xml:space="preserve">Sets the vertical aligment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="349">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="70"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip* to set vertical alignement of text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="351">the #GESTextOverlayClip* to set vertical alignement of text on</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="valign" transfer-ownership="none">
- <doc xml:space="preserve">#GESTextVAlign</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="352">#GESTextVAlign</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</parameter>
</parameters>
</method>
<method name="set_xpos" c:identifier="ges_text_overlay_clip_set_xpos">
- <doc xml:space="preserve">Sets the horizontal position of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="404">Sets the horizontal position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="82"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="406">the #GESTextOverlayClip* to set</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="407">The horizontal position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_ypos" c:identifier="ges_text_overlay_clip_set_ypos">
- <doc xml:space="preserve">Sets the vertical position of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="430">Sets the vertical position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="86"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTextOverlayClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="432">the #GESTextOverlayClip* to set</doc>
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The vertical position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="433">The vertical position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
@@ -6692,49 +11698,63 @@ made.</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The color of the text</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="210">The color of the text</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="font-desc"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Pango font description string</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="173">Pango font description string</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="halignment"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Horizontal alignment of the text</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="196">Horizontal alignment of the text</doc>
<type name="TextHAlign"/>
</property>
<property name="text"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The text to diplay</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="163">The text to diplay</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="valignment"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Vertical alignent of the text</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="186">Vertical alignent of the text</doc>
<type name="TextVAlign"/>
</property>
<property name="xpos"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position of the text</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="220">The horizontal position of the text</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="ypos"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The vertical position of the text</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="230">The vertical position of the text</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<field name="parent">
@@ -6745,7 +11765,7 @@ made.</doc>
c:type="GESTextOverlayClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -6753,11 +11773,12 @@ made.</doc>
<record name="TextOverlayClipClass"
c:type="GESTextOverlayClipClass"
glib:is-gtype-struct-for="TextOverlayClip">
+ <source-position filename="ges/ges-text-overlay-clip.h" line="59"/>
<field name="parent_class" readable="0" private="1">
<type name="OverlayClipClass" c:type="GESOverlayClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -6765,45 +11786,59 @@ made.</doc>
<record name="TextOverlayClipPrivate"
c:type="GESTextOverlayClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-text-overlay-clip.h" line="30"/>
</record>
<record name="TextOverlayPrivate"
c:type="GESTextOverlayPrivate"
disguised="1">
+ <source-position filename="ges/ges-text-overlay.h" line="30"/>
</record>
<enumeration name="TextVAlign"
glib:type-name="GESTextVAlign"
glib:get-type="ges_text_valign_get_type"
c:type="GESTextVAlign">
- <doc xml:space="preserve">Vertical alignment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="230">Vertical alignment of the text.</doc>
<member name="baseline"
value="0"
c:identifier="GES_TEXT_VALIGN_BASELINE"
glib:nick="baseline">
- <doc xml:space="preserve">draw text on the baseline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="232">draw text on the baseline</doc>
</member>
<member name="bottom"
value="1"
c:identifier="GES_TEXT_VALIGN_BOTTOM"
glib:nick="bottom">
- <doc xml:space="preserve">draw text on the bottom</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="233">draw text on the bottom</doc>
</member>
<member name="top"
value="2"
c:identifier="GES_TEXT_VALIGN_TOP"
glib:nick="top">
- <doc xml:space="preserve">draw text on top</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="234">draw text on top</doc>
</member>
<member name="position"
value="3"
c:identifier="GES_TEXT_VALIGN_POSITION"
glib:nick="position">
- <doc xml:space="preserve">draw text on ypos position</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="235">draw text on ypos position</doc>
</member>
<member name="center"
value="4"
c:identifier="GES_TEXT_VALIGN_CENTER"
glib:nick="center">
- <doc xml:space="preserve">draw text on the center</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="236">draw text on the center</doc>
</member>
<member name="absolute"
value="5"
@@ -6818,55 +11853,165 @@ made.</doc>
glib:type-name="GESTimeline"
glib:get-type="ges_timeline_get_type"
glib:type-struct="TimelineClass">
- <doc xml:space="preserve">#GESTimeline is the central object for any multimedia timeline.
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="26">#GESTimeline is the central object for any multimedia timeline.
+
+A timeline is composed of a set of #GESTrack-s and a set of
+#GESLayer-s, which are added to the timeline using
+ges_timeline_add_track() and ges_timeline_append_layer(), respectively.
+
+The contained tracks define the supported types of the timeline
+and provide the media output. Essentially, each track provides an
+additional source #GstPad.
+
+Most usage of a timeline will likely only need a single #GESAudioTrack
+and/or a single #GESVideoTrack. You can create such a timeline with
+ges_timeline_new_audio_video(). After this, you are unlikely to need to
+work with the tracks directly.
+
+A timeline's layers contain #GESClip-s, which in turn control the
+creation of #GESTrackElement-s, which are added to the timeline's
+tracks. See #GESTimeline::select-tracks-for-object if you wish to have
+more control over which track a clip's elements are added to.
+
+The layers are ordered, with higher priority layers having their
+content prioritised in the tracks. This ordering can be changed using
+ges_timeline_move_layer().
+
+## Editing
+
+See #GESTimelineElement for the various ways the elements of a timeline
+can be edited.
+
+If you change the timing or ordering of a timeline's
+#GESTimelineElement-s, then these changes will not actually be taken
+into account in the output of the timeline's tracks until the
+ges_timeline_commit() method is called. This allows you to move its
+elements around, say, in response to an end user's mouse dragging, with
+little expense before finalising their effect on the produced data.
+
+## Overlaps and Auto-Transitions
+
+There are certain restrictions placed on how #GESSource-s may overlap
+in a #GESTrack that belongs to a timeline. These will be enforced by
+GES, so the user will not need to keep track of them, but they should
+be aware that certain edits will be refused as a result if the overlap
+rules would be broken.
+
+Consider two #GESSource-s, `A` and `B`, with start times `startA` and
+`startB`, and end times `endA` and `endB`, respectively. The start
+time refers to their #GESTimelineElement:start, and the end time is
+their #GESTimelineElement:start + #GESTimelineElement:duration. These
+two sources *overlap* if:
+
++ they share the same #GESTrackElement:track (non %NULL), which belongs
+ to the timeline;
++ they share the same #GES_TIMELINE_ELEMENT_LAYER_PRIORITY; and
++ `startA &lt; endB` and `startB &lt; endA `.
-Contains a list of #GESLayer which users should use to arrange the
-various clips through time.
+Note that when `startA = endB` or `startB = endA` then the two sources
+will *touch* at their edges, but are not considered overlapping.
-The output type is determined by the #GESTrack that are set on
-the #GESTimeline.
+If, in addition, `startA &lt; startB &lt; endA`, then we can say that the
+end of `A` overlaps the start of `B`.
-To save/load a timeline, you can use the ges_timeline_load_from_uri() and
-ges_timeline_save_to_uri() methods to use the default format. If you wish
+If, instead, `startA &lt;= startB` and `endA &gt;= endB`, then we can say
+that `A` fully overlaps `B`.
-Note that any change you make in the timeline will not actually be taken
-into account until you call the #ges_timeline_commit method.</doc>
+The overlap rules for a timeline are that:
+
+1. One source cannot fully overlap another source.
+2. A source can only overlap the end of up to one other source at its
+ start.
+3. A source can only overlap the start of up to one other source at its
+ end.
+
+The last two rules combined essentially mean that at any given timeline
+position, only up to two #GESSource-s may overlap at that position. So
+triple or more overlaps are not allowed.
+
+If you switch on #GESTimeline:auto-transition, then at any moment when
+the end of one source (the first source) overlaps the start of another
+(the second source), a #GESTransitionClip will be automatically created
+for the pair in the same layer and it will cover their overlap. If the
+two elements are edited in a way such that the end of the first source
+no longer overlaps the start of the second, the transition will be
+automatically removed from the timeline. However, if the two sources
+still overlap at the same edges after the edit, then the same
+transition object will be kept, but with its timing and layer adjusted
+accordingly.
+
+## Saving
+
+To save/load a timeline, you can use the ges_timeline_load_from_uri()
+and ges_timeline_save_to_uri() methods that use the default format.
+
+## Playing
+
+A timeline is a #GstBin with a source #GstPad for each of its
+tracks, which you can fetch with ges_timeline_get_pad_for_track(). You
+will likely want to link these to some compatible sink #GstElement-s to
+be able to play or capture the content of the timeline.
+
+You can use a #GESPipeline to easily preview/play the timeline's
+content, or render it to a file.</doc>
+ <source-position filename="ges/ges-timeline.h" line="87"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<implements name="Gst.ChildProxy"/>
<constructor name="new" c:identifier="ges_timeline_new">
- <doc xml:space="preserve">Creates a new empty #GESTimeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The new timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2089">Creates a new empty timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2094">The new timeline.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</return-value>
</constructor>
<constructor name="new_audio_video"
c:identifier="ges_timeline_new_audio_video">
- <doc xml:space="preserve">Creates a new #GESTimeline containing a raw audio and a
-raw video track.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The newly created #GESTimeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-utils.c"
+ line="40">Creates a new timeline containing a single #GESAudioTrack and a
+single #GESVideoTrack.</doc>
+ <source-position filename="ges/ges-utils.h" line="29"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-utils.c"
+ line="46">The new timeline, or %NULL if the tracks
+could not be created and added.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</return-value>
</constructor>
<constructor name="new_from_uri"
c:identifier="ges_timeline_new_from_uri"
throws="1">
- <doc xml:space="preserve">Creates a timeline from the given URI.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2109">Creates a timeline from the given URI.</doc>
+ <source-position filename="ges/ges-timeline.h" line="92"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">A new timeline if the uri was loaded
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2117">A new timeline if the uri was loaded
successfully, or %NULL if the uri could not be loaded.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to load from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2111">The URI to load from</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="group_added">
+ <source-position filename="ges/ges-timeline.h" line="82"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -6880,6 +12025,7 @@ successfully, or %NULL if the uri could not be loaded.</doc>
</parameters>
</virtual-method>
<virtual-method name="group_removed" introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="83"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -6898,6 +12044,7 @@ successfully, or %NULL if the uri could not be loaded.</doc>
</parameters>
</virtual-method>
<virtual-method name="layer_added">
+ <source-position filename="ges/ges-timeline.h" line="80"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -6911,6 +12058,7 @@ successfully, or %NULL if the uri could not be loaded.</doc>
</parameters>
</virtual-method>
<virtual-method name="layer_removed">
+ <source-position filename="ges/ges-timeline.h" line="81"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -6924,6 +12072,7 @@ successfully, or %NULL if the uri could not be loaded.</doc>
</parameters>
</virtual-method>
<virtual-method name="track_added">
+ <source-position filename="ges/ges-timeline.h" line="78"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -6937,6 +12086,7 @@ successfully, or %NULL if the uri could not be loaded.</doc>
</parameters>
</virtual-method>
<virtual-method name="track_removed">
+ <source-position filename="ges/ges-timeline.h" line="79"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -6949,167 +12099,303 @@ successfully, or %NULL if the uri could not be loaded.</doc>
</parameter>
</parameters>
</virtual-method>
- <method name="add_layer" c:identifier="ges_timeline_add_layer">
- <doc xml:space="preserve">Add the layer to the timeline. The reference to the @layer will be stolen
-by the @timeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the layer was properly added, else %FALSE.</doc>
+ <method name="add_layer"
+ c:identifier="ges_timeline_add_layer"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2253">Add a layer to the timeline.
+
+If the layer contains #GESClip-s, then this may trigger the creation of
+their core track element children for the timeline's tracks, and the
+placement of the clip's children in the tracks of the timeline using
+#GESTimeline::select-tracks-for-object. Some errors may occur if this
+would break one of the configuration rules of the timeline in one of
+its tracks. In such cases, some track elements would fail to be added
+to their tracks, but this method would still return %TRUE. As such, it
+is advised that you only add clips to layers that already part of a
+timeline. In such situations, ges_layer_add_clip() is able to fail if
+adding the clip would cause such an error.</doc>
+ <doc-deprecated xml:space="preserve">This method requires you to ensure the layer's
+#GESLayer:priority will be unique to the timeline. Use
+ges_timeline_append_layer() and ges_timeline_move_layer() instead.</doc-deprecated>
+ <source-position filename="ges/ges-timeline.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2275">%TRUE if @layer was properly added.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2255">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">the #GESLayer to add</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2256">The layer to add</doc>
<type name="Layer" c:type="GESLayer*"/>
</parameter>
</parameters>
</method>
<method name="add_track" c:identifier="ges_timeline_add_track">
- <doc xml:space="preserve">Add a track to the timeline. The reference to the track will be stolen by the
-pipeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the track was properly added, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2399">Add a track to the timeline.
+
+If the timeline already contains clips, then this may trigger the
+creation of their core track element children for the track, and the
+placement of the clip's children in the track of the timeline using
+#GESTimeline::select-tracks-for-object. Some errors may occur if this
+would break one of the configuration rules for the timeline in the
+track. In such cases, some track elements would fail to be added to the
+track, but this method would still return %TRUE. As such, it is advised
+that you avoid adding tracks to timelines that already contain clips.</doc>
+ <source-position filename="ges/ges-timeline.h" line="111"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2415">%TRUE if @track was properly added.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2401">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="track" transfer-ownership="full">
- <doc xml:space="preserve">the #GESTrack to add</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2402">The track to add</doc>
<type name="Track" c:type="GESTrack*"/>
</parameter>
</parameters>
</method>
<method name="append_layer" c:identifier="ges_timeline_append_layer">
- <doc xml:space="preserve">Append a newly created #GESLayer to @timeline
-Note that you do not own any reference to the returned layer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The newly created #GESLayer, or the last (empty)
-#GESLayer of @timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2221">Append a newly created layer to the timeline. The layer will
+be added at the lowest #GESLayer:priority (numerically, the highest).</doc>
+ <source-position filename="ges/ges-timeline.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2228">The newly created layer.</doc>
<type name="Layer" c:type="GESLayer*"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2223">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="commit" c:identifier="ges_timeline_commit">
- <doc xml:space="preserve">Commit all the pending changes of the clips contained in the
-@timeline.
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2762">Commit all the pending changes of the clips contained in the
+timeline.
-When changes happen in a timeline, they are not
-directly executed in the non-linear engine. Call this method once you are
-done with a set of changes and want it to be executed.
-
-The #GESTimeline::commited signal will be emitted when the (possibly updated)
-#GstPipeline is ready to output data again, except if the state of the
-timeline was #GST_STATE_READY or #GST_STATE_NULL.
-
-Note that all the pending changes will automatically be executed when the
-timeline goes from #GST_STATE_READY to #GST_STATE_PAUSED, which usually is
-triggered by corresponding state changes in a containing #GESPipeline.
+When changes happen in a timeline, they are not immediately executed
+internally, in a way that effects the output data of the timeline. You
+should call this method when you are done with a set of changes and you
+want them to be executed.
+Any pending changes will be executed in the backend. The
+#GESTimeline::commited signal will be emitted once this has completed.
You should not try to change the state of the timeline, seek it or add
-tracks to it during a commit operation, that is between a call to this
-function and after receiving the #GESTimeline::commited signal.
+tracks to it before receiving this signal. You can use
+ges_timeline_commit_sync() if you do not want to perform other tasks in
+the mean time.
-See #ges_timeline_commit_sync if you don't want to bother with waiting
-for the signal.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if pending changes were commited or %FALSE if nothing needed
-to be commited</doc>
+Note that all the pending changes will automatically be executed when
+the timeline goes from #GST_STATE_READY to #GST_STATE_PAUSED, which is
+usually triggered by a corresponding state changes in a containing
+#GESPipeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2786">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2764">A #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="commit_sync" c:identifier="ges_timeline_commit_sync">
- <doc xml:space="preserve">Commit all the pending changes of the #GESClips contained in the
-@timeline.
-
-Will return once the update is complete, that is when the
-(possibly updated) #GstPipeline is ready to output data again, or if the
-state of the timeline was #GST_STATE_READY or #GST_STATE_NULL.
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2819">Commit all the pending changes of the clips contained in the
+timeline and wait for the changes to complete.
-This function will wait for any pending state change of the timeline by
-calling #gst_element_get_state with a #GST_CLOCK_TIME_NONE timeout, you
-should not try to change the state from another thread before this function
-has returned.
-
-See #ges_timeline_commit for more information.</doc>
+See ges_timeline_commit().</doc>
+ <source-position filename="ges/ges-timeline.h" line="128"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if pending changes were commited or %FALSE if nothing needed
-to be commited</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2828">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2821">A #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_auto_transition"
c:identifier="ges_timeline_get_auto_transition">
- <doc xml:space="preserve">Gets whether transitions are automatically added when objects
-overlap or not.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if transitions are automatically added, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2885">Gets #GESTimeline:auto-transition for the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2891">The auto-transition of @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2887">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_duration" c:identifier="ges_timeline_get_duration">
- <doc xml:space="preserve">Get the current duration of @timeline</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current duration of @timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2868">Get the current #GESTimeline:duration of the timeline</doc>
+ <source-position filename="ges/ges-timeline.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2874">The current duration of @timeline.</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2870">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_element" c:identifier="ges_timeline_get_element">
- <doc xml:space="preserve">Gets a #GESTimelineElement contained in the timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2970">Gets the element contained in the timeline with the given name.</doc>
+ <source-position filename="ges/ges-timeline.h" line="142"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">The #GESTimelineElement or %NULL if
-not found.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2977">The timeline element in @timeline
+with the given @name, or %NULL if it was not found.</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2972">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2973">The name of the element to find</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
- <method name="get_groups" c:identifier="ges_timeline_get_groups">
- <doc xml:space="preserve">Get the list of #GESGroup present in the Timeline.</doc>
+ <method name="get_frame_at" c:identifier="ges_timeline_get_frame_at">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3241">This method allows you to convert a timeline #GstClockTime into its
+corresponding #GESFrameNumber in the timeline's output.</doc>
+ <source-position filename="ges/ges-timeline.h" line="156"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the list of
-#GESGroup that contain clips present in the timeline's layers.
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3249">The frame number @timestamp corresponds to.</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3243">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3244">The timestamp to get the corresponding frame number of</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_time" c:identifier="ges_timeline_get_frame_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3214">This method allows you to convert a timeline output frame number into a
+timeline #GstClockTime. For example, this time could be used to seek to a
+particular frame in the timeline's output, or as the edit position for
+an element within the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3225">The timestamp corresponding to @frame_number in the output of @self.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3216">The self on which to retrieve the timestamp for @frame_number</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3217">The frame number to get the corresponding timestamp of in the
+ timeline coordinates</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_groups" c:identifier="ges_timeline_get_groups">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2202">Get the list of #GESGroup-s present in the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="123"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2208">The list of
+groups that contain clips present in @timeline's layers.
Must not be changed.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Group"/>
@@ -7117,127 +12403,183 @@ Must not be changed.</doc>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2204">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_layer" c:identifier="ges_timeline_get_layer">
- <doc xml:space="preserve">Retrieve the layer with @priority as a priority</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3041">Retrieve the layer whose index in the timeline matches the given
+priority.</doc>
+ <source-position filename="ges/ges-timeline.h" line="108"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">A #GESLayer or %NULL if no layer with
-@priority was found
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3049">The layer with the given
+@priority, or %NULL if none was found.
Since 1.6</doc>
<type name="Layer" c:type="GESLayer*"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline to retrive a layer from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3043">The #GESTimeline to retrieve a layer from</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="priority" transfer-ownership="none">
- <doc xml:space="preserve">The priority of the layer to find</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3044">The priority/index of the layer to find</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="get_layers" c:identifier="ges_timeline_get_layers">
- <doc xml:space="preserve">Get the list of #GESLayer present in the Timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2672">Get the list of #GESLayer-s present in the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="106"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the list of
-#GESLayer present in the Timeline sorted by priority.
-The caller should unref each Layer once he is done with them.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2678">The list of
+layers present in @timeline sorted by priority.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Layer"/>
</type>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2674">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_pad_for_track"
c:identifier="ges_timeline_get_pad_for_track">
- <doc xml:space="preserve">Search the #GstPad corresponding to the given @timeline's @track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2616">Search for the #GstPad corresponding to the given timeline's track.
+You can link to this pad to receive the output data of the given track.</doc>
+ <source-position filename="ges/ges-timeline.h" line="118"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The corresponding #GstPad if it is
-found, or %NULL if there is an error.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2624">The pad corresponding to @track,
+or %NULL if there is an error.</doc>
<type name="Gst.Pad" c:type="GstPad*"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2618">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2619">A track</doc>
<type name="Track" c:type="GESTrack*"/>
</parameter>
</parameters>
</method>
<method name="get_snapping_distance"
c:identifier="ges_timeline_get_snapping_distance">
- <doc xml:space="preserve">Gets the configured snapping distance of the timeline. See
-the documentation of the property snapping_distance for more
-information.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @snapping_distance property of the timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2933">Gets the #GESTimeline:snapping-distance for the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2939">The snapping distance (in nanoseconds) of @timeline.</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2935">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_track_for_pad"
c:identifier="ges_timeline_get_track_for_pad">
- <doc xml:space="preserve">Search the #GESTrack corresponding to the given @timeline's @pad.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2585">Search for the #GESTrack corresponding to the given timeline's pad.</doc>
+ <source-position filename="ges/ges-timeline.h" line="116"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The corresponding #GESTrack if it is
-found, or %NULL if there is an error.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2592">The track corresponding to @pad,
+or %NULL if there is an error.</doc>
<type name="Track" c:type="GESTrack*"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2587">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="pad" transfer-ownership="none">
- <doc xml:space="preserve">The #GstPad</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2588">A pad</doc>
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
</parameters>
</method>
<method name="get_tracks" c:identifier="ges_timeline_get_tracks">
- <doc xml:space="preserve">Returns the list of #GESTrack used by the Timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2650">Get the list of #GESTrack-s used by the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="120"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A list of #GESTrack.
-The caller should unref each track once he is done with them.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2656">The list of tracks
+used by @timeline.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Track"/>
</type>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2652">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_empty" c:identifier="ges_timeline_is_empty">
- <doc xml:space="preserve">Check whether a #GESTimeline is empty or not</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the timeline is empty %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3011">Check whether the timeline is empty or not.</doc>
+ <source-position filename="ges/ges-timeline.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3017">%TRUE if @timeline is empty.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3013">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
</parameters>
@@ -7245,86 +12587,170 @@ The caller should unref each track once he is done with them.</doc>
<method name="load_from_uri"
c:identifier="ges_timeline_load_from_uri"
throws="1">
- <doc xml:space="preserve">Loads the contents of URI into the given timeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the timeline was loaded successfully, or %FALSE if the uri
-could not be loaded.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2132">Loads the contents of URI into the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2141">%TRUE if the timeline was loaded successfully from @uri.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">an empty #GESTimeline into which to load the formatter</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2134">An empty #GESTimeline into which to load the formatter</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">The URI to load from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2135">The URI to load from</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
- <method name="paste_element" c:identifier="ges_timeline_paste_element">
- <doc xml:space="preserve">Paste @element inside the timeline. @element must have been
-created using ges_timeline_element_copy with deep=TRUE set,
-i.e. it must be a deep copy, otherwise it will fail.</doc>
+ <method name="move_layer"
+ c:identifier="ges_timeline_move_layer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3171">Moves a layer within the timeline to the index given by
+@new_layer_priority.
+An index of 0 corresponds to the layer with the highest priority in a
+timeline. If @new_layer_priority is greater than the number of layers
+present in the timeline, it will become the lowest priority layer.</doc>
+ <source-position filename="ges/ges-timeline.h" line="149"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">Shallow copy of the @element pasted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3173">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3174">A layer within @timeline, whose priority should be changed</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3175">The new index for @layer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="paste_element" c:identifier="ges_timeline_paste_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3097">Paste an element inside the timeline. @element **must** be the return of
+ges_timeline_element_copy() with `deep=TRUE`,
+and it should not be changed before pasting. @element itself is not
+placed in the timeline, instead a new element is created, alike to the
+originally copied element. Note that the originally copied element must
+also lie within @timeline, at both the point of copying and pasting.
+
+Pasting may fail if it would place the timeline in an unsupported
+configuration.
+
+After calling this function @element should not be used. In particular,
+@element can **not** be pasted again. Instead, you can copy the
+returned element and paste that copy (although, this is only possible
+if the paste was successful).
+
+See also ges_timeline_element_paste().</doc>
+ <source-position filename="ges/ges-timeline.h" line="146"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3123">The newly created element, or
+%NULL if pasting fails.</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline onto which the #GESTimelineElement should be pasted</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3099">The #GESTimeline onto which @element should be pasted</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="element" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to paste</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3100">The element to paste</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The position in the timeline the element should
-be pasted to, meaning it will become the start of @element</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3101">The position in the timeline @element should be pasted to,
+i.e. the #GESTimelineElement:start value for the pasted element.</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="layer_priority" transfer-ownership="none">
- <doc xml:space="preserve">The #GESLayer to which the element should be pasted to.
--1 means paste to the same layer from which the @element has been copied from.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3103">The layer into which the element should be pasted.
+-1 means paste to the same layer from which @element has been copied from</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove_layer" c:identifier="ges_timeline_remove_layer">
- <doc xml:space="preserve">Removes the layer from the timeline. The reference that the @timeline holds on
-the layer will be dropped. If you wish to use the @layer after calling this
-method, you need to take a reference before calling.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the layer was properly removed, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2344">Removes a layer from the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2351">%TRUE if @layer was properly removed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2346">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">the #GESLayer to remove</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2347">The layer to remove</doc>
<type name="Layer" c:type="GESLayer*"/>
</parameter>
</parameters>
</method>
<method name="remove_track" c:identifier="ges_timeline_remove_track">
- <doc xml:space="preserve">Remove the @track from the @timeline. The reference stolen when adding the
-@track will be removed. If you wish to use the @track after calling this
-function you must ensure that you have a reference to it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the @track was properly removed, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2496">Remove a track from the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2503">%TRUE if @track was properly removed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2498">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrack to remove</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2499">The track to remove</doc>
<type name="Track" c:type="GESTrack*"/>
</parameter>
</parameters>
@@ -7332,142 +12758,217 @@ function you must ensure that you have a reference to it.</doc>
<method name="save_to_uri"
c:identifier="ges_timeline_save_to_uri"
throws="1">
- <doc xml:space="preserve">Saves the timeline to the given location</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the timeline was successfully saved to the given location,
-else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2161">Saves the timeline to the given location. If @formatter_asset is %NULL,
+the method will attempt to save in the same format the timeline was
+loaded from, before defaulting to the formatter with highest rank.</doc>
+ <source-position filename="ges/ges-timeline.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2174">%TRUE if @timeline was successfully saved to @uri.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2163">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">The location to save to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2164">The location to save to</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="formatter_asset"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The formatter asset to use or %NULL. If %NULL,
-will try to save in the same format as the one from which the timeline as been loaded
-or default to the formatter with highest rank</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2165">The formatter asset to use, or %NULL</doc>
<type name="Asset" c:type="GESAsset*"/>
</parameter>
<parameter name="overwrite" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to overwrite file if it exists</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2166">%TRUE to overwrite file if it exists</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_auto_transition"
c:identifier="ges_timeline_set_auto_transition">
- <doc xml:space="preserve">Sets the layer to the given @auto_transition. See the documentation of the
-property auto_transition for more information.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2902">Sets #GESTimeline:auto-transition for the timeline. This will also set
+the corresponding #GESLayer:auto-transition for all of the timeline's
+layers to the same value. See ges_layer_set_auto_transition() if you
+wish to set the layer's #GESLayer:auto-transition individually.</doc>
+ <source-position filename="ges/ges-timeline.h" line="136"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2904">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="auto_transition" transfer-ownership="none">
- <doc xml:space="preserve">whether the auto_transition is active</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2905">Whether transitions should be automatically added
+to @timeline's layers</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_snapping_distance"
c:identifier="ges_timeline_set_snapping_distance">
- <doc xml:space="preserve">Sets the @snapping_distance of the timeline. See the documentation of the
-property snapping_distance for more information.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2951">Sets #GESTimeline:snapping-distance for the timeline. This new value
+will only effect future snappings and will not be used to snap the
+current element positions within the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="140"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESLayer</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2953">The #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</instance-parameter>
<parameter name="snapping_distance" transfer-ownership="none">
- <doc xml:space="preserve">whether the snapping_distance is active</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2954">The snapping distance to use (in nanoseconds)</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<property name="auto-transition" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Sets whether transitions are added automagically when clips overlap.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="613">Whether to automatically create a transition whenever two
+#GESSource-s overlap in a track of the timeline. See
+#GESLayer:auto-transition if you want this to only happen in some
+layers.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="duration" transfer-ownership="none">
- <doc xml:space="preserve">Current duration (in nanoseconds) of the #GESTimeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="599">The current duration (in nanoseconds) of the timeline. A timeline
+'starts' at time 0, so this is the maximum end time of all of its
+#GESTimelineElement-s.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="snapping-distance"
writable="1"
transfer-ownership="none">
- <doc xml:space="preserve">Distance (in nanoseconds) from which a moving object will snap
-with it neighboors. 0 means no snapping.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="625">The distance (in nanoseconds) at which a #GESTimelineElement being
+moved within the timeline should snap one of its #GESSource-s with
+another #GESSource-s edge. See #GESEditMode for which edges can
+snap during an edit. 0 means no snapping.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<field name="parent">
<type name="Gst.Bin" c:type="GstBin"/>
</field>
<field name="layers">
- <doc xml:space="preserve">A list of #GESLayer sorted by priority NOTE: Do not modify.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="48">A list of #GESLayer-s sorted by
+priority. NOTE: Do not modify.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Layer"/>
</type>
</field>
<field name="tracks">
- <doc xml:space="preserve">A list of #GESTrack sorted by priority NOTE: Do not modify.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="50">Deprecated:1.10: (element-type GES.Track): This is not thread
+safe, use #ges_timeline_get_tracks instead.</doc>
<type name="GLib.List" c:type="GList*">
- <type name="Track"/>
+ <type name="gpointer" c:type="gpointer"/>
</type>
</field>
<field name="priv" readable="0" private="1">
<type name="TimelinePrivate" c:type="GESTimelinePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="commited" when="last">
- <doc xml:space="preserve">This signal will be emitted once the changes initiated by #ges_timeline_commit
-have been executed in the backend. Use #ges_timeline_commit_sync if you
-don't need to do anything in the meantime.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="845">This signal will be emitted once the changes initiated by
+ges_timeline_commit() have been executed in the backend. Use
+ges_timeline_commit_sync() if you do not want to have to connect
+to this signal.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="group-added" when="first">
- <doc xml:space="preserve">Will be emitted after a new group is added to to the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="698">Will be emitted after the group is added to to the timeline. This can
+happen when grouping with `ges_container_group`, or by adding
+containers to a newly created group.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which groups
+were created for the timeline.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
- <doc xml:space="preserve">the #GESGroup</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="701">The group that was added to @timeline</doc>
<type name="Group"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="group-removed" when="first">
- <doc xml:space="preserve">Will be emitted after a group has been removed from the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="717">Will be emitted after the group is removed from the timeline through
+`ges_container_ungroup`. Note that @group will no longer contain its
+former children, these are held in @children.
+
+Note that if a group is emptied, then it will no longer belong to the
+timeline, but this signal will **not** be emitted in such a case.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="group" transfer-ownership="none">
- <doc xml:space="preserve">the #GESGroup</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="720">The group that was removed from @timeline</doc>
<type name="Group"/>
</parameter>
- <parameter name="children" transfer-ownership="container">
- <doc xml:space="preserve">a list of #GESContainer</doc>
+ <parameter name="children" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="721">A list
+of #GESContainer-s that _were_ the children of the removed @group</doc>
<array name="GLib.PtrArray">
<type name="Container"/>
</array>
@@ -7475,99 +12976,222 @@ don't need to do anything in the meantime.</doc>
</parameters>
</glib:signal>
<glib:signal name="layer-added" when="first">
- <doc xml:space="preserve">Will be emitted after a new layer is added to the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="669">Will be emitted after the layer is added to the timeline.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which
+layers were created for the timeline.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">the #GESLayer that was added to the timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="672">The layer that was added to @timeline</doc>
<type name="Layer"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="layer-removed" when="first">
- <doc xml:space="preserve">Will be emitted after the layer was removed from the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="686">Will be emitted after the layer is removed from the timeline.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="layer" transfer-ownership="none">
- <doc xml:space="preserve">the #GESLayer that was removed from the timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="689">The layer that was removed from @timeline</doc>
<type name="Layer"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="select-tracks-for-object" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="778">This will be emitted whenever the timeline needs to determine which
+tracks a clip's children should be added to. The track element will
+be added to each of the tracks given in the return. If a track
+element is selected to go into multiple tracks, it will be copied
+into the additional tracks, under the same clip. Note that the copy
+will *not* keep its properties or state in sync with the original.
+
+Connect to this signal once if you wish to control which element
+should be added to which track. Doing so will overwrite the default
+behaviour, which adds @track_element to all tracks whose
+#GESTrack:track-type includes the @track_element's
+#GESTrackElement:track-type.
+
+Note that under the default track selection, if a clip would produce
+multiple core children of the same #GESTrackType, it will choose
+one of the core children arbitrarily to place in the corresponding
+tracks, with a warning for the other core children that are not
+placed in the track. For example, this would happen for a #GESUriClip
+that points to a file that contains multiple audio streams. If you
+wish to choose the stream, you could connect to this signal, and use,
+say, ges_uri_source_asset_get_stream_info() to choose which core
+source to add.
+
+When a clip is first added to a timeline, its core elements will
+be created for the current tracks in the timeline if they have not
+already been created. Then this will be emitted for each of these
+core children to select which tracks, if any, they should be added
+to. It will then be called for any non-core children in the clip.
+
+In addition, if a new track element is ever added to a clip in a
+timeline (and it is not already part of a track) this will be emitted
+to select which tracks the element should be added to.
+
+Finally, as a special case, if a track is added to the timeline
+*after* it already contains clips, then it will request the creation
+of the clips' core elements of the corresponding type, if they have
+not already been created, and this signal will be emitted for each of
+these newly created elements. In addition, this will also be released
+for all other track elements in the timeline's clips that have not
+yet been assigned a track. However, in this final case, the timeline
+will only check whether the newly added track appears in the track
+list. If it does appear, the track element will be added to the newly
+added track. All other tracks in the returned track list are ignored.
+
+In this latter case, track elements that are already part of a track
+will not be asked if they want to be copied into the new track. If
+you wish to do this, you can use ges_clip_add_child_to_track().
+
+Note that the returned #GPtrArray should own a new reference to each
+of its contained #GESTrack. The timeline will set the #GDestroyNotify
+free function on the #GPtrArray to dereference the elements.</doc>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GPtrArray of #GESTrack-s where that object should be added</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="836">An array of
+#GESTrack-s that @track_element should be added to, or %NULL to
+not add the element to any track.</doc>
<array name="GLib.PtrArray">
<type name="Track"/>
</array>
</return-value>
<parameters>
<parameter name="clip" transfer-ownership="none">
- <doc xml:space="preserve">The #GESClip on which @track_element will land</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="781">The clip that @track_element is being added to</doc>
<type name="Clip"/>
</parameter>
<parameter name="track_element" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackElement for which to choose the tracks it should land into</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="782">The element being added</doc>
<type name="TrackElement"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="snapping-ended" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="759">Will be emitted whenever a snapping event ends. After a snap event
+has started (see #GESTimeline::snapping-started), it can later end
+because either another timeline edit has occurred (which may or may
+not have created a new snapping event), or because the timeline has
+been committed.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="object" transfer-ownership="none">
+ <parameter name="obj1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="762">The first element that was snapping</doc>
<type name="TrackElement"/>
</parameter>
- <parameter name="p0" transfer-ownership="none">
+ <parameter name="obj2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="763">The second element that was snapping</doc>
<type name="TrackElement"/>
</parameter>
- <parameter name="p1" transfer-ownership="none">
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="764">The position where the two objects were to be snapped to</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="snapping-started" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="736">Will be emitted whenever an element's movement invokes a snapping
+event during an edit (usually of one of its ancestors) because its
+start or end point lies within the #GESTimeline:snapping-distance of
+another element's start or end point.
+
+See #GESEditMode to see what can snap during an edit.
+
+Note that only up to one snapping-started signal will be emitted per
+element edit within a timeline.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
- <parameter name="object" transfer-ownership="none">
+ <parameter name="obj1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="739">The first element that is snapping</doc>
<type name="TrackElement"/>
</parameter>
- <parameter name="p0" transfer-ownership="none">
+ <parameter name="obj2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="740">The second element that is snapping</doc>
<type name="TrackElement"/>
</parameter>
- <parameter name="p1" transfer-ownership="none">
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="741">The position where the two objects will snap to</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="track-added" when="first">
- <doc xml:space="preserve">Will be emitted after the track was added to the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="640">Will be emitted after the track is added to the timeline.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which
+tracks were created for the timeline.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrack that was added to the timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="643">The track that was added to @timeline</doc>
<type name="Track"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="track-removed" when="first">
- <doc xml:space="preserve">Will be emitted after the track was removed from the timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="657">Will be emitted after the track is removed from the timeline.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrack that was removed from the timeline</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="660">The track that was removed from @timeline</doc>
<type name="Track"/>
</parameter>
</parameters>
@@ -7576,12 +13200,16 @@ don't need to do anything in the meantime.</doc>
<record name="TimelineClass"
c:type="GESTimelineClass"
glib:is-gtype-struct-for="Timeline">
+ <source-position filename="ges/ges-timeline.h" line="87"/>
<field name="parent_class">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="70">parent class</doc>
<type name="Gst.BinClass" c:type="GstBinClass"/>
</field>
<field name="track_added">
<callback name="track_added">
+ <source-position filename="ges/ges-timeline.h" line="78"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7597,6 +13225,7 @@ don't need to do anything in the meantime.</doc>
</field>
<field name="track_removed">
<callback name="track_removed">
+ <source-position filename="ges/ges-timeline.h" line="79"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7612,6 +13241,7 @@ don't need to do anything in the meantime.</doc>
</field>
<field name="layer_added">
<callback name="layer_added">
+ <source-position filename="ges/ges-timeline.h" line="80"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7627,6 +13257,7 @@ don't need to do anything in the meantime.</doc>
</field>
<field name="layer_removed">
<callback name="layer_removed">
+ <source-position filename="ges/ges-timeline.h" line="81"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7642,6 +13273,7 @@ don't need to do anything in the meantime.</doc>
</field>
<field name="group_added">
<callback name="group_added">
+ <source-position filename="ges/ges-timeline.h" line="82"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7657,6 +13289,7 @@ don't need to do anything in the meantime.</doc>
</field>
<field name="group_removed" introspectable="0">
<callback name="group_removed" introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="83"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7676,7 +13309,7 @@ don't need to do anything in the meantime.</doc>
</callback>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -7689,12 +13322,94 @@ don't need to do anything in the meantime.</doc>
glib:type-name="GESTimelineElement"
glib:get-type="ges_timeline_element_get_type"
glib:type-struct="TimelineElementClass">
- <doc xml:space="preserve">The GESTimelineElement base class implements the notion of timing as well
-as priority. A GESTimelineElement can have a parent object which will be
-responsible for controlling its timing properties.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="19">A #GESTimelineElement will have some temporal extent in its
+corresponding #GESTimelineElement:timeline, controlled by its
+#GESTimelineElement:start and #GESTimelineElement:duration. This
+determines when its content will be displayed, or its effect applied,
+in the timeline. Several objects may overlap within a given
+#GESTimeline, in which case their #GESTimelineElement:priority is used
+to determine their ordering in the timeline. Priority is mostly handled
+internally by #GESLayer-s and #GESClip-s.
+
+A timeline element can have a #GESTimelineElement:parent,
+such as a #GESClip, which is responsible for controlling its timing.
+
+## Editing
+
+Elements can be moved around in their #GESTimelineElement:timeline by
+setting their #GESTimelineElement:start and
+#GESTimelineElement:duration using ges_timeline_element_set_start()
+and ges_timeline_element_set_duration(). Additionally, which parts of
+the underlying content are played in the timeline can be adjusted by
+setting the #GESTimelineElement:in-point using
+ges_timeline_element_set_inpoint(). The library also provides
+ges_timeline_element_edit(), with various #GESEditMode-s, which can
+adjust these properties in a convenient way, as well as introduce
+similar changes in neighbouring or later elements in the timeline.
+
+However, a timeline may refuse a change in these properties if they
+would place the timeline in an unsupported configuration. See
+#GESTimeline for its overlap rules.
+
+Additionally, an edit may be refused if it would place one of the
+timing properties out of bounds (such as a negative time value for
+#GESTimelineElement:start, or having insufficient internal
+content to last for the desired #GESTimelineElement:duration).
+
+## Time Coordinates
+
+There are three main sets of time coordinates to consider when using
+timeline elements:
+
++ Timeline coordinates: these are the time coordinates used in the
+ output of the timeline in its #GESTrack-s. Each track share the same
+ coordinates, so there is only one set of coordinates for the
+ timeline. These extend indefinitely from 0. The times used for
+ editing (including setting #GESTimelineElement:start and
+ #GESTimelineElement:duration) use these coordinates, since these
+ define when an element is present and for how long the element lasts
+ for in the timeline.
++ Internal source coordinates: these are the time coordinates used
+ internally at the element's output. This is only really defined for
+ #GESTrackElement-s, where it refers to time coordinates used at the
+ final source pad of the wrapped #GstElement-s. However, these
+ coordinates may also be used in a #GESClip in reference to its
+ children. In particular, these are the coordinates used for
+ #GESTimelineElement:in-point and #GESTimelineElement:max-duration.
++ Internal sink coordinates: these are the time coordinates used
+ internally at the element's input. A #GESSource has no input, so
+ these would be undefined. Otherwise, for most #GESTrackElement-s
+ these will be the same set of coordinates as the internal source
+ coordinates because the element does not change the timing
+ internally. Only #GESBaseEffect can support elements where these
+ are different. See #GESBaseEffect for more information.
+
+You can determine the timeline time for a given internal source time
+in a #GESTrack in a #GESClip using
+ges_clip_get_timeline_time_from_internal_time(), and vice versa using
+ges_clip_get_internal_time_from_timeline_time(), for the purposes of
+editing and setting timings properties.
+
+## Children Properties
+
+If a timeline element owns another #GstObject and wishes to expose
+some of its properties, it can do so by registering the property as one
+of the timeline element's children properties using
+ges_timeline_element_add_child_property(). The registered property of
+the child can then be read and set using the
+ges_timeline_element_get_child_property() and
+ges_timeline_element_set_child_property() methods, respectively. Some
+sub-classed objects will be created with pre-registered children
+properties; for example, to expose part of an underlying #GstElement
+that is used internally. The registered properties can be listed with
+ges_timeline_element_list_children_properties().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="288"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<virtual-method name="deep_copy">
+ <source-position filename="ges/ges-timeline-element.h" line="261"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -7707,21 +13422,107 @@ responsible for controlling its timing properties.</doc>
</parameter>
</parameters>
</virtual-method>
+ <virtual-method name="get_layer_priority"
+ invoker="get_layer_priority"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2327">Gets the priority of the layer the element is in. A #GESGroup may span
+several layers, so this would return the highest priority (numerically,
+the smallest) amongst them.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2335">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2329">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_natural_framerate"
+ invoker="get_natural_framerate"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2453">Get the "natural" framerate of @self. This is to say, for example
+for a #GESVideoUriSource the framerate of the source.
+
+Note that a #GESAudioSource may also have a natural framerate if it derives
+from the same #GESSourceClip asset as a #GESVideoSource, and its value will
+be that of the video source. For example, if the uri of a #GESUriClip points
+to a file that contains both a video and audio stream, then the corresponding
+#GESAudioUriSource will share the natural framerate of the corresponding
+#GESVideoUriSource.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2469">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2455">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="framerate_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2456">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2457">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
<virtual-method name="get_track_types"
invoker="get_track_types"
version="1.6.0">
- <doc xml:space="preserve">Gets all the TrackTypes @self will interact with</doc>
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2250">Gets the track types that the element can interact with, i.e. the type
+of #GESTrack it can exist in, or will create #GESTrackElement-s for.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2257">The track types that @self supports.</doc>
<type name="TrackType" c:type="GESTrackType"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">A #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2252">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</virtual-method>
<virtual-method name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="267"/>
<return-value>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</return-value>
@@ -7735,26 +13536,40 @@ responsible for controlling its timing properties.</doc>
</parameters>
</virtual-method>
<virtual-method name="lookup_child" invoker="lookup_child">
- <doc xml:space="preserve">Looks up which @element and @pspec would be effected by the given @name. If various
-contained elements have this property name you will get the first one, unless you
-specify the class name in @name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if @element and @pspec could be found. FALSE otherwise. In that
-case the values for @pspec and @element are not modified. Unref @element after
-usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1954">Looks up a child property of the element.
+
+@prop_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to look up (as used in g_object_get()), and "TypeName" is the type name
+of the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will be passed to @child, and the
+registered specification of this property will be passed to @pspec.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="268"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1977">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">object to lookup the property in</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1956">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the property to look up. You can specify the name of the
- class as such: "ClassName::property-name", to guarantee that you get the
- proper GParamSpec in case various GstElement-s contain the same property
- name. If you don't do so, you will get the first element found, having
- this property and the and the corresponding GParamSpec.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1957">The name of a child property</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="child"
@@ -7763,8 +13578,10 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to a #GstElement that
- takes the real object to set property on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1958">The return location for the
+found child</doc>
<type name="GObject.Object" c:type="GObject**"/>
</parameter>
<parameter name="pspec"
@@ -7773,13 +13590,16 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to take the #GParamSpec
- describing the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1960">The return location for the
+specification of the child property</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="paste" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="263"/>
<return-value>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
@@ -7796,90 +13616,141 @@ usage.</doc>
</parameters>
</virtual-method>
<virtual-method name="ripple" invoker="ripple">
- <doc xml:space="preserve">Edits @self in ripple mode. It allows you to modify the
-start of @self and move the following neighbours accordingly.
-This will change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rippled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1418">Edits the start time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_NONE.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1427">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to ripple.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1420">The #GESTimelineElement to ripple</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in ripple mode.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1421">The new start time of @self in ripple mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="ripple_end" invoker="ripple_end">
- <doc xml:space="preserve">Edits @self in ripple mode. It allows you to modify the
-duration of a @self and move the following neighbours accordingly.
-This will change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rippled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1448">Edits the end time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1457">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to ripple.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1450">The #GESTimelineElement to ripple</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">The new end (start + duration) of @self in ripple mode. It will
- basically only change the duration of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1451">The new end time of @self in ripple mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="roll_end" invoker="roll_end">
- <doc xml:space="preserve">Edits @self in roll mode. It allows you to modify the
-duration of a @self and trim (basicly change the start + inpoint
-in this case) the following neighbours accordingly.
-This will not change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rolled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1503">Edits the end time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="259"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1512">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to roll.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1505">The #GESTimelineElement to roll</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">The new end (start + duration) of @self in roll mode</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1506">The new end time of @self in roll mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="roll_start" invoker="roll_start">
- <doc xml:space="preserve">Edits @self in roll mode. It allows you to modify the
-start and inpoint of a @self and "resize" (basicly change the duration
-in this case) of the previous neighbours accordingly.
-This will not change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been roll properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1476">Edits the start time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1485">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to roll</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1478">The #GESTimelineElement to roll</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in roll mode, it will also adapat
-the in-point of @self according</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1479">The new start time of @self in roll mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="set_duration">
+ <virtual-method name="set_child_property">
+ <source-position filename="ges/ges-timeline-element.h" line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_child_property_full" throws="1">
+ <source-position filename="ges/ges-timeline-element.h" line="281"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -7887,218 +13758,565 @@ the in-point of @self according</doc>
<instance-parameter name="self" transfer-ownership="none">
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_duration" invoker="set_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1240">Sets #GESTimelineElement:duration for the element.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the
+#GESTimelineElement:duration of the element may be snapped to a
+different timeline time difference from the one given. In addition,
+setting may fail if it would place the timeline in an unsupported
+configuration, or the element does not have enough internal content to
+last the desired duration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1256">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1242">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
<parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1243">The desired duration in its timeline</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="set_inpoint">
- <return-value transfer-ownership="none">
+ <virtual-method name="set_inpoint" invoker="set_inpoint">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1132">Sets #GESTimelineElement:in-point for the element. If the new in-point
+is above the current #GESTimelineElement:max-duration of the element,
+this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="251"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1141">%TRUE if @inpoint could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1134">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1135">The in-point, in internal time coordinates</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="set_max_duration">
- <return-value transfer-ownership="none">
+ <virtual-method name="set_max_duration" invoker="set_max_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1188">Sets #GESTimelineElement:max-duration for the element. If the new
+maximum duration is below the current #GESTimelineElement:in-point of
+the element, this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1197">%TRUE if @maxduration could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1190">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1191">The maximum duration, in internal time coordinates</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="set_parent" invoker="set_parent">
- <doc xml:space="preserve">Sets the parent of @self to @parent. The parents needs to already
-own a hard reference on @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="878">Sets the #GESTimelineElement:parent for the element.
+
+This is used internally and you should normally not call this. A
+#GESContainer will set the #GESTimelineElement:parent of its children
+in ges_container_add() and ges_container_remove().
+
+Note, if @parent is not %NULL, @self must not already have a parent
+set. Therefore, if you wish to switch parents, you will need to call
+this function twice: first to set the parent to %NULL, and then to the
+new parent.
+
+If @parent is not %NULL, you must ensure it already has a
+(non-floating) reference to @self before calling this.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="249"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @parent could be set or %FALSE when @self
-already had a parent or @self and @parent are the same.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="897">%TRUE if @parent could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="880">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="parent" transfer-ownership="none">
- <doc xml:space="preserve">new parent of self</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="set_priority">
+ <virtual-method name="set_priority"
+ invoker="set_priority"
+ deprecated="1"
+ deprecated-version="1.10">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1377">Sets the priority of the element within the containing layer.</doc>
+ <doc-deprecated xml:space="preserve">All priority management is done by GES itself now.
+To set #GESEffect priorities #ges_clip_set_top_effect_index should
+be used.</doc-deprecated>
+ <source-position filename="ges/ges-timeline-element.h" line="254"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1388">%TRUE if @priority could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1379">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1380">The priority</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</virtual-method>
- <virtual-method name="set_start">
- <return-value transfer-ownership="none">
+ <virtual-method name="set_start" invoker="set_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1057">Sets #GESTimelineElement:start for the element. If the element has a
+parent, this will also move its siblings with the same shift.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the
+#GESTimelineElement:start of the element may be snapped to a different
+timeline time from the one given. In addition, setting may fail if it
+would place the timeline in an unsupported configuration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1072">%TRUE if @start could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1059">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1060">The desired start position of the element in its timeline</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="trim" invoker="trim">
- <doc xml:space="preserve">Edits @self in trim mode. It allows you to modify the
-inpoint and start of @self.
-This will not change the overall timeline duration.
-
-Note that to trim the end of an self you can just set its duration. The same way
-as this method, it will take into account the snapping-distance property of the
-timeline in which @self is.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been trimmed properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1530">Edits the start time of an element within its timeline in trim mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_TRIM and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="260"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1539">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to trim.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1532">The #GESTimelineElement to trim</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in trim mode, will adapt the inpoint
-of @self accordingly</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1533">The new start time of @self in trim mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</virtual-method>
<method name="add_child_property"
c:identifier="ges_timeline_element_add_child_property">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1745">Register a property of a child of the element to allow it to be
+written with ges_timeline_element_set_child_property() and read with
+ges_timeline_element_get_child_property(). A change in the property
+will also appear in the #GESTimelineElement::deep-notify signal.
+
+@pspec should be unique from other children properties that have been
+registered on @self.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="394"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1759">%TRUE if the property was successfully registered.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1747">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1748">The specification for the property to add</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1749">The #GstObject who the property belongs to</doc>
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
</parameters>
</method>
<method name="copy" c:identifier="ges_timeline_element_copy">
- <doc xml:space="preserve">Copies @self</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The newly create #GESTimelineElement, copied from @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1557">Create a copy of @self. All the properties of @self are copied into
+a new element, with the exception of #GESTimelineElement:parent,
+#GESTimelineElement:timeline and #GESTimelineElement:name. Other data,
+such the list of a #GESContainer's children, is **not** copied.
+
+If @deep is %TRUE, then the new element is prepared so that it can be
+used in ges_timeline_element_paste() or ges_timeline_paste_element().
+In the case of copying a #GESContainer, this ensures that the children
+of @self will also be pasted. The new element should not be used for
+anything else and can only be used **once** in a pasting operation. In
+particular, the new element itself is not an actual 'deep' copy of
+@self, but should be thought of as an intermediate object used for a
+single paste operation.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="343"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1576">The newly create element,
+copied from @self.</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to copy</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1559">The #GESTimelineElement to copy</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="deep" transfer-ownership="none">
- <doc xml:space="preserve">whether we want to create the elements @self contains or not</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1560">Whether the copy is needed for pasting</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
+ <method name="edit"
+ c:identifier="ges_timeline_element_edit"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2420">See ges_timeline_element_edit_full(), which also gives an error.
+
+Note that the @layers argument is currently ignored, so you should
+just pass %NULL.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="414"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2438">%TRUE if the edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2422">The #GESTimelineElement to edit</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2423">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2426">The priority/index of the layer @self should be
+moved to. -1 means no move</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2428">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2429">The edge of @self where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2430">The edit position: a new location for the edge of @self
+(in nanoseconds) in the timeline coordinates</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit_full"
+ c:identifier="ges_timeline_element_edit_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2353">Edits the element within its timeline by adjusting its
+#GESTimelineElement:start, #GESTimelineElement:duration or
+#GESTimelineElement:in-point, and potentially doing the same for
+other elements in the timeline. See #GESEditMode for details about each
+edit mode. An edit may fail if it would place one of these properties
+out of bounds, or if it would place the timeline in an unsupported
+configuration.
+
+Note that if you act on a #GESTrackElement, this will edit its parent
+#GESClip instead. Moreover, for any #GESTimelineElement, if you select
+#GES_EDGE_NONE for #GES_EDIT_MODE_NORMAL or #GES_EDIT_MODE_RIPPLE, this
+will edit the toplevel instead, but still in such a way as to make the
+#GESTimelineElement:start of @self reach the edit @position.
+
+Note that if the element's timeline has a
+#GESTimeline:snapping-distance set, then the edit position may be
+snapped to the edge of some element under the edited element.
+
+@new_layer_priority can be used to switch @self, and other elements
+moved by the edit, to a new layer. New layers may be be created if the
+the corresponding layer priority/index does not yet exist for the
+timeline.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="422"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2387">%TRUE if the edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2355">The #GESTimelineElement to edit</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2356">The priority/index of the layer @self should be
+moved to. -1 means no move</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2358">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2359">The edge of @self where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2360">The edit position: a new location for the edge of @self
+(in nanoseconds) in the timeline coordinates</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_child_properties"
c:identifier="ges_timeline_element_get_child_properties"
introspectable="0">
- <doc xml:space="preserve">Gets properties of a child of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2184">Gets several of the children properties of the element. See
+ges_timeline_element_get_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="366"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2186">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2187">The name of the first child property to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">return location for the first property, followed optionally by more
-name/return location pairs, followed by NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2188">The return location for the first property, followed
+optionally by more name/return location pairs, followed by %NULL</doc>
<varargs/>
</parameter>
</parameters>
</method>
<method name="get_child_property"
c:identifier="ges_timeline_element_get_child_property">
- <doc xml:space="preserve">In general, a copy is made of the property contents and
-the caller is responsible for freeing the memory by calling
-g_value_unset().
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1897">Gets the property of a child of the element.
-Gets a property of a GstElement contained in @object.
+@property_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to get (as used in g_object_get()), and "TypeName" is the type name of
+the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
-Note that #ges_timeline_element_get_child_property is really
-intended for language bindings, #ges_timeline_element_get_child_properties
-is much more convenient for C programming.</doc>
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will have the corresponding
+property copied into @value.
+
+Note that ges_timeline_element_get_child_properties() may be more
+convenient for C programming.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="390"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the property was found, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1920">%TRUE if the property was found and copied to @value.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1899">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1900">The name of the child property to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">return location for the property value, it will
-be initialized if it is initialized with 0</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1901">The return location for the value</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</method>
<method name="get_child_property_by_pspec"
c:identifier="ges_timeline_element_get_child_property_by_pspec">
- <doc xml:space="preserve">Gets a property of a child of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1773">Gets the property of a child of the element. Specifically, the property
+corresponding to the @pspec used in
+ges_timeline_element_add_child_property() is copied into @value.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="359"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1775">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">The #GParamSpec that specifies the property you want to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1776">The specification of a registered child property to get</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">return location for the value</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1777">The return location for the value</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
@@ -8106,148 +14324,296 @@ be initialized if it is initialized with 0</doc>
<method name="get_child_property_valist"
c:identifier="ges_timeline_element_get_child_property_valist"
introspectable="0">
- <doc xml:space="preserve">Gets a property of a child of @self. If there are various child elements
-that have the same property name, you can distinguish them using the following
-syntax: 'ClasseName::property_name' as property name. If you don't, the
-corresponding property of the first element found will be set.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2080">Gets several of the children properties of the element. See
+ges_timeline_element_get_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="362"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement parent object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2082">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2083">The name of the first child property to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
-name/return location pairs, followed by NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2084">The return location for the first property, followed
+optionally by more name/return location pairs, followed by %NULL</doc>
<type name="va_list" c:type="va_list"/>
</parameter>
</parameters>
</method>
<method name="get_duration"
c:identifier="ges_timeline_element_get_duration">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @duration of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1329">Gets the #GESTimelineElement:duration for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="320"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1335">The duration of @self (in nanoseconds).</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1331">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_inpoint"
c:identifier="ges_timeline_element_get_inpoint">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @inpoint of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1313">Gets the #GESTimelineElement:in-point for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="318"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1319">The in-point of @self (in nanoseconds).</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1315">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_layer_priority"
+ c:identifier="ges_timeline_element_get_layer_priority"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2327">Gets the priority of the layer the element is in. A #GESGroup may span
+several layers, so this would return the highest priority (numerically,
+the smallest) amongst them.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="411"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2335">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2329">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_max_duration"
c:identifier="ges_timeline_element_get_max_duration">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @maxduration of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1345">Gets the #GESTimelineElement:max-duration for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="322"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1351">The max-duration of @self (in nanoseconds).</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1347">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_name" c:identifier="ges_timeline_element_get_name">
- <doc xml:space="preserve">Returns a copy of the name of @self.
-Caller should g_free() the return value after usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1653">Gets the #GESTimelineElement:name for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="346"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The name of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1659">The name of @self.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1655">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
+ <method name="get_natural_framerate"
+ c:identifier="ges_timeline_element_get_natural_framerate"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2453">Get the "natural" framerate of @self. This is to say, for example
+for a #GESVideoUriSource the framerate of the source.
+
+Note that a #GESAudioSource may also have a natural framerate if it derives
+from the same #GESSourceClip asset as a #GESVideoSource, and its value will
+be that of the video source. For example, if the uri of a #GESUriClip points
+to a file that contains both a video and audio stream, then the corresponding
+#GESAudioUriSource will share the natural framerate of the corresponding
+#GESVideoUriSource.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="406"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2469">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2455">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="framerate_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2456">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2457">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_parent" c:identifier="ges_timeline_element_get_parent">
- <doc xml:space="preserve">Returns the parent of @self. This function increases the refcount
-of the parent object so you should gst_object_unref() it after usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="944">Gets the #GESTimelineElement:parent for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="293"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">parent of @self, this can be %NULL if
-@self has no parent. unref after usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="950">The parent of @self, or %NULL if
+@self has no parent.</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="946">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_priority"
c:identifier="ges_timeline_element_get_priority">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @priority of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1361">Gets the #GESTimelineElement:priority for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1367">The priority of @self.</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1363">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_start" c:identifier="ges_timeline_element_get_start">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The @start of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1297">Gets the #GESTimelineElement:start for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1303">The start of @self (in nanoseconds).</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1299">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_timeline"
c:identifier="ges_timeline_element_get_timeline">
- <doc xml:space="preserve">Returns the timeline of @self. This function increases the refcount
-of the timeline so you should gst_object_unref() it after usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1034">Gets the #GESTimelineElement:timeline for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="324"/>
<return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">timeline of @self, this can be %NULL if
-@self has no timeline. unref after usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1040">The timeline of @self, or %NULL
+if @self has no timeline.</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1036">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_toplevel_parent"
c:identifier="ges_timeline_element_get_toplevel_parent">
- <doc xml:space="preserve">Gets the toplevel #GESTimelineElement controlling @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1633">Gets the toplevel #GESTimelineElement:parent of the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="291"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">The toplevel controlling parent of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1639">The toplevel parent of @self.</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to get the toplevel parent from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1635">The #GESTimelineElement to get the toplevel parent from</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
@@ -8255,64 +14621,99 @@ of the timeline so you should gst_object_unref() it after usage.</doc>
<method name="get_track_types"
c:identifier="ges_timeline_element_get_track_types"
version="1.6.0">
- <doc xml:space="preserve">Gets all the TrackTypes @self will interact with</doc>
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2250">Gets the track types that the element can interact with, i.e. the type
+of #GESTrack it can exist in, or will create #GESTrackElement-s for.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="404"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2257">The track types that @self supports.</doc>
<type name="TrackType" c:type="GESTrackType"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">A #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2252">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="list_children_properties"
c:identifier="ges_timeline_element_list_children_properties">
- <doc xml:space="preserve">Gets an array of #GParamSpec* for all configurable properties of the
-children of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2144">Get a list of children properties of the element, which is a list of
+all the specifications passed to
+ges_timeline_element_add_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="351"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an array of #GParamSpec* which should be freed after use or
-%NULL if something went wrong</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2154">An array of
+#GParamSpec corresponding to the child properties of @self, or %NULL if
+something went wrong.</doc>
<array length="0" zero-terminated="0" c:type="GParamSpec**">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</array>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to get the list of children properties from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2146">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="n_properties"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">return location for the length of the returned array</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2147">The return location for the length of the
+returned array</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="lookup_child"
c:identifier="ges_timeline_element_lookup_child">
- <doc xml:space="preserve">Looks up which @element and @pspec would be effected by the given @name. If various
-contained elements have this property name you will get the first one, unless you
-specify the class name in @name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if @element and @pspec could be found. FALSE otherwise. In that
-case the values for @pspec and @element are not modified. Unref @element after
-usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1954">Looks up a child property of the element.
+
+@prop_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to look up (as used in g_object_get()), and "TypeName" is the type name
+of the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will be passed to @child, and the
+registered specification of this property will be passed to @pspec.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="354"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1977">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">object to lookup the property in</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1956">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the property to look up. You can specify the name of the
- class as such: "ClassName::property-name", to guarantee that you get the
- proper GParamSpec in case various GstElement-s contain the same property
- name. If you don't do so, you will get the first element found, having
- this property and the and the corresponding GParamSpec.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1957">The name of a child property</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="child"
@@ -8321,8 +14722,10 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to a #GstElement that
- takes the real object to set property on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1958">The return location for the
+found child</doc>
<type name="GObject.Object" c:type="GObject**"/>
</parameter>
<parameter name="pspec"
@@ -8331,8 +14734,10 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to take the #GParamSpec
- describing the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1960">The return location for the
+specification of the child property</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
@@ -8340,119 +14745,189 @@ usage.</doc>
<method name="paste"
c:identifier="ges_timeline_element_paste"
version="1.6.0">
- <doc xml:space="preserve">Paste @self inside the timeline. @self must have been created
-using ges_timeline_element_copy with recurse=TRUE set,
-otherwise it will fail.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">Paste @self copying the element</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2271">Paste an element inside the same timeline and layer as @self. @self
+**must** be the return of ges_timeline_element_copy() with `deep=TRUE`,
+and it should not be changed before pasting.
+@self is not placed in the timeline, instead a new element is created,
+alike to the originally copied element. Note that the originally
+copied element must stay within the same timeline and layer, at both
+the point of copying and pasting.
+
+Pasting may fail if it would place the timeline in an unsupported
+configuration.
+
+After calling this function @element should not be used. In particular,
+@element can **not** be pasted again. Instead, you can copy the
+returned element and paste that copy (although, this is only possible
+if the paste was successful).
+
+See also ges_timeline_paste_element().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="401"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2295">The newly created element, or
+%NULL if pasting fails.</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to paste</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2273">The #GESTimelineElement to paste</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="paste_position" transfer-ownership="none">
- <doc xml:space="preserve">The position in the timeline the element should
-be copied to, meaning it will become the start of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2274">The position in the timeline @element should be pasted
+to, i.e. the #GESTimelineElement:start value for the pasted element.</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="remove_child_property"
c:identifier="ges_timeline_element_remove_child_property">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2208">Remove a child property from the element. @pspec should be a
+specification that was passed to
+ges_timeline_element_add_child_property(). The corresponding property
+will no longer be registered as a child property for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="398"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2218">%TRUE if the property was successfully un-registered for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2210">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2211">The specification for the property to remove</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
</parameters>
</method>
<method name="ripple" c:identifier="ges_timeline_element_ripple">
- <doc xml:space="preserve">Edits @self in ripple mode. It allows you to modify the
-start of @self and move the following neighbours accordingly.
-This will change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rippled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1418">Edits the start time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_NONE.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="328"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1427">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to ripple.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1420">The #GESTimelineElement to ripple</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in ripple mode.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1421">The new start time of @self in ripple mode</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="ripple_end" c:identifier="ges_timeline_element_ripple_end">
- <doc xml:space="preserve">Edits @self in ripple mode. It allows you to modify the
-duration of a @self and move the following neighbours accordingly.
-This will change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rippled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1448">Edits the end time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="331"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1457">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to ripple.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1450">The #GESTimelineElement to ripple</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">The new end (start + duration) of @self in ripple mode. It will
- basically only change the duration of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1451">The new end time of @self in ripple mode</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="roll_end" c:identifier="ges_timeline_element_roll_end">
- <doc xml:space="preserve">Edits @self in roll mode. It allows you to modify the
-duration of a @self and trim (basicly change the start + inpoint
-in this case) the following neighbours accordingly.
-This will not change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rolled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1503">Edits the end time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="337"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1512">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to roll.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1505">The #GESTimelineElement to roll</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">The new end (start + duration) of @self in roll mode</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1506">The new end time of @self in roll mode</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="roll_start" c:identifier="ges_timeline_element_roll_start">
- <doc xml:space="preserve">Edits @self in roll mode. It allows you to modify the
-start and inpoint of a @self and "resize" (basicly change the duration
-in this case) of the previous neighbours accordingly.
-This will not change the overall timeline duration.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been roll properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1476">Edits the start time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="334"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1485">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to roll</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1478">The #GESTimelineElement to roll</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in roll mode, it will also adapat
-the in-point of @self according</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1479">The new start time of @self in roll mode</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
@@ -8460,365 +14935,648 @@ the in-point of @self according</doc>
<method name="set_child_properties"
c:identifier="ges_timeline_element_set_child_properties"
introspectable="0">
- <doc xml:space="preserve">Sets a property of a child of @self. If there are various child elements
-that have the same property name, you can distinguish them using the following
-syntax: 'ClasseName::property_name' as property name. If you don't, the
-corresponding property of the first element found will be set.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2056">Sets several of the children properties of the element. See
+ges_timeline_element_set_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="377"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement parent object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2058">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2059">The name of the first child property to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
-name/return location pairs, followed by NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2060">The value for the first property, followed optionally by more
+name/value pairs, followed by %NULL</doc>
<varargs/>
</parameter>
</parameters>
</method>
<method name="set_child_property"
c:identifier="ges_timeline_element_set_child_property">
- <doc xml:space="preserve">Sets a property of a child of @self
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1875">See ges_timeline_element_set_child_property_full(), which also gives an
+error.
-Note that #ges_timeline_element_set_child_property is really
-intended for language bindings, #ges_timeline_element_set_child_properties
-is much more convenient for C programming.</doc>
+Note that ges_timeline_element_set_child_properties() may be more
+convenient for C programming.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="381"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the property was set, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1887">%TRUE if the property was found and set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1877">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1878">The name of the child property to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value</doc>
- <type name="GObject.Value" c:type="GValue*"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1879">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
</parameter>
</parameters>
</method>
<method name="set_child_property_by_pspec"
c:identifier="ges_timeline_element_set_child_property_by_pspec">
- <doc xml:space="preserve">Sets a property of a child of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1807">Sets the property of a child of the element. Specifically, the property
+corresponding to the @pspec used in
+ges_timeline_element_add_child_property() is set to @value.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="373"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1809">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">The #GParamSpec that specifies the property you want to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1810">The specification of a registered child property to set</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value</doc>
- <type name="GObject.Value" c:type="GValue*"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1811">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_full"
+ c:identifier="ges_timeline_element_set_child_property_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1827">Sets the property of a child of the element.
+
+@property_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to set (as used in g_object_set()), and "TypeName" is the type name of
+the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will have the corresponding
+property set to @value. Other children that may have also matched the
+property name (and type name) are left unchanged!</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="385"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1849">%TRUE if the property was found and set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1829">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1830">The name of the child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1831">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
</parameter>
</parameters>
</method>
<method name="set_child_property_valist"
c:identifier="ges_timeline_element_set_child_property_valist"
introspectable="0">
- <doc xml:space="preserve">Sets a property of a child of @self. If there are various child elements
-that have the same property name, you can distinguish them using the following
-syntax: 'ClasseName::property_name' as property name. If you don't, the
-corresponding property of the first element found will be set.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1993">Sets several of the children properties of the element. See
+ges_timeline_element_set_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="369"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement parent object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1995">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1996">The name of the first child property to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
-name/return location pairs, followed by NULL</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1997">The value for the first property, followed optionally by more
+name/value pairs, followed by %NULL</doc>
<type name="va_list" c:type="va_list"/>
</parameter>
</parameters>
</method>
<method name="set_duration"
c:identifier="ges_timeline_element_set_duration">
- <doc xml:space="preserve">Set the duration of the object
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1240">Sets #GESTimelineElement:duration for the element.
-Note that if the timeline snap-distance property of the timeline containing
-@self is set, @self will properly snap to its neighboors.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the
+#GESTimelineElement:duration of the element may be snapped to a
+different timeline time difference from the one given. In addition,
+setting may fail if it would place the timeline in an unsupported
+configuration, or the element does not have enough internal content to
+last the desired duration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="307"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1256">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1242">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="duration" transfer-ownership="none">
- <doc xml:space="preserve">the duration in #GstClockTime</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1243">The desired duration in its timeline</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="set_inpoint"
c:identifier="ges_timeline_element_set_inpoint">
- <doc xml:space="preserve">Set the in-point, that is the moment at which the @self will start
-outputting data from its contents.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1132">Sets #GESTimelineElement:in-point for the element. If the new in-point
+is above the current #GESTimelineElement:max-duration of the element,
+this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="304"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1141">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1134">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="inpoint" transfer-ownership="none">
- <doc xml:space="preserve">the in-point in #GstClockTime</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1135">The in-point, in internal time coordinates</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="set_max_duration"
c:identifier="ges_timeline_element_set_max_duration">
- <doc xml:space="preserve">Set the maximun duration of the object</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1188">Sets #GESTimelineElement:max-duration for the element. If the new
+maximum duration is below the current #GESTimelineElement:in-point of
+the element, this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="310"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1197">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1190">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="maxduration" transfer-ownership="none">
- <doc xml:space="preserve">the maximum duration in #GstClockTime</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1191">The maximum duration, in internal time coordinates</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="set_name" c:identifier="ges_timeline_element_set_name">
- <doc xml:space="preserve">Sets the name of object, or gives @self a guaranteed unique name (if name is NULL).
-This function makes a copy of the provided name, so the caller retains ownership
-of the name it sent.</doc>
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1669">Sets the #GESTimelineElement:name for the element. If %NULL is given
+for @name, then the library will instead generate a new name based on
+the type name of the element, such as the name "uriclip3" for a
+#GESUriClip, and will set that name instead.
+
+If @self already has a #GESTimelineElement:timeline, you should not
+call this function with @name set to %NULL.
+
+You should ensure that, within each #GESTimeline, every element has a
+unique name. If you call this function with @name as %NULL, then
+the library should ensure that the set generated name is unique from
+previously **generated** names. However, if you choose a @name that
+interferes with the naming conventions of the library, the library will
+attempt to ensure that the generated names will not conflict with the
+chosen name, which may lead to a different name being set instead, but
+the uniqueness between generated and user-chosen names is not
+guaranteed.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1692">%TRUE if @name or a generated name for @self could be set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1671">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="name"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The name @self should take (if avalaible&lt;)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1672">The name @self should take</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_parent" c:identifier="ges_timeline_element_set_parent">
- <doc xml:space="preserve">Sets the parent of @self to @parent. The parents needs to already
-own a hard reference on @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="878">Sets the #GESTimelineElement:parent for the element.
+
+This is used internally and you should normally not call this. A
+#GESContainer will set the #GESTimelineElement:parent of its children
+in ges_container_add() and ges_container_remove().
+
+Note, if @parent is not %NULL, @self must not already have a parent
+set. Therefore, if you wish to switch parents, you will need to call
+this function twice: first to set the parent to %NULL, and then to the
+new parent.
+
+If @parent is not %NULL, you must ensure it already has a
+(non-floating) reference to @self before calling this.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="295"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @parent could be set or %FALSE when @self
-already had a parent or @self and @parent are the same.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="897">%TRUE if @parent could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="880">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="parent" transfer-ownership="none">
- <doc xml:space="preserve">new parent of self</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
</parameters>
</method>
<method name="set_priority"
c:identifier="ges_timeline_element_set_priority"
- deprecated="1">
- <doc xml:space="preserve">Sets the priority of the object within the containing layer</doc>
+ deprecated="1"
+ deprecated-version="1.10">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1377">Sets the priority of the element within the containing layer.</doc>
<doc-deprecated xml:space="preserve">All priority management is done by GES itself now.
To set #GESEffect priorities #ges_clip_set_top_effect_index should
be used.</doc-deprecated>
+ <source-position filename="ges/ges-timeline-element.h" line="313"/>
<return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1388">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1379">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="priority" transfer-ownership="none">
- <doc xml:space="preserve">the priority</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1380">The priority</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_start" c:identifier="ges_timeline_element_set_start">
- <doc xml:space="preserve">Set the position of the object in its containing layer.
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1057">Sets #GESTimelineElement:start for the element. If the element has a
+parent, this will also move its siblings with the same shift.
-Note that if the snapping-distance property of the timeline containing
-@self is set, @self will properly snap to the edges around @start.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the
+#GESTimelineElement:start of the element may be snapped to a different
+timeline time from the one given. In addition, setting may fail if it
+would place the timeline in an unsupported configuration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="301"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1072">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1059">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">the position in #GstClockTime</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1060">The desired start position of the element in its timeline</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="set_timeline"
c:identifier="ges_timeline_element_set_timeline">
- <doc xml:space="preserve">Sets the timeline of @self to @timeline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @timeline could be set or %FALSE when @timeline
-already had a timeline.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="967">Sets the #GESTimelineElement:timeline of the element.
+
+This is used internally and you should normally not call this. A
+#GESClip will have its #GESTimelineElement:timeline set through its
+#GESLayer. A #GESTrack will similarly take care of setting the
+#GESTimelineElement:timeline of its #GESTrackElement-s. A #GESGroup
+will adopt the same #GESTimelineElement:timeline as its children.
+
+If @timeline is %NULL, this will stop its current
+#GESTimelineElement:timeline from tracking it, otherwise @timeline will
+start tracking @self. Note, in the latter case, @self must not already
+have a timeline set. Therefore, if you wish to switch timelines, you
+will need to call this function twice: first to set the timeline to
+%NULL, and then to the new timeline.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="298"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="987">%TRUE if @timeline could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="969">A #GESTimelineElement
+@timeline (nullable): The #GESTimeline @self should be in</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimeline @self is in</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
</parameters>
</method>
<method name="trim" c:identifier="ges_timeline_element_trim">
- <doc xml:space="preserve">Edits @self in trim mode. It allows you to modify the
-inpoint and start of @self.
-This will not change the overall timeline duration.
-
-Note that to trim the end of an self you can just set its duration. The same way
-as this method, it will take into account the snapping-distance property of the
-timeline in which @self is.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been trimmed properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1530">Edits the start time of an element within its timeline in trim mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_TRIM and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1539">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to trim.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1532">The #GESTimelineElement to trim</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</instance-parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in trim mode, will adapt the inpoint
-of @self accordingly</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1533">The new start time of @self in trim mode</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<property name="duration" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The duration (in nanoseconds) which will be used in the container</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="490">The duration that the element is in effect for in the timeline (a
+time difference in nanoseconds using the time coordinates of the
+timeline). For example, for a source element, this would determine
+for how long it should output its internal content for. For an
+operation element, this would determine for how long its effect
+should be applied to any source content.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="in-point" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The in-point at which this #GESTimelineElement will start outputting data
-from its contents (in nanoseconds).
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="469">The initial offset to use internally when outputting content (in
+nanoseconds, but in the time coordinates of the internal content).
+
+For example, for a #GESVideoUriSource that references some media
+file, the "internal content" is the media file data, and the
+in-point would correspond to some timestamp in the media file.
+When playing the timeline, and when the element is first reached at
+timeline-time #GESTimelineElement:start, it will begin outputting the
+data from the timestamp in-point **onwards**, until it reaches the
+end of its #GESTimelineElement:duration in the timeline.
-Ex : an in-point of 5 seconds means that the first outputted buffer will
-be the one located 5 seconds in the controlled resource.</doc>
+For elements that have no internal content, this should be kept
+as 0.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="max-duration"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The maximum duration (in nanoseconds) of the #GESTimelineElement.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="505">The full duration of internal content that is available (a time
+difference in nanoseconds using the time coordinates of the internal
+content).
+
+This will act as a cap on the #GESTimelineElement:in-point of the
+element (which is in the same time coordinates), and will sometimes
+be used to limit the #GESTimelineElement:duration of the element in
+the timeline.
+
+For example, for a #GESVideoUriSource that references some media
+file, this would be the length of the media file.
+
+For elements that have no internal content, or whose content is
+indefinite, this should be kept as #GST_CLOCK_TIME_NONE.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="name"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The name of the object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="538">The name of the element. This should be unique within its timeline.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="parent" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The parent container of the object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="435">The parent container of the element.</doc>
<type name="TimelineElement"/>
</property>
- <property name="priority" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The priority of the object.
-
-Setting GESTimelineElement priorities is deprecated
-as all priority management is done by GES itself now.</doc>
+ <property name="priority"
+ deprecated="1"
+ deprecated-version="1.10"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="528">The priority of the element.</doc>
+ <doc-deprecated xml:space="preserve">Priority management is now done by GES itself.</doc-deprecated>
<type name="guint" c:type="guint"/>
</property>
<property name="serialize" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Whether the element should be serialized.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="547">Whether the element should be serialized.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="start" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The position of the object in its container (in nanoseconds).</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="455">The starting position of the element in the timeline (in nanoseconds
+and in the time coordinates of the timeline). For example, for a
+source element, this would determine the time at which it should
+start outputting its internal content. For an operation element, this
+would determine the time at which it should start applying its effect
+to any source content.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="timeline" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The timeline in which @element is</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="445">The timeline that the element lies within.</doc>
<type name="Timeline"/>
</property>
<field name="parent_instance">
<type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
</field>
<field name="parent">
- <doc xml:space="preserve">The #GESTimelineElement that controls the object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="122">The #GESTimelineElement:parent of the element</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</field>
<field name="asset">
- <doc xml:space="preserve">The #GESAsset from which the object has been extracted</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="123">The #GESAsset from which the object has been extracted</doc>
<type name="Asset" c:type="GESAsset*"/>
</field>
<field name="start">
- <doc xml:space="preserve">position (in time) of the object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="124">The #GESTimelineElement:start of the element</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="inpoint">
- <doc xml:space="preserve">Position in the media from which the object should be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="125">The #GESTimelineElement:in-point of the element</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="duration">
- <doc xml:space="preserve">duration of the object to be used</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="126">The #GESTimelineElement:duration of the element</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="maxduration">
- <doc xml:space="preserve">The maximum duration the object can have</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="127">The #GESTimelineElement:max-duration of the element</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="priority">
- <doc xml:space="preserve">priority of the object in the layer (0:top priority)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="128">The #GESTimelineElement:priority of the element</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="130">The #GESTimelineElement:timeline of the element</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</field>
<field name="name">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="129">The #GESTimelineElement:name of the element</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="priv" readable="0" private="1">
@@ -8826,27 +15584,85 @@ as all priority management is done by GES itself now.</doc>
c:type="GESTimelineElementPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
+ <array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
+ <glib:signal name="child-property-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="575">Emitted when the element has a new child property registered. See
+ges_timeline_element_add_child_property().
+
+Note that some GES elements will be automatically created with
+pre-registered children properties. You can use
+ges_timeline_element_list_children_properties() to list these.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="578">The child whose property has been registered</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="579">The specification for the property that has been registered</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-property-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="593">Emitted when the element has a child property unregistered. See
+ges_timeline_element_remove_child_property().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="596">The child whose property has been unregistered</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="597">The specification for the property that has been unregistered</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
<glib:signal name="deep-notify"
when="first"
no-recurse="1"
detailed="1"
no-hooks="1">
- <doc xml:space="preserve">The deep notify signal is used to be notified of property changes of all
-the childs of @timeline_element</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="558">Emitted when a child of the element has one of its registered
+properties set. See ges_timeline_element_add_child_property().
+Note that unlike #GObject::notify, a child property name can not be
+used as a signal detail.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="prop_object" transfer-ownership="none">
- <doc xml:space="preserve">the object that originated the signal</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="561">The child whose property has been set</doc>
<type name="GObject.Object"/>
</parameter>
<parameter name="prop" transfer-ownership="none">
- <doc xml:space="preserve">the property that changed</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="562">The specification for the property that been set</doc>
<type name="GObject.ParamSpec"/>
</parameter>
</parameters>
@@ -8855,31 +15671,38 @@ the childs of @timeline_element</doc>
<record name="TimelineElementClass"
c:type="GESTimelineElementClass"
glib:is-gtype-struct-for="TimelineElement">
- <doc xml:space="preserve">The GESTimelineElement base class. Subclasses should override at least
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="159">The #GESTimelineElement base class. Subclasses should override at least
@set_start @set_inpoint @set_duration @ripple @ripple_end @roll_start
@roll_end and @trim.
Vmethods in subclasses should apply all the operation they need to but
the real method implementation is in charge of setting the proper field,
-and emit the notify signal.</doc>
+and emitting the notify signal.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="288"/>
<field name="parent_class">
<type name="GObject.InitiallyUnownedClass"
c:type="GInitiallyUnownedClass"/>
</field>
<field name="set_parent">
<callback name="set_parent">
+ <source-position filename="ges/ges-timeline-element.h" line="249"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @parent could be set or %FALSE when @self
-already had a parent or @self and @parent are the same.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="897">%TRUE if @parent could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="880">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="parent" transfer-ownership="none">
- <doc xml:space="preserve">new parent of self</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
</parameters>
@@ -8887,14 +15710,24 @@ already had a parent or @self and @parent are the same.</doc>
</field>
<field name="set_start">
<callback name="set_start">
+ <source-position filename="ges/ges-timeline-element.h" line="250"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1072">%TRUE if @start could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1059">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1060">The desired start position of the element in its timeline</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
@@ -8902,14 +15735,24 @@ already had a parent or @self and @parent are the same.</doc>
</field>
<field name="set_inpoint">
<callback name="set_inpoint">
+ <source-position filename="ges/ges-timeline-element.h" line="251"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1141">%TRUE if @inpoint could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1134">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1135">The in-point, in internal time coordinates</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
@@ -8917,14 +15760,24 @@ already had a parent or @self and @parent are the same.</doc>
</field>
<field name="set_duration">
<callback name="set_duration">
+ <source-position filename="ges/ges-timeline-element.h" line="252"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1256">%TRUE if @duration could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1242">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1243">The desired duration in its timeline</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
@@ -8932,14 +15785,24 @@ already had a parent or @self and @parent are the same.</doc>
</field>
<field name="set_max_duration">
<callback name="set_max_duration">
+ <source-position filename="ges/ges-timeline-element.h" line="253"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1197">%TRUE if @maxduration could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1190">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1191">The maximum duration, in internal time coordinates</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
@@ -8947,14 +15810,24 @@ already had a parent or @self and @parent are the same.</doc>
</field>
<field name="set_priority">
<callback name="set_priority">
+ <source-position filename="ges/ges-timeline-element.h" line="254"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1388">%TRUE if @priority could be set for @self.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1379">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1380">The priority</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
@@ -8962,18 +15835,25 @@ already had a parent or @self and @parent are the same.</doc>
</field>
<field name="ripple">
<callback name="ripple">
+ <source-position filename="ges/ges-timeline-element.h" line="256"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rippled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1427">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to ripple.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1420">The #GESTimelineElement to ripple</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in ripple mode.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1421">The new start time of @self in ripple mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -8981,19 +15861,25 @@ occured</doc>
</field>
<field name="ripple_end">
<callback name="ripple_end">
+ <source-position filename="ges/ges-timeline-element.h" line="257"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rippled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1457">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to ripple.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1450">The #GESTimelineElement to ripple</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">The new end (start + duration) of @self in ripple mode. It will
- basically only change the duration of @self.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1451">The new end time of @self in ripple mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -9001,19 +15887,24 @@ occured</doc>
</field>
<field name="roll_start">
<callback name="roll_start">
+ <source-position filename="ges/ges-timeline-element.h" line="258"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been roll properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1485">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to roll</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1478">The #GESTimelineElement to roll</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in roll mode, it will also adapat
-the in-point of @self according</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1479">The new start time of @self in roll mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -9021,18 +15912,24 @@ the in-point of @self according</doc>
</field>
<field name="roll_end">
<callback name="roll_end">
+ <source-position filename="ges/ges-timeline-element.h" line="259"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been rolled properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1512">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to roll.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1505">The #GESTimelineElement to roll</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">The new end (start + duration) of @self in roll mode</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1506">The new end time of @self in roll mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -9040,19 +15937,24 @@ occured</doc>
</field>
<field name="trim">
<callback name="trim">
+ <source-position filename="ges/ges-timeline-element.h" line="260"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the self as been trimmed properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1539">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTimelineElement to trim.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1532">The #GESTimelineElement to trim</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">The new start of @self in trim mode, will adapt the inpoint
-of @self accordingly</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1533">The new start time of @self in trim mode</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
@@ -9060,6 +15962,7 @@ of @self accordingly</doc>
</field>
<field name="deep_copy">
<callback name="deep_copy">
+ <source-position filename="ges/ges-timeline-element.h" line="261"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -9075,6 +15978,7 @@ of @self accordingly</doc>
</field>
<field name="paste" introspectable="0">
<callback name="paste" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="263"/>
<return-value>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</return-value>
@@ -9093,6 +15997,7 @@ of @self accordingly</doc>
</field>
<field name="list_children_properties" introspectable="0">
<callback name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="267"/>
<return-value>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</return-value>
@@ -9108,23 +16013,25 @@ of @self accordingly</doc>
</field>
<field name="lookup_child">
<callback name="lookup_child">
+ <source-position filename="ges/ges-timeline-element.h" line="268"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if @element and @pspec could be found. FALSE otherwise. In that
-case the values for @pspec and @element are not modified. Unref @element after
-usage.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1977">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">object to lookup the property in</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1956">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
<parameter name="prop_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the property to look up. You can specify the name of the
- class as such: "ClassName::property-name", to guarantee that you get the
- proper GParamSpec in case various GstElement-s contain the same property
- name. If you don't do so, you will get the first element found, having
- this property and the and the corresponding GParamSpec.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1957">The name of a child property</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="child"
@@ -9133,8 +16040,10 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to a #GstElement that
- takes the real object to set property on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1958">The return location for the
+found child</doc>
<type name="GObject.Object" c:type="GObject**"/>
</parameter>
<parameter name="pspec"
@@ -9143,8 +16052,10 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to take the #GParamSpec
- describing the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1960">The return location for the
+specification of the child property</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
@@ -9152,19 +16063,129 @@ usage.</doc>
</field>
<field name="get_track_types">
<callback name="get_track_types">
+ <source-position filename="ges/ges-timeline-element.h" line="270"/>
<return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2257">The track types that @self supports.</doc>
<type name="TrackType" c:type="GESTrackType"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">A #GESTimelineElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2252">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_child_property">
+ <callback name="set_child_property">
+ <source-position filename="ges/ges-timeline-element.h" line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_layer_priority">
+ <callback name="get_layer_priority">
+ <source-position filename="ges/ges-timeline-element.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2335">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2329">A #GESTimelineElement</doc>
<type name="TimelineElement" c:type="GESTimelineElement*"/>
</parameter>
</parameters>
</callback>
</field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="ges/ges-timeline-element.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2469">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2455">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="framerate_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2456">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2457">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_child_property_full">
+ <callback name="set_child_property_full" throws="1">
+ <source-position filename="ges/ges-timeline-element.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="18">
+ <array zero-terminated="0" fixed-size="14">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -9172,8 +16193,10 @@ usage.</doc>
<record name="TimelineElementPrivate"
c:type="GESTimelineElementPrivate"
disguised="1">
+ <source-position filename="ges/ges-timeline-element.h" line="30"/>
</record>
<record name="TimelinePrivate" c:type="GESTimelinePrivate" disguised="1">
+ <source-position filename="ges/ges-timeline.h" line="31"/>
</record>
<class name="TitleClip"
c:symbol-prefix="title_clip"
@@ -9182,250 +16205,361 @@ usage.</doc>
glib:type-name="GESTitleClip"
glib:get-type="ges_title_clip_get_type"
glib:type-struct="TitleClipClass">
- <doc xml:space="preserve">Renders the given text in the specified font, at specified position, and
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="21">Renders the given text in the specified font, at specified position, and
with the specified background pattern.</doc>
+ <source-position filename="ges/ges-title-clip.h" line="55"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_title_clip_new">
- <doc xml:space="preserve">Creates a new #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="683">Creates a new #GESTitleClip</doc>
+ <source-position filename="ges/ges-title-clip.h" line="106"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESTitleClip,
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="688">The newly created #GESTitleClip,
or %NULL if there was an error.</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</return-value>
</constructor>
<method name="get_background_color"
c:identifier="ges_title_clip_get_background_color"
- deprecated="1">
- <doc xml:space="preserve">Get the background used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The color used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="573">Get the background used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="579">The color used by @self.</doc>
<type name="guint32" c:type="const guint32"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="575">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_font_desc"
c:identifier="ges_title_clip_get_font_desc"
- deprecated="1">
- <doc xml:space="preserve">Get the pango font description used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The pango font description used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="485">Get the pango font description used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="491">The pango font description used by @self.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="487">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_halignment"
c:identifier="ges_title_clip_get_halignment"
- deprecated="1">
- <doc xml:space="preserve">Get the horizontal aligment used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal aligment used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="507">Get the horizontal aligment used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="513">The horizontal aligment used by @self.</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="509">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_text"
c:identifier="ges_title_clip_get_text"
- deprecated="1">
- <doc xml:space="preserve">Get the text currently set on @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The text currently set on @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="463">Get the text currently set on @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="469">The text currently set on @self.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="465">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_text_color"
c:identifier="ges_title_clip_get_text_color"
- deprecated="1">
- <doc xml:space="preserve">Get the color used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The color used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="551">Get the color used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="557">The color used by @self.</doc>
<type name="guint32" c:type="const guint32"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="553">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_valignment"
c:identifier="ges_title_clip_get_valignment"
- deprecated="1">
- <doc xml:space="preserve">Get the vertical aligment used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical aligment used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="529">Get the vertical aligment used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="535">The vertical aligment used by @self.</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="531">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_xpos"
c:identifier="ges_title_clip_get_xpos"
- deprecated="1">
- <doc xml:space="preserve">Get the horizontal position used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="595">Get the horizontal position used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="601">The horizontal position used by @self.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="597">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ypos"
c:identifier="ges_title_clip_get_ypos"
- deprecated="1">
- <doc xml:space="preserve">Get the vertical position used by @self.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical position used by @self.</doc>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="617">Get the vertical position used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_property instead</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="623">The vertical position used by @self.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="619">a #GESTitleClip</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_background"
c:identifier="ges_title_clip_set_background"
- deprecated="1">
- <doc xml:space="preserve">Sets the background of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="394">Sets the background of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="73"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="396">the #GESTitleClip* to set</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="background" transfer-ownership="none">
- <doc xml:space="preserve">The color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="397">The color @self is being set to</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_color"
c:identifier="ges_title_clip_set_color"
- deprecated="1">
- <doc xml:space="preserve">Sets the color of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="372">Sets the color of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="70"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="374">the #GESTitleClip* to set</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="color" transfer-ownership="none">
- <doc xml:space="preserve">The color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="375">The color @self is being set to</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_font_desc"
c:identifier="ges_title_clip_set_font_desc"
- deprecated="1">
- <doc xml:space="preserve">Sets the pango font description of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="303">Sets the pango font description of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="61"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip*</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="305">the #GESTitleClip*</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="font_desc" transfer-ownership="none">
- <doc xml:space="preserve">the pango font description</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="306">the pango font description</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_halignment"
c:identifier="ges_title_clip_set_halignment"
- deprecated="1">
- <doc xml:space="preserve">Sets the horizontal aligment of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="326">Sets the horizontal aligment of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="67"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set horizontal alignement of text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="328">the #GESTitleClip* to set horizontal alignement of text on</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="halign" transfer-ownership="none">
- <doc xml:space="preserve">#GESTextHAlign</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="329">#GESTextHAlign</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</parameter>
</parameters>
</method>
<method name="set_text"
c:identifier="ges_title_clip_set_text"
- deprecated="1">
- <doc xml:space="preserve">Sets the text this clip will render.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="280">Sets the text this clip will render.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="58"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="282">the #GESTitleClip* to set text on</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to render. an internal copy of this text will be
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="283">the text to render. an internal copy of this text will be
made.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -9433,142 +16567,198 @@ made.</doc>
</method>
<method name="set_valignment"
c:identifier="ges_title_clip_set_valignment"
- deprecated="1">
- <doc xml:space="preserve">Sets the vertical aligment of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="349">Sets the vertical aligment of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="64"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set vertical alignement of text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="351">the #GESTitleClip* to set vertical alignement of text on</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="valign" transfer-ownership="none">
- <doc xml:space="preserve">#GESTextVAlign</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="352">#GESTextVAlign</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</parameter>
</parameters>
</method>
<method name="set_xpos"
c:identifier="ges_title_clip_set_xpos"
- deprecated="1">
- <doc xml:space="preserve">Sets the horizontal position of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="417">Sets the horizontal position of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="76"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="419">the #GESTitleClip* to set</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="420">The horizontal position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_ypos"
c:identifier="ges_title_clip_set_ypos"
- deprecated="1">
- <doc xml:space="preserve">Sets the vertical position of the text.</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="440">Sets the vertical position of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="79"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleClip* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="442">the #GESTitleClip* to set</doc>
<type name="TitleClip" c:type="GESTitleClip*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The vertical position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="443">The vertical position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<property name="background"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The background of the text</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="225">The background of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="guint" c:type="guint"/>
</property>
<property name="color"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The color of the text</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="210">The color of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="guint" c:type="guint"/>
</property>
<property name="font-desc"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Pango font description string</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="157">Pango font description string</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="halignment"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Horizontal alignment of the text</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="189">Horizontal alignment of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="TextHAlign"/>
</property>
<property name="text"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The text to diplay</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="143">The text to diplay</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="utf8" c:type="gchar*"/>
</property>
<property name="valignment"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Vertical alignent of the text</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="174">Vertical alignent of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="TextVAlign"/>
</property>
<property name="xpos"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position of the text</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="240">The horizontal position of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="ypos"
deprecated="1"
+ deprecated-version="1.6"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">The vertical position of the text</doc>
- <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
-underlying GESTrackElement instead</doc-deprecated>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="255">The vertical position of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
<type name="gdouble" c:type="gdouble"/>
</property>
<field name="parent">
@@ -9578,7 +16768,7 @@ underlying GESTrackElement instead</doc-deprecated>
<type name="TitleClipPrivate" c:type="GESTitleClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -9586,16 +16776,18 @@ underlying GESTrackElement instead</doc-deprecated>
<record name="TitleClipClass"
c:type="GESTitleClipClass"
glib:is-gtype-struct-for="TitleClip">
+ <source-position filename="ges/ges-title-clip.h" line="55"/>
<field name="parent_class" readable="0" private="1">
<type name="SourceClipClass" c:type="GESSourceClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="TitleClipPrivate" c:type="GESTitleClipPrivate" disguised="1">
+ <source-position filename="ges/ges-title-clip.h" line="31"/>
</record>
<class name="TitleSource"
c:symbol-prefix="title_source"
@@ -9604,229 +16796,257 @@ underlying GESTrackElement instead</doc-deprecated>
glib:type-name="GESTitleSource"
glib:get-type="ges_title_source_get_type"
glib:type-struct="TitleSourceClass">
- <doc xml:space="preserve">#GESTitleSource is a GESTimelineElement that implements the notion
-of titles in GES.
-
-## Children Properties
-
-You can use the following children properties through the
-#ges_track_element_set_child_property and alike set of methods:
-&lt;informaltable frame="none"&gt;
-&lt;tgroup cols="3"&gt;
-&lt;colspec colname="properties_type" colwidth="150px"/&gt;
-&lt;colspec colname="properties_name" colwidth="200px"/&gt;
-&lt;colspec colname="properties_flags" colwidth="400px"/&gt;
-&lt;tbody&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="guint"&gt;&lt;type&gt;guint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--background"&gt;background&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The color of the background&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="guint"&gt;&lt;type&gt;guint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--color"&gt;color&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The color of the text&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gchar"&gt;&lt;type&gt;gchar&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--font-desc"&gt;font-desc&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Pango font description string&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="GESTextHAlign"&gt;&lt;type&gt;GESTextHAlign&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--halignment"&gt;halignment&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Horizontal alignment of the text&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gchar"&gt;&lt;type&gt;gchar&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--text"&gt;text&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The text to be rendered&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="GESTextVAlign"&gt;&lt;type&gt;GESTextVAlign&lt;/type&gt;&lt;/link&gt;
- &lt;/entry&gt;&lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--valignment"&gt;valignment&lt;/link&gt;
- &lt;/entry&gt;&lt;entry&gt;Vertical alignent of the text&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gdouble"&gt;&lt;type&gt;gdouble&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--xpos"&gt;xpos&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The horizontal position of the text&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;&lt;entry role="property_type"&gt;&lt;link linkend="gdouble"&gt;&lt;type&gt;gdouble&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--ypos"&gt;ypos&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The vertical position of the text&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;&lt;entry role="property_type"&gt;&lt;link linkend="gboolean"&gt;&lt;type&gt;gboolean&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--shaded-background"&gt;shaded-background&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Whether to shade the background under the text area&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;&lt;entry role="property_type"&gt;&lt;link linkend="guint"&gt;&lt;type&gt;guint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESTileSource--outline-color"&gt;outline-color&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Color to use for outline the text (big-endian ARGB).&lt;/entry&gt;
-&lt;/row&gt;
-&lt;/tbody&gt;
-&lt;/tgroup&gt;
-&lt;/informaltable&gt;</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="21">#GESTitleSource is a GESTimelineElement that implements the notion
+of titles in GES.</doc>
+ <source-position filename="ges/ges-title-source.h" line="60"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<method name="get_background_color"
c:identifier="ges_title_source_get_background_color">
- <doc xml:space="preserve">Get the background used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The background used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="489">Get the background used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="495">The background used by @source.</doc>
<type name="guint32" c:type="const guint32"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="491">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_font_desc"
- c:identifier="ges_title_source_get_font_desc">
- <doc xml:space="preserve">Get the pango font description used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The pango font description used by this
+ c:identifier="ges_title_source_get_font_desc"
+ deprecated="1"
+ deprecated-version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="409">Get the pango font description used by @source.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead
+(this actually returns a newly allocated string)</doc-deprecated>
+ <source-position filename="ges/ges-title-source.h" line="94"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="415">The pango font description used by this
@source.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="411">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_halignment"
c:identifier="ges_title_source_get_halignment">
- <doc xml:space="preserve">Get the horizontal aligment used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal aligment used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="432">Get the horizontal aligment used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="438">The horizontal aligment used by @source.</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="434">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
- <method name="get_text" c:identifier="ges_title_source_get_text">
- <doc xml:space="preserve">Get the text currently set on the @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The text currently set on the @source.</doc>
+ <method name="get_text"
+ c:identifier="ges_title_source_get_text"
+ deprecated="1"
+ deprecated-version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="387">Get the text currently set on the @source.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead
+(this actually returns a newly allocated string)</doc-deprecated>
+ <source-position filename="ges/ges-title-source.h" line="92"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="393">The text currently set on the @source.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="389">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_text_color"
c:identifier="ges_title_source_get_text_color">
- <doc xml:space="preserve">Get the color used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The color used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="470">Get the color used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="476">The color used by @source.</doc>
<type name="guint32" c:type="const guint32"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="472">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_valignment"
c:identifier="ges_title_source_get_valignment">
- <doc xml:space="preserve">Get the vertical aligment used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical aligment used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="451">Get the vertical aligment used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="457">The vertical aligment used by @source.</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="453">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_xpos" c:identifier="ges_title_source_get_xpos">
- <doc xml:space="preserve">Get the horizontal position used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The horizontal position used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="508">Get the horizontal position used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="514">The horizontal position used by @source.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="510">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ypos" c:identifier="ges_title_source_get_ypos">
- <doc xml:space="preserve">Get the vertical position used by @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The vertical position used by @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="527">Get the vertical position used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="533">The vertical position used by @source.</doc>
<type name="gdouble" c:type="const gdouble"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="529">a #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_background_color"
c:identifier="ges_title_source_set_background_color">
- <doc xml:space="preserve">Sets the color of the background</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="336">Sets the color of the background</doc>
+ <source-position filename="ges/ges-title-source.h" line="82"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="338">the #GESTitleSource* to set</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="color" transfer-ownership="none">
- <doc xml:space="preserve">the color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="339">the color @self is being set to</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_font_desc"
c:identifier="ges_title_source_set_font_desc">
- <doc xml:space="preserve">Set the pango font description this source will use to render
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="263">Set the pango font description this source will use to render
the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="67"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="265">the #GESTitleSource</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="font_desc" transfer-ownership="none">
- <doc xml:space="preserve">the pango font description</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="266">the pango font description</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_halignment"
c:identifier="ges_title_source_set_halignment">
- <doc xml:space="preserve">Sets the vertical aligment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="302">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="71"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="304">the #GESTitleSource* to set text on</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="halign" transfer-ownership="none">
- <doc xml:space="preserve">#GESTextHAlign</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="305">#GESTextHAlign</doc>
<type name="TextHAlign" c:type="GESTextHAlign"/>
</parameter>
</parameters>
@@ -9834,19 +17054,26 @@ the text.</doc>
<method name="set_text"
c:identifier="ges_title_source_set_text"
deprecated="1">
- <doc xml:space="preserve">Sets the text this track element will render.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="238">Sets the text this track element will render.</doc>
<doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
GESTrackElement instead</doc-deprecated>
+ <source-position filename="ges/ges-title-source.h" line="63"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="240">the #GESTitleSource* to set text on</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to render. an internal copy of this text will be
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="241">the text to render. an internal copy of this text will be
made.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -9854,66 +17081,94 @@ made.</doc>
</method>
<method name="set_text_color"
c:identifier="ges_title_source_set_text_color">
- <doc xml:space="preserve">Sets the color of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="319">Sets the color of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="79"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="321">the #GESTitleSource* to set</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="color" transfer-ownership="none">
- <doc xml:space="preserve">the color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="322">the color @self is being set to</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_valignment"
c:identifier="ges_title_source_set_valignment">
- <doc xml:space="preserve">Sets the vertical aligment of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="285">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="75"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set text on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="287">the #GESTitleSource* to set text on</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="valign" transfer-ownership="none">
- <doc xml:space="preserve">#GESTextVAlign</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="288">#GESTextVAlign</doc>
<type name="TextVAlign" c:type="GESTextVAlign"/>
</parameter>
</parameters>
</method>
<method name="set_xpos" c:identifier="ges_title_source_set_xpos">
- <doc xml:space="preserve">Sets the horizontal position of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="353">Sets the horizontal position of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="85"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="355">the #GESTitleSource* to set</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">the horizontal position @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="356">the horizontal position @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_ypos" c:identifier="ges_title_source_set_ypos">
- <doc xml:space="preserve">Sets the vertical position of the text.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="370">Sets the vertical position of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="88"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTitleSource* to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="372">the #GESTitleSource* to set</doc>
<type name="TitleSource" c:type="GESTitleSource*"/>
</instance-parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">the color @self is being set to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="373">the color @self is being set to</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
</parameters>
@@ -9925,7 +17180,7 @@ made.</doc>
<type name="TitleSourcePrivate" c:type="GESTitleSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -9933,12 +17188,15 @@ made.</doc>
<record name="TitleSourceClass"
c:type="GESTitleSourceClass"
glib:is-gtype-struct-for="TitleSource">
+ <source-position filename="ges/ges-title-source.h" line="60"/>
<field name="parent_class">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.h"
+ line="51">parent class</doc>
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -9946,6 +17204,7 @@ made.</doc>
<record name="TitleSourcePrivate"
c:type="GESTitleSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-title-source.h" line="30"/>
</record>
<class name="Track"
c:symbol-prefix="track"
@@ -9954,32 +17213,75 @@ made.</doc>
glib:type-name="GESTrack"
glib:get-type="ges_track_get_type"
glib:type-struct="TrackClass">
- <doc xml:space="preserve">Corresponds to one output format (i.e. audio OR video).
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="21">A #GESTrack acts an output source for a #GESTimeline. Each one
+essentially provides an additional #GstPad for the timeline, with
+#GESTrack:restriction-caps capabilities. Internally, a track
+wraps an #nlecomposition filtered by a #capsfilter.
+
+A track will contain a number of #GESTrackElement-s, and its role is
+to select and activate these elements according to their timings when
+the timeline in played. For example, a track would activate a
+#GESSource when its #GESTimelineElement:start is reached by outputting
+its data for its #GESTimelineElement:duration. Similarly, a
+#GESOperation would be activated by applying its effect to the source
+data, starting from its #GESTimelineElement:start time and lasting for
+its #GESTimelineElement:duration.
-Contains the compatible TrackElement(s).</doc>
+For most users, it will usually be sufficient to add newly created
+tracks to a timeline, but never directly add an element to a track.
+Whenever a #GESClip is added to a timeline, the clip adds its
+elements to the timeline's tracks and assumes responsibility for
+updating them.</doc>
+ <source-position filename="ges/ges-track.h" line="75"/>
<implements name="MetaContainer"/>
<implements name="Gst.ChildProxy"/>
<constructor name="new" c:identifier="ges_track_new">
- <doc xml:space="preserve">Creates a new #GESTrack with the given @type and @caps.
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="845">Creates a new track with the given track-type and caps.
-The newly created track will steal a reference to the caps. If you wish to
-use those caps elsewhere, you will have to take an extra reference.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">A new #GESTrack.</doc>
+If @type is #GES_TRACK_TYPE_VIDEO, and @caps is a subset of
+"video/x-raw(ANY)", then a #GESVideoTrack is created. This will
+automatically choose a gap creation method suitable for video data. You
+will likely want to set #GESTrack:restriction-caps separately. You may
+prefer to use the ges_video_track_new() method instead.
+
+If @type is #GES_TRACK_TYPE_AUDIO, and @caps is a subset of
+"audio/x-raw(ANY)", then a #GESAudioTrack is created. This will
+automatically choose a gap creation method suitable for audio data, and
+will set the #GESTrack:restriction-caps to the default for
+#GESAudioTrack. You may prefer to use the ges_audio_track_new() method
+instead.
+
+Otherwise, a plain #GESTrack is returned. You will likely want to set
+the #GESTrack:restriction-caps and call
+ges_track_set_create_element_for_gap_func() on the returned track.</doc>
+ <source-position filename="ges/ges-track.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="869">A new track.</doc>
<type name="Track" c:type="GESTrack*"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">The type of track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="847">The #GESTrack:track-type for the track</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
<parameter name="caps" transfer-ownership="full">
- <doc xml:space="preserve">The caps to restrict the output of the track to.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="848">The #GESTrack:caps for the track</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</constructor>
<virtual-method name="get_mixing_element" introspectable="0">
+ <source-position filename="ges/ges-track.h" line="71"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -9990,118 +17292,259 @@ use those caps elsewhere, you will have to take an extra reference.</doc>
</parameters>
</virtual-method>
<method name="add_element" c:identifier="ges_track_add_element">
- <doc xml:space="preserve">Adds the given object to the track. Sets the object's controlling track,
-and thus takes ownership of the @object.
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1229">See ges_track_add_element(), which also gives an error.</doc>
+ <source-position filename="ges/ges-track.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1236">%TRUE if @object was successfully added to @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1231">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1232">The element to add</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_element_full"
+ c:identifier="ges_track_add_element_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1137">Adds the given track element to the track, which takes ownership of the
+element.
-An object can only be added to one track.</doc>
+Note that this can fail if it would break a configuration rule of the
+track's #GESTimeline.
+
+Note that a #GESTrackElement can only be added to one track.</doc>
+ <source-position filename="ges/ges-track.h" line="92"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">#TRUE if the object was properly added. #FALSE if the track does not
-want to accept the object.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1151">%TRUE if @object was successfully added to @track.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1139">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement to add</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1140">The element to add</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</parameter>
</parameters>
</method>
<method name="commit" c:identifier="ges_track_commit">
- <doc xml:space="preserve">Commits all the pending changes of the TrackElement contained in the
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1363">Commits all the pending changes for the elements contained in the
track.
-When timing changes happen in a timeline, the changes are not
-directly done inside NLE. This method needs to be called so any changes
-on a clip contained in the timeline actually happen at the media
-processing level.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if something as been commited %FALSE if nothing needed
-to be commited</doc>
+When changes are made to the timing or priority of elements within a
+track, they are not directly executed for the underlying
+#nlecomposition and its children. This method will finally execute
+these changes so they are reflected in the data output of the track.
+
+Any pending changes will be executed in the backend. The
+#GESTimeline::commited signal will be emitted once this has completed.
+
+Note that ges_timeline_commit() will call this method on all of its
+tracks, so you are unlikely to need to use this directly.</doc>
+ <source-position filename="ges/ges-track.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1381">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1365">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_caps" c:identifier="ges_track_get_caps">
- <doc xml:space="preserve">Get the #GstCaps this track is configured to output.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The #GstCaps this track is configured to output.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1312">Get the #GESTrack:caps of the track.</doc>
+ <source-position filename="ges/ges-track.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1318">The caps of @track.</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1314">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_elements" c:identifier="ges_track_get_elements">
- <doc xml:space="preserve">Gets the #GESTrackElement contained in @track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1244">Gets the track elements contained in the track. The returned list is
+sorted by the element's #GESTimelineElement:priority and
+#GESTimelineElement:start.</doc>
+ <source-position filename="ges/ges-track.h" line="80"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">the list of
-#GESTrackElement present in the Track sorted by priority and start.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1252">A list of
+all the #GESTrackElement-s in @track.</doc>
<type name="GLib.List" c:type="GList*">
<type name="TrackElement"/>
</type>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1246">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_mixing" c:identifier="ges_track_get_mixing">
- <doc xml:space="preserve">Gets if the underlying #NleComposition contains an expandable mixer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">#True if there is a mixer, #False otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1347">Gets the #GESTrack:mixing of the track.</doc>
+ <source-position filename="ges/ges-track.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1353">Whether @track is mixing.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1349">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_restriction_caps"
+ c:identifier="ges_track_get_restriction_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1422">Gets the #GESTrack:restriction-caps of the track.</doc>
+ <source-position filename="ges/ges-track.h" line="117"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1428">The restriction-caps of @track.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1424">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_timeline" c:identifier="ges_track_get_timeline">
- <doc xml:space="preserve">Get the #GESTimeline this track belongs to. Can be %NULL.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1329">Get the timeline this track belongs to.</doc>
+ <source-position filename="ges/ges-track.h" line="82"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The #GESTimeline this track belongs to. Can be %NULL.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1335">The timeline that @track belongs to, or %NULL if
+it does not belong to a timeline.</doc>
<type name="Timeline" c:type="const GESTimeline*"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1331">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
</parameters>
</method>
<method name="remove_element" c:identifier="ges_track_remove_element">
- <doc xml:space="preserve">Removes the object from the track and unparents it.
-Unparenting it means the reference owned by @track on the @object will be
-removed. If you wish to use the @object after this function, make sure you
-call gst_object_ref() before removing it from the @track.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">#TRUE if the object was removed, else #FALSE if the track
-could not remove the object (like if it didn't belong to the track).</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1297">See ges_track_remove_element_full(), which also returns an error.</doc>
+ <source-position filename="ges/ges-track.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1304">%TRUE if @object was successfully removed from @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1299">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1300">The element to remove</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_element_full"
+ c:identifier="ges_track_remove_element_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1270">Removes the given track element from the track, which revokes
+ownership of the element.</doc>
+ <source-position filename="ges/ges-track.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1279">%TRUE if @object was successfully removed from @track.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1272">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement to remove</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1273">The element to remove</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</parameter>
</parameters>
@@ -10109,93 +17552,145 @@ could not remove the object (like if it didn't belong to the track).</doc>
<method name="set_create_element_for_gap_func"
c:identifier="ges_track_set_create_element_for_gap_func"
introspectable="0">
- <doc xml:space="preserve">Sets the function that should be used to create the GstElement used to fill gaps.
-To avoid to provide such a function we advice you to use the
-#ges_audio_track_new and #ges_video_track_new constructor when possible.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1396">Sets the function that will be used to create a #GstElement that can be
+used as a source to fill the gaps of the track. A gap is a timeline
+region where the track has no #GESTrackElement sources. Therefore, you
+are likely to want the #GstElement returned by the function to always
+produce 'empty' content, defined relative to the stream type, such as
+transparent frames for a video, or mute samples for audio.
+
+#GESAudioTrack and #GESVideoTrack objects are created with such a
+function already set appropriately.</doc>
+ <source-position filename="ges/ges-track.h" line="103"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1398">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="func" transfer-ownership="none" scope="notified">
- <doc xml:space="preserve">The #GESCreateElementForGapFunc that will be used
-to create #GstElement to fill gaps</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1399">The function to be used to create a source
+#GstElement that can fill gaps in @track</doc>
<type name="CreateElementForGapFunc"
c:type="GESCreateElementForGapFunc"/>
</parameter>
</parameters>
</method>
<method name="set_mixing" c:identifier="ges_track_set_mixing">
- <doc xml:space="preserve">Sets if the #GESTrack should be mixing.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1065">Sets the #GESTrack:mixing for the track.</doc>
+ <source-position filename="ges/ges-track.h" line="106"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1067">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="mixing" transfer-ownership="none">
- <doc xml:space="preserve">TRUE if the track should be mixing, FALSE otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1068">Whether @track should be mixing</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_restriction_caps"
c:identifier="ges_track_set_restriction_caps">
- <doc xml:space="preserve">Sets the given @caps as the caps the track has to output.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="981">Sets the #GESTrack:restriction-caps for the track.</doc>
+ <source-position filename="ges/ges-track.h" line="111"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="983">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
- <doc xml:space="preserve">the #GstCaps to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="984">The new restriction-caps for @track</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="set_timeline" c:identifier="ges_track_set_timeline">
- <doc xml:space="preserve">Sets @timeline as the timeline controlling @track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="916">Informs the track that it belongs to the given timeline. Calling this
+does not actually add the track to the timeline. For that, you should
+use ges_timeline_add_track(), which will also take care of informing
+the track that it belongs to the timeline. As such, there is no need
+for you to call this method.</doc>
+ <source-position filename="ges/ges-track.h" line="86"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="918">A #GESTrack
+@timeline (nullable): A #GESTimeline</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="timeline" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTimeline</doc>
<type name="Timeline" c:type="GESTimeline*"/>
</parameter>
</parameters>
</method>
<method name="update_restriction_caps"
c:identifier="ges_track_update_restriction_caps">
- <doc xml:space="preserve">Updates the restriction caps by modifying all the fields present in @caps
-in the original restriction caps. If for example the current restriction caps
-are video/x-raw, format=I420, width=360 and @caps is video/x-raw, format=RGB,
-the restriction caps will be updated to video/x-raw, format=RGB, width=360.
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1010">Updates the #GESTrack:restriction-caps of the track using the fields
+found in the given caps. Each of the #GstStructure-s in @caps is
+compared against the existing structure with the same index in the
+current #GESTrack:restriction-caps. If there is no corresponding
+existing structure at that index, then the new structure is simply
+copied to that index. Otherwise, any fields in the new structure are
+copied into the existing structure. This will replace existing values,
+and may introduce new ones, but any fields 'missing' in the new
+structure are left unchanged in the existing structure.
-Modification happens for each structure in the new caps, and
-one can add new fields or structures through that function.</doc>
+For example, if the existing #GESTrack:restriction-caps are
+"video/x-raw, width=480, height=360", and the updating caps is
+"video/x-raw, format=I420, width=500; video/x-bayer, width=400", then
+the new #GESTrack:restriction-caps after calling this will be
+"video/x-raw, width=500, height=360, format=I420; video/x-bayer,
+width=400".</doc>
+ <source-position filename="ges/ges-track.h" line="114"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="track" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrack</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1012">A #GESTrack</doc>
<type name="Track" c:type="GESTrack*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
- <doc xml:space="preserve">the #GstCaps to update with</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1013">The caps to update the restriction-caps with</doc>
<type name="Gst.Caps" c:type="const GstCaps*"/>
</parameter>
</parameters>
@@ -10204,27 +17699,67 @@ one can add new fields or structures through that function.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">Caps used to filter/choose the output stream. This is generally set to
-a generic set of caps like 'video/x-raw' for raw video.
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="671">The capabilities used to choose the output of the #GESTrack's
+elements. Internally, this is used to select output streams when
+several may be available, by determining whether its #GstPad is
+compatible (see #nlecomposition:caps for #nlecomposition). As such,
+this is used as a weaker indication of the desired output type of the
+track, **before** the #GESTrack:restriction-caps is applied.
+Therefore, this should be set to a *generic* superset of the
+#GESTrack:restriction-caps, such as "video/x-raw(ANY)". In addition,
+it should match with the track's #GESTrack:track-type.
+
+Note that when you set this property, the #GstCapsFeatures of all its
+#GstStructure-s will be automatically set to #GST_CAPS_FEATURES_ANY.
+
+Once a track has been added to a #GESTimeline, you should not change
+this.
Default value: #GST_CAPS_ANY.</doc>
<type name="Gst.Caps"/>
</property>
<property name="duration" transfer-ownership="none">
- <doc xml:space="preserve">Current duration of the track
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="718">Current duration of the track
Default value: O</doc>
<type name="guint64" c:type="guint64"/>
</property>
+ <property name="id"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="765">The #nlecomposition:id of the underlying #nlecomposition.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
<property name="mixing"
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Whether layer mixing is activated or not on the track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="750">Whether the track should support the mixing of #GESLayer data, such
+as composing the video data of each layer (when part of the video
+data is transparent, the next layer will become visible) or adding
+together the audio data. As such, for audio and video tracks, you'll
+likely want to keep this set to %TRUE.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="restriction-caps" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Caps used to filter/choose the output stream.
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="698">The capabilities that specifies the final output format of the
+#GESTrack. For example, for a video track, it would specify the
+height, width, framerate and other properties of the stream.
+
+You may change this property after the track has been added to a
+#GESTimeline, but it must remain compatible with the track's
+#GESTrack:caps.
Default value: #GST_CAPS_ANY.</doc>
<type name="Gst.Caps"/>
@@ -10233,54 +17768,72 @@ Default value: #GST_CAPS_ANY.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">Type of stream the track outputs. This is used when creating the #GESTrack
-to specify in generic terms what type of content will be outputted.
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="733">The track type of the track. This controls the type of
+#GESTrackElement-s that can be added to the track. This should
+match with the track's #GESTrack:caps.
-It also serves as a 'fast' way to check what type of data will be outputted
-from the #GESTrack without having to actually check the #GESTrack's caps
-property.</doc>
+Once a track has been added to a #GESTimeline, you should not change
+this.</doc>
<type name="TrackType"/>
</property>
<field name="parent">
<type name="Gst.Bin" c:type="GstBin"/>
</field>
<field name="type">
- <doc xml:space="preserve">a #GESTrackType indicting the basic type of the track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="47">The #GESTrack:track-type of the track</doc>
<type name="TrackType" c:type="GESTrackType"/>
</field>
<field name="priv" readable="0" private="1">
<type name="TrackPrivate" c:type="GESTrackPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="commited" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="805">This signal will be emitted once the changes initiated by
+ges_track_commit() have been executed in the backend. In particular,
+this will be emitted whenever the underlying #nlecomposition has been
+committed (see #nlecomposition::commited).</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="track-element-added" when="first">
- <doc xml:space="preserve">Will be emitted after a track element was added to the track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="781">Will be emitted after a track element is added to the track.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="effect" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement that was added.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="784">The element that was added</doc>
<type name="TrackElement"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="track-element-removed" when="first">
- <doc xml:space="preserve">Will be emitted after a track element was removed from the track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="793">Will be emitted after a track element is removed from the track.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="effect" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement that was removed.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="796">The element that was removed</doc>
<type name="TrackElement"/>
</parameter>
</parameters>
@@ -10289,11 +17842,13 @@ property.</doc>
<record name="TrackClass"
c:type="GESTrackClass"
glib:is-gtype-struct-for="Track">
+ <source-position filename="ges/ges-track.h" line="75"/>
<field name="parent_class" readable="0" private="1">
<type name="Gst.BinClass" c:type="GstBinClass"/>
</field>
<field name="get_mixing_element" introspectable="0">
<callback name="get_mixing_element" introspectable="0">
+ <source-position filename="ges/ges-track.h" line="71"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -10305,7 +17860,7 @@ property.</doc>
</callback>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -10318,15 +17873,40 @@ property.</doc>
glib:type-name="GESTrackElement"
glib:get-type="ges_track_element_get_type"
glib:type-struct="TrackElementClass">
- <doc xml:space="preserve">#GESTrackElement is the Base Class for any object that can be contained in a
-#GESTrack.
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="21">A #GESTrackElement is a #GESTimelineElement that specifically belongs
+to a single #GESTrack of its #GESTimelineElement:timeline. Its
+#GESTimelineElement:start and #GESTimelineElement:duration specify its
+temporal extent in the track. Specifically, a track element wraps some
+nleobject, such as an #nlesource or #nleoperation, which can be
+retrieved with ges_track_element_get_nleobject(), and its
+#GESTimelineElement:start, #GESTimelineElement:duration,
+#GESTimelineElement:in-point, #GESTimelineElement:priority and
+#GESTrackElement:active properties expose the corresponding nleobject
+properties. When a track element is added to a track, its nleobject is
+added to the corresponding #nlecomposition that the track wraps.
-It contains the basic information as to the location of the object within
-its container, like the start position, the inpoint, the duration and the
-priority.</doc>
+Most users will not have to work directly with track elements since a
+#GESClip will automatically create track elements for its timeline's
+tracks and take responsibility for updating them. The only track
+elements that are not automatically created by clips, but a user is
+likely to want to create, are #GESEffect-s.
+
+## Control Bindings for Children Properties
+
+You can set up control bindings for a track element child property
+using ges_track_element_set_control_source(). A
+#GstTimedValueControlSource should specify the timed values using the
+internal source coordinates (see #GESTimelineElement). By default,
+these will be updated to lie between the #GESTimelineElement:in-point
+and out-point of the element. This can be switched off by setting
+#GESTrackElement:auto-clamp-control-sources to %FALSE.</doc>
+ <source-position filename="ges/ges-track-element.h" line="119"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<virtual-method name="active_changed">
+ <source-position filename="ges/ges-track-element.h" line="97"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -10340,6 +17920,7 @@ priority.</doc>
</parameters>
</virtual-method>
<virtual-method name="changed">
+ <source-position filename="ges/ges-track-element.h" line="101"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -10350,6 +17931,7 @@ priority.</doc>
</parameters>
</virtual-method>
<virtual-method name="create_element" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="95"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -10360,6 +17942,7 @@ priority.</doc>
</parameters>
</virtual-method>
<virtual-method name="create_gnl_object" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="94"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -10370,6 +17953,7 @@ priority.</doc>
</parameters>
</virtual-method>
<virtual-method name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="105"/>
<return-value>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</return-value>
@@ -10385,23 +17969,32 @@ priority.</doc>
<virtual-method name="lookup_child"
invoker="lookup_child"
deprecated="1">
- <doc xml:space="preserve">Looks up which @element and @pspec would be effected by the given @name. If various
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1358">Looks up which @element and @pspec would be effected by the given @name. If various
contained elements have this property name you will get the first one, unless you
specify the class name in @name.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_lookup_child</doc-deprecated>
+ <source-position filename="ges/ges-track-element.h" line="107"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1375">TRUE if @element and @pspec could be found. FALSE otherwise. In that
case the values for @pspec and @element are not modified. Unref @element after
usage.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">object to lookup the property in</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1360">Object to lookup the property in</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the property to look up. You can specify the name of the
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1361">Name of the property to look up. You can specify the name of the
class as such: "ClassName::property-name", to guarantee that you get the
proper GParamSpec in case various GstElement-s contain the same property
name. If you don't do so, you will get the first element found, having
@@ -10414,7 +18007,9 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to a #GstElement that
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1366">pointer to a #GstElement that
takes the real object to set property on</doc>
<type name="Gst.Element" c:type="GstElement**"/>
</parameter>
@@ -10424,7 +18019,9 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to take the #GParamSpec
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1368">pointer to take the specification
describing the property</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
@@ -10432,30 +18029,45 @@ usage.</doc>
</virtual-method>
<method name="add_children_props"
c:identifier="ges_track_element_add_children_props">
- <doc xml:space="preserve">Looks for the properties defines with the various parametters and add
-them to the hashtable of children properties.
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1115">Adds all the properties of a #GstElement that match the criteria as
+children properties of the track element. If the name of @element's
+#GstElementFactory is not in @blacklist, and the factory's
+#GST_ELEMENT_METADATA_KLASS contains at least one member of
+@wanted_categories (e.g. #GST_ELEMENT_FACTORY_KLASS_DECODER), then
+all the properties of @element that are also in @whitelist are added as
+child properties of @self using
+ges_timeline_element_add_child_property().
-To be used by subclasses only</doc>
+This is intended to be used by subclasses when constructing.</doc>
+ <source-position filename="ges/ges-track-element.h" line="178"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackElement to set chidlren props on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1117">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="element" transfer-ownership="none">
- <doc xml:space="preserve">The GstElement to retrieve properties from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1118">The child object to retrieve properties from</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</parameter>
<parameter name="wanted_categories"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">
-An array of categories of GstElement to
-take into account (as defined in the factory meta "klass" field)</doc>
- <array c:type="gchar**">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1119">
+An array of element factory "klass" categories to whitelist, or %NULL
+to accept all categories</doc>
+ <array c:type="const gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
@@ -10463,9 +18075,12 @@ take into account (as defined in the factory meta "klass" field)</doc>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">A
-blacklist of elements factory names to not take into account</doc>
- <array c:type="gchar**">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1122">A
+blacklist of element factory names, or %NULL to not blacklist any
+element factory</doc>
+ <array c:type="const gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
@@ -10473,55 +18088,127 @@ blacklist of elements factory names to not take into account</doc>
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">A list
-of propery names to add as children properties</doc>
- <array c:type="gchar**">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1125">A
+whitelist of element property names, or %NULL to whitelist all
+writeable properties</doc>
+ <array c:type="const gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
</parameters>
</method>
- <method name="edit" c:identifier="ges_track_element_edit">
- <doc xml:space="preserve">Edit @object in the different exisiting #GESEditMode modes. In the case of
-slide, and roll, you need to specify a #GESEdge</doc>
+ <method name="clamp_control_source"
+ c:identifier="ges_track_element_clamp_control_source"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1981">Clamp the #GstTimedValueControlSource for the specified child property
+to lie between the #GESTimelineElement:in-point and out-point of the
+element. The out-point is the #GES_TIMELINE_ELEMENT_END of the element
+translated from the timeline coordinates to the internal source
+coordinates of the element.
+
+If the property does not have a #GstTimedValueControlSource set by
+ges_track_element_set_control_source(), nothing happens. Otherwise, if
+a timed value for the control source lies before the in-point of the
+element, or after its out-point, then it will be removed. At the
+in-point and out-point times, a new interpolated value will be placed.</doc>
+ <source-position filename="ges/ges-track-element.h" line="165"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1983">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1984">The name of the child property to clamp the control
+source of</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit"
+ c:identifier="ges_track_element_edit"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1769">Edits the element within its track.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="59"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the object as been edited properly, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1782">%TRUE if the edit of @object completed, %FALSE on failure.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement to edit</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1771">The #GESTrackElement to edit</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
- <parameter name="layers" transfer-ownership="none">
- <doc xml:space="preserve">The layers you want the edit to
- happen in, %NULL means that the edition is done in all the
- #GESLayers contained in the current timeline.
- FIXME: This is not implemented yet.</doc>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1772">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
<type name="GLib.List" c:type="GList*">
<type name="Layer"/>
</type>
</parameter>
<parameter name="mode" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEditMode in which the edition will happen.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1775">The edit mode</doc>
<type name="EditMode" c:type="GESEditMode"/>
</parameter>
<parameter name="edge" transfer-ownership="none">
- <doc xml:space="preserve">The #GESEdge the edit should happen on.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1776">The edge of @object where the edit should occur</doc>
<type name="Edge" c:type="GESEdge"/>
</parameter>
<parameter name="position" transfer-ownership="none">
- <doc xml:space="preserve">The position at which to edit @object (in nanosecond)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1777">The edit position: a new location for the edge of @object
+(in nanoseconds)</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</method>
<method name="get_all_control_bindings"
c:identifier="ges_track_element_get_all_control_bindings">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">A
-#GHashTable containing all property_name: GstControlBinding</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1231">Get all the control bindings that have been created for the children
+properties of the track element using
+ges_track_element_set_control_source(). The keys used in the returned
+hash table are the child property names that were passed to
+ges_track_element_set_control_source(), and their values are the
+corresponding created #GstControlBinding.</doc>
+ <source-position filename="ges/ges-track-element.h" line="184"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1242">A
+hash table containing all child-property-name/control-binding pairs
+for @trackelement.</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="Gst.ControlBinding"/>
@@ -10529,7 +18216,32 @@ occured</doc>
</return-value>
<parameters>
<instance-parameter name="trackelement" transfer-ownership="none">
- <doc xml:space="preserve">The #TrackElement from which to get all set bindings</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1233">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_clamp_control_sources"
+ c:identifier="ges_track_element_get_auto_clamp_control_sources"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2058">Gets #GESTrackElement:auto-clamp-control-sources.</doc>
+ <source-position filename="ges/ges-track-element.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2064">Whether the control sources for the child properties of
+@object are automatically clamped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2060">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
@@ -10538,22 +18250,32 @@ occured</doc>
c:identifier="ges_track_element_get_child_properties"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Gets properties of a child of @object.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1505">Gets properties of a child of @object.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_properties</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="25"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1507">The origin #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1508">The name of the first property to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">return location for the first property, followed optionally by more
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1509">return location for the first property, followed optionally by more
name/return location pairs, followed by NULL</doc>
<varargs/>
</parameter>
@@ -10563,7 +18285,9 @@ name/return location pairs, followed by NULL</doc>
c:identifier="ges_track_element_get_child_property"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">In general, a copy is made of the property contents and
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1572">In general, a copy is made of the property contents and
the caller is responsible for freeing the memory by calling
g_value_unset().
@@ -10573,24 +18297,34 @@ Note that #ges_track_element_get_child_property is really
intended for language bindings, #ges_track_element_get_child_properties
is much more convenient for C programming.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="53"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the property was found, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1589">%TRUE if the property was found, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1574">The origin #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1575">The name of the property</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">return location for the property value, it will
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1576">return location for the property value, it will
be initialized if it is initialized with 0</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
@@ -10600,25 +18334,34 @@ be initialized if it is initialized with 0</doc>
c:identifier="ges_track_element_get_child_property_by_pspec"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Gets a property of a child of @object.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1530">Gets a property of a child of @object.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_by_pspec</doc-deprecated>
+ <source-position filename="ges/ges-track-element.h" line="154"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1532">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">The #GParamSpec that specifies the property you want to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1533">The #GParamSpec that specifies the property you want to get</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:space="preserve">return location for the value</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1534">return location for the value</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
@@ -10627,25 +18370,35 @@ be initialized if it is initialized with 0</doc>
c:identifier="ges_track_element_get_child_property_valist"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Gets a property of a child of @object. If there are various child elements
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1461">Gets a property of a child of @object. If there are various child elements
that have the same property name, you can distinguish them using the following
syntax: 'ClasseName::property_name' as property name. If you don't, the
corresponding property of the first element found will be set.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_valist</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="20"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackElement parent object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1463">The #GESTrackElement parent object</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to get</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1464">The name of the first property to get</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1465">Value for the first property, followed optionally by more
name/return location pairs, followed by NULL</doc>
<type name="va_list" c:type="va_list"/>
</parameter>
@@ -10653,34 +18406,56 @@ name/return location pairs, followed by NULL</doc>
</method>
<method name="get_control_binding"
c:identifier="ges_track_element_get_control_binding">
- <doc xml:space="preserve">Looks up the various controlled properties for that #GESTrackElement,
-and returns the #GstControlBinding which controls @property_name.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1948">Gets the control binding that was created for the specified child
+property of the track element using
+ges_track_element_set_control_source(). The given @property_name must
+be the same name of the child property that was passed to
+ges_track_element_set_control_source().</doc>
+ <source-position filename="ges/ges-track-element.h" line="175"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #GstControlBinding associated with
-@property_name, or %NULL if that property is not controlled.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1960">The control binding that was
+created for the specified child property of @object, or %NULL if
+@property_name does not correspond to any control binding.</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement in which to lookup the bindings.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1950">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The property_name to which the binding is associated.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1951">The name of the child property to return the control
+binding of</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="get_element" c:identifier="ges_track_element_get_element">
- <doc xml:space="preserve">Get the #GstElement this track element is controlling within GNonLin.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #GstElement this track element is controlling
-within GNonLin.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1307">Get the #GstElement that the track element's underlying nleobject
+controls.</doc>
+ <source-position filename="ges/ges-track-element.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1314">The #GstElement being controlled by the
+nleobject that @object wraps.</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1309">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
@@ -10688,15 +18463,23 @@ within GNonLin.</doc>
<method name="get_gnlobject"
c:identifier="ges_track_element_get_gnlobject"
deprecated="1">
- <doc xml:space="preserve">Get the NleObject object this object is controlling.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1271">Get the GNonLin object this object is controlling.</doc>
<doc-deprecated xml:space="preserve">use #ges_track_element_get_nleobject instead.</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="4"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">the NleObject object this object is controlling.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1277">The GNonLin object this object is controlling.</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1273">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
@@ -10704,53 +18487,139 @@ within GNonLin.</doc>
<method name="get_nleobject"
c:identifier="ges_track_element_get_nleobject"
version="1.6">
- <doc xml:space="preserve">Get the GNonLin object this object is controlling.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the GNonLin object this object is controlling.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1289">Get the nleobject that this element wraps.</doc>
+ <source-position filename="ges/ges-track-element.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1295">The nleobject that @object wraps.</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1291">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_track" c:identifier="ges_track_element_get_track">
- <doc xml:space="preserve">Get the #GESTrack to which this object belongs.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1254">Get the #GESTrackElement:track for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="122"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The #GESTrack to which this object
-belongs. Can be %NULL if it is not in any track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1260">The track that @object belongs to,
+or %NULL if it does not belong to a track.</doc>
<type name="Track" c:type="GESTrack*"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1256">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_track_type"
c:identifier="ges_track_element_get_track_type">
- <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="966">Gets the #GESTrackElement:track-type for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="972">The track-type of @object.</doc>
<type name="TrackType" c:type="GESTrackType"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="968">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
</method>
- <method name="is_active" c:identifier="ges_track_element_is_active">
- <doc xml:space="preserve">Lets you know if @object will be used for playback and rendering,
-or not.</doc>
+ <method name="has_internal_source"
+ c:identifier="ges_track_element_has_internal_source">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1342">Gets #GESTrackElement:has-internal-source for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="151"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @object is active, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1348">%TRUE if @object can have its 'internal time' properties set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1344">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="ges_track_element_is_active">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1325">Gets #GESTrackElement:active for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1331">%TRUE if @object is active in its track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1327">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_core"
+ c:identifier="ges_track_element_is_core"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2086">Get whether the given track element is a core track element. That is,
+it was created by the @create_track_elements #GESClipClass method for
+some #GESClip.
+
+Note that such a track element can only be added to a clip that shares
+the same #GESAsset as the clip that created it. For example, you are
+allowed to move core children between clips that resulted from
+ges_container_ungroup(), but you could not move the core child from a
+#GESUriClip to a #GESTitleClip or another #GESUriClip with a different
+#GESUriClip:uri.
+
+Moreover, if a core track element is added to a clip, it will always be
+added as a core child. Therefore, if this returns %TRUE, then @element
+will be a core child of its parent clip.</doc>
+ <source-position filename="ges/ges-track-element.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2105">%TRUE if @element is a core track element.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2088">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
</parameters>
@@ -10758,26 +18627,36 @@ or not.</doc>
<method name="list_children_properties"
c:identifier="ges_track_element_list_children_properties"
deprecated="1">
- <doc xml:space="preserve">Gets an array of #GParamSpec* for all configurable properties of the
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1483">Gets an array of #GParamSpec* for all configurable properties of the
children of @object.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_list_children_properties</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="9"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">an array of #GParamSpec* which should be freed after use or
-%NULL if something went wrong</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1491">An array of #GParamSpec* which should be freed after use or
+%NULL if something went wrong.</doc>
<array length="0" zero-terminated="0" c:type="GParamSpec**">
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</array>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackElement to get the list of children properties from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1485">The #GESTrackElement to get the list of children properties from</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="n_properties"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">return location for the length of the returned array</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1486">return location for the length of the returned array</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
@@ -10785,23 +18664,33 @@ children of @object.</doc>
<method name="lookup_child"
c:identifier="ges_track_element_lookup_child"
deprecated="1">
- <doc xml:space="preserve">Looks up which @element and @pspec would be effected by the given @name. If various
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1358">Looks up which @element and @pspec would be effected by the given @name. If various
contained elements have this property name you will get the first one, unless you
specify the class name in @name.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_lookup_child</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="13"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1375">TRUE if @element and @pspec could be found. FALSE otherwise. In that
case the values for @pspec and @element are not modified. Unref @element after
usage.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">object to lookup the property in</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1360">Object to lookup the property in</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="prop_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the property to look up. You can specify the name of the
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1361">Name of the property to look up. You can specify the name of the
class as such: "ClassName::property-name", to guarantee that you get the
proper GParamSpec in case various GstElement-s contain the same property
name. If you don't do so, you will get the first element found, having
@@ -10814,7 +18703,9 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to a #GstElement that
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1366">pointer to a #GstElement that
takes the real object to set property on</doc>
<type name="Gst.Element" c:type="GstElement**"/>
</parameter>
@@ -10824,7 +18715,9 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to take the #GParamSpec
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1368">pointer to take the specification
describing the property</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
@@ -10832,37 +18725,86 @@ usage.</doc>
</method>
<method name="remove_control_binding"
c:identifier="ges_track_element_remove_control_binding">
- <doc xml:space="preserve">Removes a #GstControlBinding from @object.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the binding could be removed, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1796">Removes the #GstControlBinding that was created for the specified child
+property of the track element using
+ges_track_element_set_control_source(). The given @property_name must
+be the same name of the child property that was passed to
+ges_track_element_set_control_source().</doc>
+ <source-position filename="ges/ges-track-element.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1808">%TRUE if the control binding was removed from the specified
+child property of @object, or %FALSE if an error occurred.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement on which to set a control binding</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1798">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the property to control.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1799">The name of the child property to remove the control
+binding from</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_active" c:identifier="ges_track_element_set_active">
- <doc xml:space="preserve">Sets the usage of the @object. If @active is %TRUE, the object will be used for
-playback and rendering, else it will be ignored.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the property was toggled, else %FALSE</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="847">Sets #GESTrackElement:active for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="854">%TRUE if the property was *toggled*.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="849">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="active" transfer-ownership="none">
- <doc xml:space="preserve">visibility</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="850">Whether @object should be active in its track</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_clamp_control_sources"
+ c:identifier="ges_track_element_set_auto_clamp_control_sources"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2029">Sets #GESTrackElement:auto-clamp-control-sources. If set to %TRUE, this
+will immediately clamp all the control sources.</doc>
+ <source-position filename="ges/ges-track-element.h" line="169"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2031">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="auto_clamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2032">Whether to automatically clamp the control sources for the
+child properties of @object</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
@@ -10871,25 +18813,35 @@ playback and rendering, else it will be ignored.</doc>
c:identifier="ges_track_element_set_child_properties"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Sets a property of a child of @object. If there are various child elements
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1433">Sets a property of a child of @object. If there are various child elements
that have the same property name, you can distinguish them using the following
syntax: 'ClasseName::property_name' as property name. If you don't, the
corresponding property of the first element found will be set.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_properties</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="43"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackElement parent object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1435">The #GESTrackElement parent object</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1436">The name of the first property to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1437">value for the first property, followed optionally by more
name/return location pairs, followed by NULL</doc>
<varargs/>
</parameter>
@@ -10899,27 +18851,39 @@ name/return location pairs, followed by NULL</doc>
c:identifier="ges_track_element_set_child_property"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Sets a property of a GstElement contained in @object.
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1548">Sets a property of a GstElement contained in @object.
Note that #ges_track_element_set_child_property is really
intended for language bindings, #ges_track_element_set_child_properties
is much more convenient for C programming.</doc>
<doc-deprecated xml:space="preserve">use #ges_timeline_element_set_child_property instead</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="48"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the property was set, %FALSE otherwize</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1560">%TRUE if the property was set, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The origin #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1550">The origin #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the property</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1551">The name of the property</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1552">The value</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
@@ -10928,22 +18892,32 @@ is much more convenient for C programming.</doc>
c:identifier="ges_track_element_set_child_property_by_pspec"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Sets a property of a child of @object.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1389">Sets a property of a child of @object.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_by_spec</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="37"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackElement</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1391">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="pspec" transfer-ownership="none">
- <doc xml:space="preserve">The #GParamSpec that specifies the property you want to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1392">The #GParamSpec that specifies the property you want to set</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the value</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1393">The value</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
@@ -10952,25 +18926,35 @@ is much more convenient for C programming.</doc>
c:identifier="ges_track_element_set_child_property_valist"
introspectable="0"
deprecated="1">
- <doc xml:space="preserve">Sets a property of a child of @object. If there are various child elements
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1411">Sets a property of a child of @object. If there are various child elements
that have the same property name, you can distinguish them using the following
syntax: 'ClasseName::property_name' as property name. If you don't, the
corresponding property of the first element found will be set.</doc>
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_valist</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="31"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">The #GESTrackElement parent object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1413">The #GESTrackElement parent object</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="first_property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the first property to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1414">The name of the first property to set</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="var_args" transfer-ownership="none">
- <doc xml:space="preserve">value for the first property, followed optionally by more
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1415">Value for the first property, followed optionally by more
name/return location pairs, followed by NULL</doc>
<type name="va_list" c:type="va_list"/>
</parameter>
@@ -10978,59 +18962,191 @@ name/return location pairs, followed by NULL</doc>
</method>
<method name="set_control_source"
c:identifier="ges_track_element_set_control_source">
- <doc xml:space="preserve">Creates a #GstControlBinding and adds it to the #GstElement concerned by the
-property. Use the same syntax as #ges_track_element_lookup_child for
-the property name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the binding could be created and added, %FALSE if an error
-occured</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1847">Creates a #GstControlBinding for the specified child property of the
+track element using the given control source. The given @property_name
+should refer to an existing child property of the track element, as
+used in ges_timeline_element_lookup_child().
+
+If @binding_type is "direct", then the control binding is created with
+gst_direct_control_binding_new() using the given control source. If
+@binding_type is "direct-absolute", it is created with
+gst_direct_control_binding_new_absolute() instead.</doc>
+ <source-position filename="ges/ges-track-element.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1865">%TRUE if the specified child property could be bound to
+@source, or %FALSE if an error occurred.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">the #GESTrackElement on which to set a control binding</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1849">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">the #GstControlSource to set on the binding.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1850">The control source to bind the child property to</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
- <doc xml:space="preserve">The name of the property to control.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1851">The name of the child property to control</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="binding_type" transfer-ownership="none">
- <doc xml:space="preserve">The type of binding to create. Only "direct" is available for now.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1852">The type of binding to create ("direct" or
+"direct-absolute")</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
+ <method name="set_has_internal_source"
+ c:identifier="ges_track_element_set_has_internal_source">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="893">Sets #GESTrackElement:has-internal-source for the element. If this is
+set to %FALSE, this method will also set the
+#GESTimelineElement:in-point of the element to 0 and its
+#GESTimelineElement:max-duration to #GST_CLOCK_TIME_NONE.</doc>
+ <source-position filename="ges/ges-track-element.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="904">%FALSE if @has_internal_source is forbidden for @object and
+%TRUE in any other case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="895">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="has_internal_source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="896">Whether the @object should be allowed to have its
+'internal time' properties set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="set_track_type"
c:identifier="ges_track_element_set_track_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="948">Sets the #GESTrackElement:track-type for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="127"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="950">A #GESTrackElement</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="951">The new track-type for @object</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
</method>
<property name="active" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Whether the object should be taken into account in the #GESTrack output.
-If #FALSE, then its contents will not be used in the resulting track.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="348">Whether the effect of the element should be applied in its
+#GESTrackElement:track. If set to %FALSE, it will not be used in
+the output of the track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="auto-clamp-control-sources"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="432">Whether the control sources on the element (see
+ges_track_element_set_control_source()) will be automatically
+updated whenever the #GESTimelineElement:in-point or out-point of the
+element change in value.
+
+See ges_track_element_clamp_control_source() for how this is done
+per control source.
+
+Default value: %TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="has-internal-source"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="387">This property is used to determine whether the 'internal time'
+properties of the element have any meaning. In particular, unless
+this is set to %TRUE, the #GESTimelineElement:in-point and
+#GESTimelineElement:max-duration can not be set to any value other
+than the default 0 and #GST_CLOCK_TIME_NONE, respectively.
+
+If an element has some *internal* *timed* source #GstElement that it
+reads stream data from as part of its function in a #GESTrack, then
+you'll likely want to set this to %TRUE to allow the
+#GESTimelineElement:in-point and #GESTimelineElement:max-duration to
+be set.
+
+The default value is determined by the #GESTrackElementClass
+@default_has_internal_source class property. For most
+#GESSourceClass-es, this will be %TRUE, with the exception of those
+that have a potentially *static* source, such as #GESImageSourceClass
+and #GESTitleSourceClass. Otherwise, this will usually be %FALSE.
+
+For most #GESOperation-s you will likely want to leave this set to
+%FALSE. The exception may be for an operation that reads some stream
+data from some private internal source as part of manipulating the
+input data from the usual linked upstream #GESTrackElement.
+
+For example, you may want to set this to %TRUE for a
+#GES_TRACK_TYPE_VIDEO operation that wraps a #textoverlay that reads
+from a subtitle file and places its text on top of the received video
+data. The #GESTimelineElement:in-point of the element would be used
+to shift the initial seek time on the #textoverlay away from 0, and
+the #GESTimelineElement:max-duration could be set to reflect the
+time at which the subtitle file runs out of data.
+
+Note that GES can not support track elements that have both internal
+content and manipulate the timing of their data streams (time
+effects).</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="376">The track that this element belongs to, or %NULL if it does not
+belong to a track.</doc>
<type name="Track"/>
</property>
<property name="track-type"
writable="1"
construct="1"
transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="361">The track type of the element, which determines the type of track the
+element can be added to (see #GESTrack:track-type). This should
+correspond to the type of data that the element can produce or
+process.</doc>
<type name="TrackType"/>
</property>
<field name="parent">
@@ -11046,32 +19162,40 @@ If #FALSE, then its contents will not be used in the resulting track.</doc>
<type name="Asset" c:type="GESAsset*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
+ <array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="control-binding-added" when="first">
- <doc xml:space="preserve">The control-binding-added signal is emitted each time a control binding
-is added for a child property of @track_element</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="454">This is emitted when a control binding is added to a child property
+of the track element.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="control_binding" transfer-ownership="none">
- <doc xml:space="preserve">the #GstControlBinding that has been added</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="457">The control binding that has been added</doc>
<type name="Gst.ControlBinding"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="control-binding-removed" when="first">
- <doc xml:space="preserve">The control-binding-removed signal is emitted each time a control binding
-is removed for a child property of @track_element</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="467">This is emitted when a control binding is removed from a child
+property of the track element.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="control_binding" transfer-ownership="none">
- <doc xml:space="preserve">the #GstControlBinding that has been removed</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="470">The control binding that has been removed</doc>
<type name="Gst.ControlBinding"/>
</parameter>
</parameters>
@@ -11084,38 +19208,113 @@ is removed for a child property of @track_element</doc>
glib:type-name="GESTrackElementAsset"
glib:get-type="ges_track_element_asset_get_type"
glib:type-struct="TrackElementAssetClass">
+ <source-position filename="ges/ges-track-element-asset.h" line="50"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
+ <virtual-method name="get_natural_framerate"
+ invoker="get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="147">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="47"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="149">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="150">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="151">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_natural_framerate"
+ c:identifier="ges_track_element_asset_get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="147">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="149">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="150">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="151">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="get_track_type"
c:identifier="ges_track_element_asset_get_track_type">
- <doc xml:space="preserve">Get the GESAssetTrackType the #GESTrackElement extracted from @self
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="129">Get the GESAssetTrackType the #GESTrackElement extracted from @self
should get into</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="53"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GESTrackType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="136">a #GESTrackType</doc>
<type name="TrackType" c:type="const GESTrackType"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">A #GESAssetObject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="131">A #GESAsset</doc>
<type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_track_type"
c:identifier="ges_track_element_asset_set_track_type">
- <doc xml:space="preserve">Set the #GESAssetTrackType the #GESTrackElement extracted from @self
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="112">Set the #GESTrackType the #GESTrackElement extracted from @self
should get into</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="55"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">A #GESAssetObject</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="114">A #GESAsset</doc>
<type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">A #GESTrackType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="115">A #GESTrackType</doc>
<type name="TrackType" c:type="GESTrackType"/>
</parameter>
</parameters>
@@ -11134,7 +19333,7 @@ should get into</doc>
c:type="GESTrackElementAssetPrivate*"/>
</field>
<field name="__ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11142,11 +19341,40 @@ should get into</doc>
<record name="TrackElementAssetClass"
c:type="GESTrackElementAssetClass"
glib:is-gtype-struct-for="TrackElementAsset">
+ <source-position filename="ges/ges-track-element-asset.h" line="50"/>
<field name="parent_class">
<type name="AssetClass" c:type="GESAssetClass"/>
</field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="ges/ges-track-element-asset.h" line="47"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="149">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="150">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="151">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11154,21 +19382,25 @@ should get into</doc>
<record name="TrackElementAssetPrivate"
c:type="GESTrackElementAssetPrivate"
disguised="1">
+ <source-position filename="ges/ges-track-element-asset.h" line="30"/>
</record>
<record name="TrackElementClass"
c:type="GESTrackElementClass"
glib:is-gtype-struct-for="TrackElement">
- <doc xml:space="preserve">Subclasses can override the @create_gnl_object method to override what type
-of GNonLin object will be created.</doc>
+ <source-position filename="ges/ges-track-element.h" line="119"/>
<field name="parent_class" readable="0" private="1">
<type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
</field>
<field name="nleobject_factorytype">
- <doc xml:space="preserve">name of the GNonLin GStElementFactory type to use.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.h"
+ line="67">The name of the #GstElementFactory to use to
+create the underlying nleobject of a track element</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="create_gnl_object" introspectable="0">
<callback name="create_gnl_object" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="94"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -11181,6 +19413,7 @@ of GNonLin object will be created.</doc>
</field>
<field name="create_element" introspectable="0">
<callback name="create_element" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="95"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -11193,6 +19426,7 @@ of GNonLin object will be created.</doc>
</field>
<field name="active_changed">
<callback name="active_changed">
+ <source-position filename="ges/ges-track-element.h" line="97"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -11208,6 +19442,7 @@ of GNonLin object will be created.</doc>
</field>
<field name="changed">
<callback name="changed">
+ <source-position filename="ges/ges-track-element.h" line="101"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -11220,6 +19455,7 @@ of GNonLin object will be created.</doc>
</field>
<field name="list_children_properties" introspectable="0">
<callback name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="105"/>
<return-value>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</return-value>
@@ -11235,19 +19471,26 @@ of GNonLin object will be created.</doc>
</field>
<field name="lookup_child">
<callback name="lookup_child">
+ <source-position filename="ges/ges-track-element.h" line="107"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1375">TRUE if @element and @pspec could be found. FALSE otherwise. In that
case the values for @pspec and @element are not modified. Unref @element after
usage.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
- <doc xml:space="preserve">object to lookup the property in</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1360">Object to lookup the property in</doc>
<type name="TrackElement" c:type="GESTrackElement*"/>
</parameter>
<parameter name="prop_name" transfer-ownership="none">
- <doc xml:space="preserve">name of the property to look up. You can specify the name of the
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1361">Name of the property to look up. You can specify the name of the
class as such: "ClassName::property-name", to guarantee that you get the
proper GParamSpec in case various GstElement-s contain the same property
name. If you don't do so, you will get the first element found, having
@@ -11260,7 +19503,9 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to a #GstElement that
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1366">pointer to a #GstElement that
takes the real object to set property on</doc>
<type name="Gst.Element" c:type="GstElement**"/>
</parameter>
@@ -11270,30 +19515,48 @@ usage.</doc>
transfer-ownership="full"
optional="1"
allow-none="1">
- <doc xml:space="preserve">pointer to take the #GParamSpec
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1368">pointer to take the specification
describing the property</doc>
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
</parameter>
</parameters>
</callback>
</field>
- <field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="20">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="ges/ges-track-element.h" line="118"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="ges/ges-track-element.h" line="117"/>
+ <field name="default_has_internal_source" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="default_track_type" writable="1">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </field>
+ </record>
+ </union>
</record>
<record name="TrackElementPrivate"
c:type="GESTrackElementPrivate"
disguised="1">
+ <source-position filename="ges/ges-track-element.h" line="34"/>
</record>
<record name="TrackPrivate" c:type="GESTrackPrivate" disguised="1">
+ <source-position filename="ges/ges-track.h" line="31"/>
</record>
<bitfield name="TrackType"
glib:type-name="GESTrackType"
glib:get-type="ges_track_type_get_type"
c:type="GESTrackType">
- <doc xml:space="preserve">Types of content handled by a track. If the content is not one of
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="32">Types of content handled by a track. If the content is not one of
@GES_TRACK_TYPE_AUDIO, @GES_TRACK_TYPE_VIDEO or @GES_TRACK_TYPE_TEXT,
the user of the #GESTrack must set the type to @GES_TRACK_TYPE_CUSTOM.
@@ -11303,33 +19566,44 @@ by users</doc>
value="1"
c:identifier="GES_TRACK_TYPE_UNKNOWN"
glib:nick="unknown">
- <doc xml:space="preserve">A track of unknown type (i.e. invalid)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="34">A track of unknown type (i.e. invalid)</doc>
</member>
<member name="audio"
value="2"
c:identifier="GES_TRACK_TYPE_AUDIO"
glib:nick="audio">
- <doc xml:space="preserve">An audio track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="35">An audio track</doc>
</member>
<member name="video"
value="4"
c:identifier="GES_TRACK_TYPE_VIDEO"
glib:nick="video">
- <doc xml:space="preserve">A video track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="36">A video track</doc>
</member>
<member name="text"
value="8"
c:identifier="GES_TRACK_TYPE_TEXT"
glib:nick="text">
- <doc xml:space="preserve">A text (subtitle) track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="37">A text (subtitle) track</doc>
</member>
<member name="custom"
value="16"
c:identifier="GES_TRACK_TYPE_CUSTOM"
glib:nick="custom">
- <doc xml:space="preserve">A custom-content track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="38">A custom-content track</doc>
</member>
<function name="name" c:identifier="ges_track_type_name">
+ <source-position filename="ges/ges-enums.h" line="567"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
@@ -11348,7 +19622,10 @@ by users</doc>
glib:type-name="GESTransition"
glib:get-type="ges_transition_get_type"
glib:type-struct="TransitionClass">
- <doc xml:space="preserve">Base class for media transitions.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-transition.h"
+ line="34">Base class for media transitions.</doc>
+ <source-position filename="ges/ges-transition.h" line="62"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<field name="parent" readable="0" private="1">
@@ -11358,7 +19635,7 @@ by users</doc>
<type name="TransitionPrivate" c:type="GESTransitionPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11366,11 +19643,12 @@ by users</doc>
<record name="TransitionClass"
c:type="GESTransitionClass"
glib:is-gtype-struct-for="Transition">
+ <source-position filename="ges/ges-transition.h" line="62"/>
<field name="parent_class" readable="0" private="1">
<type name="OperationClass" c:type="GESOperationClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11382,7 +19660,9 @@ by users</doc>
glib:type-name="GESTransitionClip"
glib:get-type="ges_transition_clip_get_type"
glib:type-struct="TransitionClipClass">
- <doc xml:space="preserve">Creates an object that mixes together the two underlying objects, A and B.
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="21">Creates an object that mixes together the two underlying objects, A and B.
The A object is assumed to have a higher prioirity (lower number) than the
B object. At the transition in point, only A will be visible, and by the
end only B will be visible.
@@ -11394,18 +19674,26 @@ supported.
The ID of the ExtractableType is the nickname of the vtype property value. Note
that this value can be changed after creation and the GESExtractable.asset value
will be updated when needed.</doc>
+ <source-position filename="ges/ges-transition-clip.h" line="66"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_transition_clip_new">
- <doc xml:space="preserve">Creates a new #GESTransitionClip.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="382">Creates a new #GESTransitionClip.</doc>
+ <source-position filename="ges/ges-transition-clip.h" line="69"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a newly created #GESTransitionClip,
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="388">a newly created #GESTransitionClip,
or %NULL if something went wrong.</doc>
<type name="TransitionClip" c:type="GESTransitionClip*"/>
</return-value>
<parameters>
<parameter name="vtype" transfer-ownership="none">
- <doc xml:space="preserve">the type of transition to create</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="384">the type of transition to create</doc>
<type name="VideoStandardTransitionType"
c:type="GESVideoStandardTransitionType"/>
</parameter>
@@ -11413,15 +19701,22 @@ or %NULL if something went wrong.</doc>
</constructor>
<constructor name="new_for_nick"
c:identifier="ges_transition_clip_new_for_nick">
- <doc xml:space="preserve">Creates a new #GESTransitionClip for the provided @nick.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="417">Creates a new #GESTransitionClip for the provided @nick.</doc>
+ <source-position filename="ges/ges-transition-clip.h" line="71"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESTransitionClip,
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="423">The newly created #GESTransitionClip,
or %NULL if something went wrong</doc>
<type name="TransitionClip" c:type="GESTransitionClip*"/>
</return-value>
<parameters>
<parameter name="nick" transfer-ownership="none">
- <doc xml:space="preserve">a string representing the type of transition to create</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="419">a string representing the type of transition to create</doc>
<type name="utf8" c:type="char*"/>
</parameter>
</parameters>
@@ -11430,14 +19725,18 @@ or %NULL if something went wrong</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoStandardTransitionType representing the wipe to use</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="276">a #GESVideoStandardTransitionType representing the wipe to use</doc>
<type name="VideoStandardTransitionType"/>
</property>
<field name="parent" readable="0" private="1">
<type name="BaseTransitionClip" c:type="GESBaseTransitionClip"/>
</field>
<field name="vtype">
- <doc xml:space="preserve">a #GESVideoStandardTransitionType indicating the type of video transition
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.h"
+ line="34">a #GESVideoStandardTransitionType indicating the type of video transition
to apply.</doc>
<type name="VideoStandardTransitionType"
c:type="GESVideoStandardTransitionType"/>
@@ -11446,7 +19745,7 @@ to apply.</doc>
<type name="TransitionClipPrivate" c:type="GESTransitionClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11454,12 +19753,13 @@ to apply.</doc>
<record name="TransitionClipClass"
c:type="GESTransitionClipClass"
glib:is-gtype-struct-for="TransitionClip">
+ <source-position filename="ges/ges-transition-clip.h" line="66"/>
<field name="parent_class" readable="0" private="1">
<type name="BaseTransitionClipClass"
c:type="GESBaseTransitionClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11467,10 +19767,12 @@ to apply.</doc>
<record name="TransitionClipPrivate"
c:type="GESTransitionClipPrivate"
disguised="1">
+ <source-position filename="ges/ges-transition-clip.h" line="30"/>
</record>
<record name="TransitionPrivate"
c:type="GESTransitionPrivate"
disguised="1">
+ <source-position filename="ges/ges-transition.h" line="32"/>
</record>
<class name="UriClip"
c:symbol-prefix="uri_clip"
@@ -11479,91 +19781,141 @@ to apply.</doc>
glib:type-name="GESUriClip"
glib:get-type="ges_uri_clip_get_type"
glib:type-struct="UriClipClass">
- <doc xml:space="preserve">Represents all the output streams from a particular uri. It is assumed that
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="21">Represents all the output streams from a particular uri. It is assumed that
the URI points to a file of some type.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="53"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_uri_clip_new">
- <doc xml:space="preserve">Creates a new #GESUriClip for the provided @uri.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="538">Creates a new #GESUriClip for the provided @uri.
+
+&gt; **WARNING**: This function might 'discover` @uri **synchrounously**, it is
+&gt; an IO and processing intensive task that you probably don't want to run in
+&gt; an application mainloop. Have a look at #ges_asset_request_async to see how
+&gt; to make that operation happen **asynchronously**.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="70"/>
<return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created #GESUriClip, or
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="549">The newly created #GESUriClip, or
%NULL if there was an error.</doc>
<type name="UriClip" c:type="GESUriClip*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI the source should control</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="540">the URI the source should control</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<method name="get_uri" c:identifier="ges_uri_clip_get_uri">
- <doc xml:space="preserve">Get the location of the resource.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The location of the resource.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="492">Get the location of the resource.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="498">The location of the resource.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESUriClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="494">the #GESUriClip</doc>
<type name="UriClip" c:type="GESUriClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_image" c:identifier="ges_uri_clip_is_image">
- <doc xml:space="preserve">Lets you know if @self is an image or not.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @self is a still image %FALSE otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="478">Lets you know if @self is an image or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="484">%TRUE if @self is a still image %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESUriClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="480">the #GESUriClip</doc>
<type name="UriClip" c:type="GESUriClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_muted" c:identifier="ges_uri_clip_is_muted">
- <doc xml:space="preserve">Lets you know if the audio track of @self is muted or not.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the audio track of @self is muted, %FALSE otherwise.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="464">Lets you know if the audio track of @self is muted or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="470">%TRUE if the audio track of @self is muted, %FALSE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESUriClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="466">the #GESUriClip</doc>
<type name="UriClip" c:type="GESUriClip*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_is_image" c:identifier="ges_uri_clip_set_is_image">
- <doc xml:space="preserve">Sets whether the clip is a still image or not.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="451">Sets whether the clip is a still image or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="59"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESUriClip</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="453">the #GESUriClip</doc>
<type name="UriClip" c:type="GESUriClip*"/>
</instance-parameter>
<parameter name="is_image" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @self is a still image, %FALSE otherwise</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="454">%TRUE if @self is a still image, %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_mute" c:identifier="ges_uri_clip_set_mute">
- <doc xml:space="preserve">Sets whether the audio track of this clip is muted or not.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="407">Sets whether the audio track of this clip is muted or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="56"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the #GESUriClip on which to mute or unmute the audio track</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="409">the #GESUriClip on which to mute or unmute the audio track</doc>
<type name="UriClip" c:type="GESUriClip*"/>
</instance-parameter>
<parameter name="mute" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE to mute @self audio track, %FALSE to unmute it</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="410">%TRUE to mute @self audio track, %FALSE to unmute it</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
@@ -11572,7 +19924,9 @@ the URI points to a file of some type.</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Whether this uri clip represents a still image or not. This must be set
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="170">Whether this uri clip represents a still image or not. This must be set
before create_track_elements is called.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
@@ -11580,7 +19934,9 @@ before create_track_elements is called.</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <doc xml:space="preserve">Whether the sound will be played or not.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="161">Whether the sound will be played or not.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="supported-formats"
@@ -11593,7 +19949,9 @@ before create_track_elements is called.</doc>
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The location of the file/resource to use.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="152">The location of the file/resource to use.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent">
@@ -11603,7 +19961,7 @@ before create_track_elements is called.</doc>
<type name="UriClipPrivate" c:type="GESUriClipPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11611,19 +19969,41 @@ before create_track_elements is called.</doc>
<class name="UriClipAsset"
c:symbol-prefix="uri_clip_asset"
c:type="GESUriClipAsset"
- parent="ClipAsset"
+ parent="SourceClipAsset"
glib:type-name="GESUriClipAsset"
glib:get-type="ges_uri_clip_asset_get_type"
glib:type-struct="UriClipAssetClass">
- <doc xml:space="preserve">The #GESUriClipAsset is a special #GESAsset that lets you handle
-the media file to use inside the GStreamer Editing Services. It has APIs that
-let you get information about the medias. Also, the tags found in the media file are
-set as Metadatas of the Asser.</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="60"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
+ <function name="finish"
+ c:identifier="ges_uri_clip_asset_finish"
+ version="1.16"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="658">Finalize the request of an async #GESUriClipAsset</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="665">The #GESUriClipAsset previously requested</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="res" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="660">The #GAsyncResult from which to get the newly created #GESUriClipAsset</doc>
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="new" c:identifier="ges_uri_clip_asset_new">
- <doc xml:space="preserve">Creates a #GESUriClipAsset for @uri
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="614">Creates a #GESUriClipAsset for @uri
Example of request of a GESUriClipAsset:
|[
@@ -11634,7 +20014,7 @@ filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user
GError *error = NULL;
GESUriClipAsset *filesource_asset;
- filesource_asset = GES_URI_CLIP_ASSET (ges_asset_request_finish (res, &amp;error));
+ filesource_asset = ges_uri_clip_asset_finish (res, &amp;error);
if (filesource_asset) {
g_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
ges_asset_get_id (GES_ASSET (filesource_asset))
@@ -11651,19 +20031,24 @@ filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user
// The request:
ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);
]|</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="71"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">The URI of the file for which to create a #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="616">The URI of the file for which to create a #GESUriClipAsset</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">optional %GCancellable object, %NULL to ignore.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="617">optional %GCancellable object, %NULL to ignore.</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
@@ -11672,14 +20057,18 @@ ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, u
allow-none="1"
scope="async"
closure="3">
- <doc xml:space="preserve">a #GAsyncReadyCallback to call when the initialization is finished</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="618">a #GAsyncReadyCallback to call when the initialization is finished</doc>
<type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">The user data to pass when @callback is called</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="619">The user data to pass when @callback is called</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
@@ -11687,16 +20076,23 @@ ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, u
<function name="request_sync"
c:identifier="ges_uri_clip_asset_request_sync"
throws="1">
- <doc xml:space="preserve">Creates a #GESUriClipAsset for @uri syncronously. You should avoid
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="684">Creates a #GESUriClipAsset for @uri syncronously. You should avoid
to use it in application, and rather create #GESUriClipAsset asynchronously</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">A reference to the requested asset or
-%NULL if an error happened</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="78"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="693">A reference to the requested asset or %NULL if
+an error happened</doc>
<type name="UriClipAsset" c:type="GESUriClipAsset*"/>
</return-value>
<parameters>
<parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">The URI of the file for which to create a #GESUriClipAsset.
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="686">The URI of the file for which to create a #GESUriClipAsset.
You can also use multi file uris for #GESMultiFileSource.</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
@@ -11704,36 +20100,80 @@ You can also use multi file uris for #GESMultiFileSource.</doc>
</function>
<method name="get_duration"
c:identifier="ges_uri_clip_asset_get_duration">
- <doc xml:space="preserve">Gets duration of the file represented by @self</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The duration of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="560">Gets duration of the file represented by @self</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="566">The duration of @self</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="562">a #GESUriClipAsset</doc>
<type name="UriClipAsset" c:type="GESUriClipAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_info" c:identifier="ges_uri_clip_asset_get_info">
- <doc xml:space="preserve">Gets #GstDiscovererInfo about the file</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">#GstDiscovererInfo of specified asset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="544">Gets #GstDiscovererInfo about the file</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="550">#GstDiscovererInfo of specified asset</doc>
<type name="GstPbutils.DiscovererInfo" c:type="GstDiscovererInfo*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">Target asset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="546">Target asset</doc>
<type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
</instance-parameter>
</parameters>
</method>
+ <method name="get_max_duration"
+ c:identifier="ges_uri_clip_asset_get_max_duration"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="577">Gets maximum duration of the file represented by @self,
+it is usually the same as GESUriClipAsset::duration,
+but in the case of nested timelines, for example, they
+are different as those can be extended 'infinitely'.</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="586">The maximum duration of @self</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="579">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
<method name="get_stream_assets"
c:identifier="ges_uri_clip_asset_get_stream_assets">
- <doc xml:space="preserve">Get the GESUriSourceAsset @self containes</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="759">Get the GESUriSourceAsset @self containes</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="765">a
#GList of #GESUriSourceAsset</doc>
<type name="GLib.List" c:type="const GList*">
<type name="UriSourceAsset"/>
@@ -11741,37 +20181,55 @@ You can also use multi file uris for #GESMultiFileSource.</doc>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">A #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="761">A #GESUriClipAsset</doc>
<type name="UriClipAsset" c:type="GESUriClipAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_image" c:identifier="ges_uri_clip_asset_is_image">
- <doc xml:space="preserve">Gets Whether the file represented by @self is an image or not</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">Whether the file represented by @self is an image or not</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="598">Gets Whether the file represented by @self is an image or not</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="604">Whether the file represented by @self is an image or not</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #indent: Standard input:311: Error:Unexpected end of file
-GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="600">a #GESUriClipAsset</doc>
<type name="UriClipAsset" c:type="GESUriClipAsset*"/>
</instance-parameter>
</parameters>
</method>
<property name="duration" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The duration (in nanoseconds) of the media file</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="318">The duration (in nanoseconds) of the media file</doc>
<type name="guint64" c:type="guint64"/>
</property>
+ <property name="is-nested-timeline"
+ version="1.18"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="329">The duration (in nanoseconds) of the media file</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
<field name="parent">
- <type name="ClipAsset" c:type="GESClipAsset"/>
+ <type name="SourceClipAsset" c:type="GESSourceClipAsset"/>
</field>
<field name="priv" readable="0" private="1">
<type name="UriClipAssetPrivate" c:type="GESUriClipAssetPrivate*"/>
</field>
<field name="__ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11779,8 +20237,9 @@ GESUriClipAsset</doc>
<record name="UriClipAssetClass"
c:type="GESUriClipAssetClass"
glib:is-gtype-struct-for="UriClipAsset">
+ <source-position filename="ges/ges-uri-asset.h" line="60"/>
<field name="parent_class">
- <type name="ClipAssetClass" c:type="GESClipAssetClass"/>
+ <type name="SourceClipAssetClass" c:type="GESSourceClipAssetClass"/>
</field>
<field name="discoverer" readable="0" private="1">
<type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
@@ -11788,24 +20247,58 @@ GESUriClipAsset</doc>
<field name="sync_discoverer" readable="0" private="1">
<type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
</field>
+ <field name="discovered">
+ <callback name="discovered">
+ <source-position filename="ges/ges-uri-asset.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="GstPbutils.DiscovererInfo"
+ c:type="GstDiscovererInfo*"/>
+ </parameter>
+ <parameter name="err" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="set_timeout"
c:identifier="ges_uri_clip_asset_class_set_timeout">
- <doc xml:space="preserve">Sets the timeout of #GESUriClipAsset loading</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="734">Sets the timeout of #GESUriClipAsset loading</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="80"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="klass" transfer-ownership="none">
- <doc xml:space="preserve">The #GESUriClipAssetClass on which to set the discoverer timeout</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="736">The #GESUriClipAssetClass on which to set the discoverer timeout</doc>
<type name="UriClipAssetClass" c:type="GESUriClipAssetClass*"/>
</instance-parameter>
<parameter name="timeout" transfer-ownership="none">
- <doc xml:space="preserve">The timeout to set</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="737">The timeout to set</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
@@ -11814,20 +20307,23 @@ GESUriClipAsset</doc>
<record name="UriClipAssetPrivate"
c:type="GESUriClipAssetPrivate"
disguised="1">
+ <source-position filename="ges/ges-uri-asset.h" line="33"/>
</record>
<record name="UriClipClass"
c:type="GESUriClipClass"
glib:is-gtype-struct-for="UriClip">
+ <source-position filename="ges/ges-uri-clip.h" line="53"/>
<field name="parent_class" readable="0" private="1">
<type name="SourceClipClass" c:type="GESSourceClipClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="UriClipPrivate" c:type="GESUriClipPrivate" disguised="1">
+ <source-position filename="ges/ges-uri-clip.h" line="31"/>
</record>
<class name="UriSourceAsset"
c:symbol-prefix="uri_source_asset"
@@ -11836,42 +20332,62 @@ GESUriClipAsset</doc>
glib:type-name="GESUriSourceAsset"
glib:get-type="ges_uri_source_asset_get_type"
glib:type-struct="UriSourceAssetClass">
- <doc xml:space="preserve">NOTE: You should never request such a #GESAsset as they will be created automatically
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.h"
+ line="88">Asset to create a stream specific #GESSource for a media file.
+
+NOTE: You should never request such a #GESAsset as they will be created automatically
by #GESUriClipAsset-s.</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="112"/>
<implements name="MetaContainer"/>
<implements name="Gio.AsyncInitable"/>
<implements name="Gio.Initable"/>
<method name="get_filesource_asset"
c:identifier="ges_uri_source_asset_get_filesource_asset">
- <doc xml:space="preserve">Get the #GESUriClipAsset @self is contained in</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="877">Get the #GESUriClipAsset @self is contained in</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="883">a #GESUriClipAsset</doc>
<type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">A #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="879">A #GESUriClipAsset</doc>
<type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_stream_info"
c:identifier="ges_uri_source_asset_get_stream_info">
- <doc xml:space="preserve">Get the #GstDiscovererStreamInfo user by @asset</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="853">Get the #GstDiscovererStreamInfo user by @asset</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="859">a #GESUriClipAsset</doc>
<type name="GstPbutils.DiscovererStreamInfo"
c:type="GstDiscovererStreamInfo*"/>
</return-value>
<parameters>
<instance-parameter name="asset" transfer-ownership="none">
- <doc xml:space="preserve">A #GESUriClipAsset</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="855">A #GESUriClipAsset</doc>
<type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_stream_uri"
c:identifier="ges_uri_source_asset_get_stream_uri">
+ <source-position filename="ges/ges-uri-asset.h" line="116"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
@@ -11881,6 +20397,27 @@ by #GESUriClipAsset-s.</doc>
</instance-parameter>
</parameters>
</method>
+ <method name="is_image" c:identifier="ges_uri_source_asset_is_image">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="893">Check if @asset contains a single image</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="899">%TRUE if the video stream corresponds to an image (i.e. only
+contains one frame)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="895">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
<field name="parent">
<type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
</field>
@@ -11888,7 +20425,7 @@ by #GESUriClipAsset-s.</doc>
<type name="UriSourceAssetPrivate" c:type="GESUriSourceAssetPrivate*"/>
</field>
<field name="__ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11896,12 +20433,13 @@ by #GESUriClipAsset-s.</doc>
<record name="UriSourceAssetClass"
c:type="GESUriSourceAssetClass"
glib:is-gtype-struct-for="UriSourceAsset">
+ <source-position filename="ges/ges-uri-asset.h" line="112"/>
<field name="parent_class">
<type name="TrackElementAssetClass"
c:type="GESTrackElementAssetClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11909,6 +20447,7 @@ by #GESUriClipAsset-s.</doc>
<record name="UriSourceAssetPrivate"
c:type="GESUriSourceAssetPrivate"
disguised="1">
+ <source-position filename="ges/ges-uri-asset.h" line="86"/>
</record>
<class name="VideoSource"
c:symbol-prefix="video_source"
@@ -11918,61 +20457,57 @@ by #GESUriClipAsset-s.</doc>
glib:type-name="GESVideoSource"
glib:get-type="ges_video_source_get_type"
glib:type-struct="VideoSourceClass">
- <doc xml:space="preserve"># Children Properties:
-You can use the following children properties through the
-#ges_track_element_set_child_property and alike set of methods:
-
-&lt;informaltable frame="none"&gt;
-&lt;tgroup cols="3"&gt;
-&lt;colspec colname="properties_type" colwidth="150px"/&gt;
-&lt;colspec colname="properties_name" colwidth="200px"/&gt;
-&lt;colspec colname="properties_flags" colwidth="400px"/&gt;
-&lt;tbody&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gdouble"&gt;&lt;type&gt;double&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--alpha"&gt;alpha&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The desired alpha for the stream.&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gint"&gt;&lt;type&gt;gint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--posx"&gt;posx&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The desired x position for the stream.&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gint"&gt;&lt;type&gt;gint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--posy"&gt;posy&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The desired y position for the stream&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gint"&gt;&lt;type&gt;gint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--width"&gt;width&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The desired width for that source. Set to 0 if size is not mandatory, will be set to width of the current track.&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="gint"&gt;&lt;type&gt;gint&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--height"&gt;height&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;The desired height for that source. Set to 0 if size is not mandatory, will be set to height of the current track.&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="GstDeinterlaceModes"&gt;&lt;type&gt;GstDeinterlaceModes&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--deinterlace-mode"&gt;deinterlace-mode&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Deinterlace Mode&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="GstDeinterlaceFields"&gt;&lt;type&gt;GstDeinterlaceFields&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--deinterlace-fields"&gt;deinterlace-fields&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Fields to use for deinterlacing&lt;/entry&gt;
-&lt;/row&gt;
-&lt;row&gt;
- &lt;entry role="property_type"&gt;&lt;link linkend="GstDeinterlaceFieldLayout"&gt;&lt;type&gt;GstDeinterlaceFieldLayout&lt;/type&gt;&lt;/link&gt;&lt;/entry&gt;
- &lt;entry role="property_name"&gt;&lt;link linkend="GESVideoSource--deinterlace-tff"&gt;deinterlace-tff&lt;/link&gt;&lt;/entry&gt;
- &lt;entry&gt;Deinterlace top field first&lt;/entry&gt;
-&lt;/row&gt;
-&lt;/tbody&gt;
-&lt;/tgroup&gt;
-&lt;/informaltable&gt;</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.h"
+ line="34">Base class for video sources</doc>
+ <source-position filename="ges/ges-video-source.h" line="75"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
+ <method name="get_natural_size"
+ c:identifier="ges_video_source_get_natural_size">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="243">Retrieves the natural size of the video stream. The natural size, is
+the size at which it will be displayed if no scaling is being applied.
+
+NOTE: The sources take into account the potential video rotation applied
+by the #videoflip element that is inside the source, effects applied on
+the clip which potentially also rotate the element are not taken into
+account.</doc>
+ <source-position filename="ges/ges-video-source.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="257">%TRUE if the object has a natural size, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="245">A #GESVideoSource</doc>
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </instance-parameter>
+ <parameter name="width"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="246">The natural width of the underlying source</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="247">The natural height of the underlying source</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
<field name="parent" readable="0" private="1">
<type name="Source" c:type="GESSource"/>
</field>
@@ -11980,7 +20515,7 @@ You can use the following children properties through the
<type name="VideoSourcePrivate" c:type="GESVideoSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -11988,11 +20523,13 @@ You can use the following children properties through the
<record name="VideoSourceClass"
c:type="GESVideoSourceClass"
glib:is-gtype-struct-for="VideoSource">
+ <source-position filename="ges/ges-video-source.h" line="75"/>
<field name="parent_class" readable="0" private="1">
<type name="SourceClass" c:type="GESSourceClass"/>
</field>
<field name="create_source" introspectable="0">
<callback name="create_source" introspectable="0">
+ <source-position filename="ges/ges-video-source.h" line="62"/>
<return-value>
<type name="Gst.Element" c:type="GstElement*"/>
</return-value>
@@ -12004,21 +20541,77 @@ You can use the following children properties through the
</callback>
</field>
<union name="ABI" c:type="ABI">
+ <source-position filename="ges/ges-video-source.h" line="74"/>
<field name="_ges_reserved" writable="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<record name="abi" c:type="abi">
+ <source-position filename="ges/ges-video-source.h" line="73"/>
<field name="disable_scale_in_compositor" writable="1">
<type name="gboolean" c:type="gboolean"/>
</field>
+ <field name="needs_converters">
+ <callback name="needs_converters">
+ <source-position filename="ges/ges-video-source.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_natural_size">
+ <callback name="get_natural_size">
+ <source-position filename="ges/ges-video-source.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_filters" introspectable="0">
+ <callback name="create_filters" introspectable="0">
+ <source-position filename="ges/ges-video-source.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ <parameter name="filters" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ <parameter name="needs_converters" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
</record>
</union>
</record>
<record name="VideoSourcePrivate"
c:type="GESVideoSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-video-source.h" line="32"/>
</record>
<enumeration name="VideoStandardTransitionType"
glib:type-name="GESVideoStandardTransitionType"
@@ -12028,547 +20621,729 @@ You can use the following children properties through the
value="0"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE"
glib:nick="none">
- <doc xml:space="preserve">Transition type has not been set,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="74">Transition type has not been set,</doc>
</member>
<member name="bar_wipe_lr"
value="1"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR"
glib:nick="bar-wipe-lr">
- <doc xml:space="preserve">A bar moves from left to right,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="75">A bar moves from left to right,</doc>
</member>
<member name="bar_wipe_tb"
value="2"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB"
glib:nick="bar-wipe-tb">
- <doc xml:space="preserve">A bar moves from top to bottom,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="76">A bar moves from top to bottom,</doc>
</member>
<member name="box_wipe_tl"
value="3"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL"
glib:nick="box-wipe-tl">
- <doc xml:space="preserve">A box expands from the upper-left corner to the lower-right corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="77">A box expands from the upper-left corner to the lower-right corner,</doc>
</member>
<member name="box_wipe_tr"
value="4"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR"
glib:nick="box-wipe-tr">
- <doc xml:space="preserve">A box expands from the upper-right corner to the lower-left corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="78">A box expands from the upper-right corner to the lower-left corner,</doc>
</member>
<member name="box_wipe_br"
value="5"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR"
glib:nick="box-wipe-br">
- <doc xml:space="preserve">A box expands from the lower-right corner to the upper-left corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="79">A box expands from the lower-right corner to the upper-left corner,</doc>
</member>
<member name="box_wipe_bl"
value="6"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL"
glib:nick="box-wipe-bl">
- <doc xml:space="preserve">A box expands from the lower-left corner to the upper-right corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="80">A box expands from the lower-left corner to the upper-right corner,</doc>
</member>
<member name="four_box_wipe_ci"
value="7"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI"
glib:nick="four-box-wipe-ci">
- <doc xml:space="preserve">A box shape expands from each of the four corners toward the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="81">A box shape expands from each of the four corners toward the center,</doc>
</member>
<member name="four_box_wipe_co"
value="8"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO"
glib:nick="four-box-wipe-co">
- <doc xml:space="preserve">A box shape expands from the center of each quadrant toward the corners of each quadrant,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="82">A box shape expands from the center of each quadrant toward the corners of each quadrant,</doc>
</member>
<member name="barndoor_v"
value="21"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V"
glib:nick="barndoor-v">
- <doc xml:space="preserve">A central, vertical line splits and expands toward the left and right edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="83">A central, vertical line splits and expands toward the left and right edges,</doc>
</member>
<member name="barndoor_h"
value="22"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H"
glib:nick="barndoor-h">
- <doc xml:space="preserve">A central, horizontal line splits and expands toward the top and bottom edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="84">A central, horizontal line splits and expands toward the top and bottom edges,</doc>
</member>
<member name="box_wipe_tc"
value="23"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC"
glib:nick="box-wipe-tc">
- <doc xml:space="preserve">A box expands from the top edge's midpoint to the bottom corners,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="85">A box expands from the top edge's midpoint to the bottom corners,</doc>
</member>
<member name="box_wipe_rc"
value="24"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC"
glib:nick="box-wipe-rc">
- <doc xml:space="preserve">A box expands from the right edge's midpoint to the left corners,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="86">A box expands from the right edge's midpoint to the left corners,</doc>
</member>
<member name="box_wipe_bc"
value="25"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC"
glib:nick="box-wipe-bc">
- <doc xml:space="preserve">A box expands from the bottom edge's midpoint to the top corners,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="87">A box expands from the bottom edge's midpoint to the top corners,</doc>
</member>
<member name="box_wipe_lc"
value="26"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC"
glib:nick="box-wipe-lc">
- <doc xml:space="preserve">A box expands from the left edge's midpoint to the right corners,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="88">A box expands from the left edge's midpoint to the right corners,</doc>
</member>
<member name="diagonal_tl"
value="41"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL"
glib:nick="diagonal-tl">
- <doc xml:space="preserve">A diagonal line moves from the upper-left corner to the lower-right corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="89">A diagonal line moves from the upper-left corner to the lower-right corner,</doc>
</member>
<member name="diagonal_tr"
value="42"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR"
glib:nick="diagonal-tr">
- <doc xml:space="preserve">A diagonal line moves from the upper right corner to the lower-left corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="90">A diagonal line moves from the upper right corner to the lower-left corner,</doc>
</member>
<member name="bowtie_v"
value="43"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V"
glib:nick="bowtie-v">
- <doc xml:space="preserve">Two wedge shapes slide in from the top and bottom edges toward the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="91">Two wedge shapes slide in from the top and bottom edges toward the center,</doc>
</member>
<member name="bowtie_h"
value="44"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H"
glib:nick="bowtie-h">
- <doc xml:space="preserve">Two wedge shapes slide in from the left and right edges toward the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="92">Two wedge shapes slide in from the left and right edges toward the center,</doc>
</member>
<member name="barndoor_dbl"
value="45"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL"
glib:nick="barndoor-dbl">
- <doc xml:space="preserve">A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="93">A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners,</doc>
</member>
<member name="barndoor_dtl"
value="46"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL"
glib:nick="barndoor-dtl">
- <doc xml:space="preserve">A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="94">A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners,</doc>
</member>
<member name="misc_diagonal_dbd"
value="47"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD"
glib:nick="misc-diagonal-dbd">
- <doc xml:space="preserve">Four wedge shapes split from the center and retract toward the four edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="95">Four wedge shapes split from the center and retract toward the four edges,</doc>
</member>
<member name="misc_diagonal_dd"
value="48"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD"
glib:nick="misc-diagonal-dd">
- <doc xml:space="preserve">A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="96">A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges,</doc>
</member>
<member name="vee_d"
value="61"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D"
glib:nick="vee-d">
- <doc xml:space="preserve">A wedge shape moves from top to bottom,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="97">A wedge shape moves from top to bottom,</doc>
</member>
<member name="vee_l"
value="62"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L"
glib:nick="vee-l">
- <doc xml:space="preserve">A wedge shape moves from right to left,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="98">A wedge shape moves from right to left,</doc>
</member>
<member name="vee_u"
value="63"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U"
glib:nick="vee-u">
- <doc xml:space="preserve">A wedge shape moves from bottom to top,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="99">A wedge shape moves from bottom to top,</doc>
</member>
<member name="vee_r"
value="64"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R"
glib:nick="vee-r">
- <doc xml:space="preserve">A wedge shape moves from left to right,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="100">A wedge shape moves from left to right,</doc>
</member>
<member name="barnvee_d"
value="65"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D"
glib:nick="barnvee-d">
- <doc xml:space="preserve">A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="101">A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
</member>
<member name="barnvee_l"
value="66"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L"
glib:nick="barnvee-l">
- <doc xml:space="preserve">A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="102">A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
</member>
<member name="barnvee_u"
value="67"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U"
glib:nick="barnvee-u">
- <doc xml:space="preserve">A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="103">A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
</member>
<member name="barnvee_r"
value="68"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R"
glib:nick="barnvee-r">
- <doc xml:space="preserve">A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="104">A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
</member>
<member name="iris_rect"
value="101"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT"
glib:nick="iris-rect">
- <doc xml:space="preserve">A rectangle expands from the center.,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="105">A rectangle expands from the center.,</doc>
</member>
<member name="clock_cw12"
value="201"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12"
glib:nick="clock-cw12">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the twelve o'clock position,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="106">A radial hand sweeps clockwise from the twelve o'clock position,</doc>
</member>
<member name="clock_cw3"
value="202"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3"
glib:nick="clock-cw3">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the three o'clock position,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="107">A radial hand sweeps clockwise from the three o'clock position,</doc>
</member>
<member name="clock_cw6"
value="203"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6"
glib:nick="clock-cw6">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the six o'clock position,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="108">A radial hand sweeps clockwise from the six o'clock position,</doc>
</member>
<member name="clock_cw9"
value="204"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9"
glib:nick="clock-cw9">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the nine o'clock position,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="109">A radial hand sweeps clockwise from the nine o'clock position,</doc>
</member>
<member name="pinwheel_tbv"
value="205"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV"
glib:nick="pinwheel-tbv">
- <doc xml:space="preserve">Two radial hands sweep clockwise from the twelve and six o'clock positions,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="110">Two radial hands sweep clockwise from the twelve and six o'clock positions,</doc>
</member>
<member name="pinwheel_tbh"
value="206"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH"
glib:nick="pinwheel-tbh">
- <doc xml:space="preserve">Two radial hands sweep clockwise from the nine and three o'clock positions,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="111">Two radial hands sweep clockwise from the nine and three o'clock positions,</doc>
</member>
<member name="pinwheel_fb"
value="207"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB"
glib:nick="pinwheel-fb">
- <doc xml:space="preserve">Four radial hands sweep clockwise,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="112">Four radial hands sweep clockwise,</doc>
</member>
<member name="fan_ct"
value="211"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT"
glib:nick="fan-ct">
- <doc xml:space="preserve">A fan unfolds from the top edge, the fan axis at the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="113">A fan unfolds from the top edge, the fan axis at the center,</doc>
</member>
<member name="fan_cr"
value="212"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR"
glib:nick="fan-cr">
- <doc xml:space="preserve">A fan unfolds from the right edge, the fan axis at the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="114">A fan unfolds from the right edge, the fan axis at the center,</doc>
</member>
<member name="doublefan_fov"
value="213"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV"
glib:nick="doublefan-fov">
- <doc xml:space="preserve">Two fans, their axes at the center, unfold from the top and bottom,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="115">Two fans, their axes at the center, unfold from the top and bottom,</doc>
</member>
<member name="doublefan_foh"
value="214"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH"
glib:nick="doublefan-foh">
- <doc xml:space="preserve">Two fans, their axes at the center, unfold from the left and right,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="116">Two fans, their axes at the center, unfold from the left and right,</doc>
</member>
<member name="singlesweep_cwt"
value="221"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT"
glib:nick="singlesweep-cwt">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the top edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="117">A radial hand sweeps clockwise from the top edge's midpoint,</doc>
</member>
<member name="singlesweep_cwr"
value="222"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR"
glib:nick="singlesweep-cwr">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the right edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="118">A radial hand sweeps clockwise from the right edge's midpoint,</doc>
</member>
<member name="singlesweep_cwb"
value="223"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB"
glib:nick="singlesweep-cwb">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the bottom edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="119">A radial hand sweeps clockwise from the bottom edge's midpoint,</doc>
</member>
<member name="singlesweep_cwl"
value="224"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL"
glib:nick="singlesweep-cwl">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the left edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="120">A radial hand sweeps clockwise from the left edge's midpoint,</doc>
</member>
<member name="doublesweep_pv"
value="225"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV"
glib:nick="doublesweep-pv">
- <doc xml:space="preserve">Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="121">Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints,</doc>
</member>
<member name="doublesweep_pd"
value="226"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD"
glib:nick="doublesweep-pd">
- <doc xml:space="preserve">Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="122">Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints,</doc>
</member>
<member name="doublesweep_ov"
value="227"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV"
glib:nick="doublesweep-ov">
- <doc xml:space="preserve">Two radial hands attached at the top and bottom edges' midpoints sweep from right to left,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="123">Two radial hands attached at the top and bottom edges' midpoints sweep from right to left,</doc>
</member>
<member name="doublesweep_oh"
value="228"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH"
glib:nick="doublesweep-oh">
- <doc xml:space="preserve">Two radial hands attached at the left and right edges' midpoints sweep from top to bottom,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="124">Two radial hands attached at the left and right edges' midpoints sweep from top to bottom,</doc>
</member>
<member name="fan_t"
value="231"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T"
glib:nick="fan-t">
- <doc xml:space="preserve">A fan unfolds from the bottom, the fan axis at the top edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="125">A fan unfolds from the bottom, the fan axis at the top edge's midpoint,</doc>
</member>
<member name="fan_r"
value="232"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R"
glib:nick="fan-r">
- <doc xml:space="preserve">A fan unfolds from the left, the fan axis at the right edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="126">A fan unfolds from the left, the fan axis at the right edge's midpoint,</doc>
</member>
<member name="fan_b"
value="233"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B"
glib:nick="fan-b">
- <doc xml:space="preserve">A fan unfolds from the top, the fan axis at the bottom edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="127">A fan unfolds from the top, the fan axis at the bottom edge's midpoint,</doc>
</member>
<member name="fan_l"
value="234"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L"
glib:nick="fan-l">
- <doc xml:space="preserve">A fan unfolds from the right, the fan axis at the left edge's midpoint,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="128">A fan unfolds from the right, the fan axis at the left edge's midpoint,</doc>
</member>
<member name="doublefan_fiv"
value="235"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV"
glib:nick="doublefan-fiv">
- <doc xml:space="preserve">Two fans, their axes at the top and bottom, unfold from the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="129">Two fans, their axes at the top and bottom, unfold from the center,</doc>
</member>
<member name="doublefan_fih"
value="236"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH"
glib:nick="doublefan-fih">
- <doc xml:space="preserve">Two fans, their axes at the left and right, unfold from the center,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="130">Two fans, their axes at the left and right, unfold from the center,</doc>
</member>
<member name="singlesweep_cwtl"
value="241"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL"
glib:nick="singlesweep-cwtl">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the upper-left corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="131">A radial hand sweeps clockwise from the upper-left corner,</doc>
</member>
<member name="singlesweep_cwbl"
value="242"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL"
glib:nick="singlesweep-cwbl">
- <doc xml:space="preserve">A radial hand sweeps counter-clockwise from the lower-left corner.,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="132">A radial hand sweeps counter-clockwise from the lower-left corner.,</doc>
</member>
<member name="singlesweep_cwbr"
value="243"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR"
glib:nick="singlesweep-cwbr">
- <doc xml:space="preserve">A radial hand sweeps clockwise from the lower-right corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="133">A radial hand sweeps clockwise from the lower-right corner,</doc>
</member>
<member name="singlesweep_cwtr"
value="244"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR"
glib:nick="singlesweep-cwtr">
- <doc xml:space="preserve">A radial hand sweeps counter-clockwise from the upper-right corner,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="134">A radial hand sweeps counter-clockwise from the upper-right corner,</doc>
</member>
<member name="doublesweep_pdtl"
value="245"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL"
glib:nick="doublesweep-pdtl">
- <doc xml:space="preserve">Two radial hands attached at the upper-left and lower-right corners sweep down and up,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="135">Two radial hands attached at the upper-left and lower-right corners sweep down and up,</doc>
</member>
<member name="doublesweep_pdbl"
value="246"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL"
glib:nick="doublesweep-pdbl">
- <doc xml:space="preserve">Two radial hands attached at the lower-left and upper-right corners sweep down and up,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="136">Two radial hands attached at the lower-left and upper-right corners sweep down and up,</doc>
</member>
<member name="saloondoor_t"
value="251"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T"
glib:nick="saloondoor-t">
- <doc xml:space="preserve">Two radial hands attached at the upper-left and upper-right corners sweep down,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="137">Two radial hands attached at the upper-left and upper-right corners sweep down,</doc>
</member>
<member name="saloondoor_l"
value="252"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L"
glib:nick="saloondoor-l">
- <doc xml:space="preserve">Two radial hands attached at the upper-left and lower-left corners sweep to the right,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="138">Two radial hands attached at the upper-left and lower-left corners sweep to the right,</doc>
</member>
<member name="saloondoor_b"
value="253"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B"
glib:nick="saloondoor-b">
- <doc xml:space="preserve">Two radial hands attached at the lower-left and lower-right corners sweep up,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="139">Two radial hands attached at the lower-left and lower-right corners sweep up,</doc>
</member>
<member name="saloondoor_r"
value="254"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R"
glib:nick="saloondoor-r">
- <doc xml:space="preserve">Two radial hands attached at the upper-right and lower-right corners sweep to the left,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="140">Two radial hands attached at the upper-right and lower-right corners sweep to the left,</doc>
</member>
<member name="windshield_r"
value="261"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R"
glib:nick="windshield-r">
- <doc xml:space="preserve">Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="141">Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left,</doc>
</member>
<member name="windshield_u"
value="262"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U"
glib:nick="windshield-u">
- <doc xml:space="preserve">Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="142">Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom,</doc>
</member>
<member name="windshield_v"
value="263"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V"
glib:nick="windshield-v">
- <doc xml:space="preserve">Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="143">Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top,</doc>
</member>
<member name="windshield_h"
value="264"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H"
glib:nick="windshield-h">
- <doc xml:space="preserve">Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left,</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="144">Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left,</doc>
</member>
<member name="crossfade"
value="512"
c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE"
glib:nick="crossfade">
- <doc xml:space="preserve">Crossfade</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="145">Crossfade</doc>
</member>
</enumeration>
<enumeration name="VideoTestPattern"
glib:type-name="GESVideoTestPattern"
glib:get-type="ges_video_test_pattern_get_type"
c:type="GESVideoTestPattern">
- <doc xml:space="preserve">The test pattern to produce</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="282">The test pattern to produce</doc>
<member name="smpte"
value="0"
c:identifier="GES_VIDEO_TEST_PATTERN_SMPTE"
glib:nick="smpte">
- <doc xml:space="preserve">A standard SMPTE test pattern</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="284">A standard SMPTE test pattern</doc>
</member>
<member name="snow"
value="1"
c:identifier="GES_VIDEO_TEST_PATTERN_SNOW"
glib:nick="snow">
- <doc xml:space="preserve">Random noise</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="285">Random noise</doc>
</member>
<member name="black"
value="2"
c:identifier="GES_VIDEO_TEST_PATTERN_BLACK"
glib:nick="black">
- <doc xml:space="preserve">A black image</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="286">A black image</doc>
</member>
<member name="white"
value="3"
c:identifier="GES_VIDEO_TEST_PATTERN_WHITE"
glib:nick="white">
- <doc xml:space="preserve">A white image</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="287">A white image</doc>
</member>
<member name="red"
value="4"
c:identifier="GES_VIDEO_TEST_PATTERN_RED"
glib:nick="red">
- <doc xml:space="preserve">A red image</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="288">A red image</doc>
</member>
<member name="green"
value="5"
c:identifier="GES_VIDEO_TEST_PATTERN_GREEN"
glib:nick="green">
- <doc xml:space="preserve">A green image</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="289">A green image</doc>
</member>
<member name="blue"
value="6"
c:identifier="GES_VIDEO_TEST_PATTERN_BLUE"
glib:nick="blue">
- <doc xml:space="preserve">A blue image</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="290">A blue image</doc>
</member>
<member name="checkers_1"
value="7"
c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS1"
glib:nick="checkers-1">
- <doc xml:space="preserve">Checkers pattern (1px)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="291">Checkers pattern (1px)</doc>
</member>
<member name="checkers_2"
value="8"
c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS2"
glib:nick="checkers-2">
- <doc xml:space="preserve">Checkers pattern (2px)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="292">Checkers pattern (2px)</doc>
</member>
<member name="checkers_4"
value="9"
c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS4"
glib:nick="checkers-4">
- <doc xml:space="preserve">Checkers pattern (4px)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="293">Checkers pattern (4px)</doc>
</member>
<member name="checkers_8"
value="10"
c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS8"
glib:nick="checkers-8">
- <doc xml:space="preserve">Checkers pattern (8px)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="294">Checkers pattern (8px)</doc>
</member>
<member name="circular"
value="11"
c:identifier="GES_VIDEO_TEST_PATTERN_CIRCULAR"
glib:nick="circular">
- <doc xml:space="preserve">Circular pattern</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="295">Circular pattern</doc>
</member>
<member name="blink"
value="12"
c:identifier="GES_VIDEO_TEST_PATTERN_BLINK"
glib:nick="blink">
- <doc xml:space="preserve">Alternate between black and white</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="297">Alternate between black and white</doc>
</member>
<member name="smpte75"
value="13"
c:identifier="GES_VIDEO_TEST_PATTERN_SMPTE75"
glib:nick="smpte75">
- <doc xml:space="preserve">SMPTE test pattern (75% color bars)</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="301">SMPTE test pattern (75% color bars)</doc>
</member>
<member name="zone_plate"
value="14"
c:identifier="GES_VIDEO_TEST_ZONE_PLATE"
glib:nick="zone-plate">
- <doc xml:space="preserve">Zone plate</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="298">Zone plate</doc>
</member>
<member name="gamut"
value="15"
c:identifier="GES_VIDEO_TEST_GAMUT"
glib:nick="gamut">
- <doc xml:space="preserve">Gamut checkers</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="299">Gamut checkers</doc>
</member>
<member name="chroma_zone_plate"
value="16"
c:identifier="GES_VIDEO_TEST_CHROMA_ZONE_PLATE"
glib:nick="chroma-zone-plate">
- <doc xml:space="preserve">Chroma zone plate</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="300">Chroma zone plate</doc>
</member>
<member name="solid_color"
value="17"
c:identifier="GES_VIDEO_TEST_PATTERN_SOLID"
glib:nick="solid-color">
- <doc xml:space="preserve">Solid color</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="296">Solid color</doc>
</member>
</enumeration>
<class name="VideoTestSource"
@@ -12578,35 +21353,55 @@ You can use the following children properties through the
glib:type-name="GESVideoTestSource"
glib:get-type="ges_video_test_source_get_type"
glib:type-struct="VideoTestSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.h"
+ line="35">### Children Properties
+
+ {{ libs/GESVideoTestSource-children-props.md }}</doc>
+ <source-position filename="ges/ges-video-test-source.h" line="57"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<method name="get_pattern"
c:identifier="ges_video_test_source_get_pattern">
- <doc xml:space="preserve">Get the video pattern used by the @source.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The video pattern used by the @source.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="291">Get the video pattern used by the @source.</doc>
+ <source-position filename="ges/ges-video-test-source.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="297">The video pattern used by the @source.</doc>
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
</return-value>
<parameters>
<instance-parameter name="source" transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoTestPattern</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="293">a #GESVideoTestPattern</doc>
<type name="VideoTestSource" c:type="GESVideoTestSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_pattern"
c:identifier="ges_video_test_source_set_pattern">
- <doc xml:space="preserve">Sets the source to use the given @pattern.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="265">Sets the source to use the given @pattern.</doc>
+ <source-position filename="ges/ges-video-test-source.h" line="60"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoTestSource</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="267">a #GESVideoTestSource</doc>
<type name="VideoTestSource" c:type="GESVideoTestSource*"/>
</instance-parameter>
<parameter name="pattern" transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoTestPattern</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="268">a #GESVideoTestPattern</doc>
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
</parameter>
</parameters>
@@ -12619,7 +21414,7 @@ You can use the following children properties through the
c:type="GESVideoTestSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12627,11 +21422,12 @@ You can use the following children properties through the
<record name="VideoTestSourceClass"
c:type="GESVideoTestSourceClass"
glib:is-gtype-struct-for="VideoTestSource">
+ <source-position filename="ges/ges-video-test-source.h" line="57"/>
<field name="parent_class">
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12639,6 +21435,7 @@ You can use the following children properties through the
<record name="VideoTestSourcePrivate"
c:type="GESVideoTestSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-video-test-source.h" line="33"/>
</record>
<class name="VideoTrack"
c:symbol-prefix="video_track"
@@ -12647,13 +21444,46 @@ You can use the following children properties through the
glib:type-name="GESVideoTrack"
glib:get-type="ges_video_track_get_type"
glib:type-struct="VideoTrackClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-track.c"
+ line="20">A #GESVideoTrack is a default video #GESTrack, with a
+#GES_TRACK_TYPE_VIDEO #GESTrack:track-type and "video/x-raw(ANY)"
+#GESTrack:caps.
+
+By default, a video track will have its #GESTrack:restriction-caps
+set to "video/x-raw" with the following properties:
+
+- width: 1280
+- height: 720
+- framerate: 30/1
+
+These fields are needed for negotiation purposes, but you can change
+their values if you wish. It is advised that you do so using
+ges_track_update_restriction_caps() with new values for the fields you
+wish to change, and any additional fields you may want to add. Unlike
+using ges_track_set_restriction_caps(), this will ensure that these
+default fields will at least have some value set.</doc>
+ <source-position filename="ges/ges-video-track.h" line="37"/>
<implements name="MetaContainer"/>
<implements name="Gst.ChildProxy"/>
<constructor name="new" c:identifier="ges_video_track_new">
- <doc xml:space="preserve">Creates a new #GESVideoTrack of type #GES_TRACK_TYPE_VIDEO and with generic
-raw video caps ("video/x-raw");</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-track.c"
+ line="155">Creates a new video track, with a #GES_TRACK_TYPE_VIDEO
+#GESTrack:track-type and "video/x-raw(ANY)" #GESTrack:caps, and
+"video/x-raw" #GESTrack:restriction-caps with the properties:
+
+- width: 1280
+- height: 720
+- framerate: 30/1
+
+You should use ges_track_update_restriction_caps() if you wish to
+modify these fields, or add additional ones.</doc>
+ <source-position filename="ges/ges-video-track.h" line="51"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">A new #GESTrack.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-track.c"
+ line="169">The newly created video track.</doc>
<type name="VideoTrack" c:type="GESVideoTrack*"/>
</return-value>
</constructor>
@@ -12664,7 +21494,7 @@ raw video caps ("video/x-raw");</doc>
<type name="VideoTrackPrivate" c:type="GESVideoTrackPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12672,11 +21502,12 @@ raw video caps ("video/x-raw");</doc>
<record name="VideoTrackClass"
c:type="GESVideoTrackClass"
glib:is-gtype-struct-for="VideoTrack">
+ <source-position filename="ges/ges-video-track.h" line="37"/>
<field name="parent_class">
<type name="TrackClass" c:type="GESTrackClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12684,6 +21515,7 @@ raw video caps ("video/x-raw");</doc>
<record name="VideoTrackPrivate"
c:type="GESVideoTrackPrivate"
disguised="1">
+ <source-position filename="ges/ges-video-track.h" line="29"/>
</record>
<class name="VideoTransition"
c:symbol-prefix="video_transition"
@@ -12692,125 +21524,172 @@ raw video caps ("video/x-raw");</doc>
glib:type-name="GESVideoTransition"
glib:get-type="ges_video_transition_get_type"
glib:type-struct="VideoTransitionClass">
+ <source-position filename="ges/ges-video-transition.h" line="59"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<constructor name="new" c:identifier="ges_video_transition_new">
- <doc xml:space="preserve">Creates a new #GESVideoTransition.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">The newly created
-#GESVideoTransition, or %NULL if there was an error.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="62"/>
+ <return-value transfer-ownership="none">
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</return-value>
</constructor>
<method name="get_border" c:identifier="ges_video_transition_get_border">
- <doc xml:space="preserve">Get the border property of @self, this value represents
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="577">Get the border property of @self, this value represents
the border width of the transition.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="74"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">The border values of @self or -1 if not meaningful
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="584">The border values of @self or -1 if not meaningful
(this will happen when not using a smpte transition).</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESVideoTransition to get the border from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="579">The #GESVideoTransition to get the border from</doc>
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_transition_type"
c:identifier="ges_video_transition_get_transition_type">
- <doc xml:space="preserve">Get the transition type used by @trans.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The transition type used by @trans.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="662">Get the transition type used by @trans.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="668">The transition type used by @trans.</doc>
<type name="VideoStandardTransitionType"
c:type="GESVideoStandardTransitionType"/>
</return-value>
<parameters>
<instance-parameter name="trans" transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoTransition</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="664">a #GESVideoTransition</doc>
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_inverted"
c:identifier="ges_video_transition_is_inverted">
- <doc xml:space="preserve">Get the invert property of @self, this value represents
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="619">Get the invert property of @self, this value represents
the direction of the transition.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="80"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">The invert value of @self</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="626">The invert value of @self</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESVideoTransition to get the inversion from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="621">The #GESVideoTransition to get the inversion from</doc>
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_border" c:identifier="ges_video_transition_set_border">
- <doc xml:space="preserve">Set the border property of @self, this value represents
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="559">Set the border property of @self, this value represents
the border width of the transition. In case this value does
not make sense for the current transition type, it is cached
for later use.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="71"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESVideoTransition to set the border to</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="561">The #GESVideoTransition to set the border to</doc>
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</instance-parameter>
<parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">The value of the border to set on @object</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="562">The value of the border to set on @object</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_inverted"
c:identifier="ges_video_transition_set_inverted">
- <doc xml:space="preserve">Set the invert property of @self, this value represents
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="601">Set the invert property of @self, this value represents
the direction of the transition. In case this value does
not make sense for the current transition type, it is cached
for later use.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="77"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">The #GESVideoTransition to set invert on</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="603">The #GESVideoTransition to set invert on</doc>
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</instance-parameter>
<parameter name="inverted" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the transition should be inverted %FALSE otherwise</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="604">%TRUE if the transition should be inverted %FALSE otherwise</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_transition_type"
c:identifier="ges_video_transition_set_transition_type">
- <doc xml:space="preserve">Sets the transition being used to @type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the transition type was properly changed, else %FALSE.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="642">Sets the transition being used to @type.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="649">%TRUE if the transition type was properly changed, else %FALSE.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoTransition</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="644">a #GESVideoTransition</doc>
<type name="VideoTransition" c:type="GESVideoTransition*"/>
</instance-parameter>
<parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GESVideoStandardTransitionType</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="645">a #GESVideoStandardTransitionType</doc>
<type name="VideoStandardTransitionType"
c:type="GESVideoStandardTransitionType"/>
</parameter>
</parameters>
</method>
<property name="border" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">This value represents the border width of the transition.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="153">This value represents the border width of the transition.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="invert" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">This value represents the direction of the transition.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="178">This value represents the direction of the transition.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="transition-type" writable="1" transfer-ownership="none">
@@ -12824,7 +21703,7 @@ for later use.</doc>
c:type="GESVideoTransitionPrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12832,12 +21711,15 @@ for later use.</doc>
<record name="VideoTransitionClass"
c:type="GESVideoTransitionClass"
glib:is-gtype-struct-for="VideoTransition">
+ <source-position filename="ges/ges-video-transition.h" line="59"/>
<field name="parent_class">
- <doc xml:space="preserve">parent class</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.h"
+ line="49">parent class</doc>
<type name="TransitionClass" c:type="GESTransitionClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12845,6 +21727,7 @@ for later use.</doc>
<record name="VideoTransitionPrivate"
c:type="GESVideoTransitionPrivate"
disguised="1">
+ <source-position filename="ges/ges-video-transition.h" line="30"/>
</record>
<class name="VideoUriSource"
c:symbol-prefix="video_uri_source"
@@ -12853,13 +21736,21 @@ for later use.</doc>
glib:type-name="GESVideoUriSource"
glib:get-type="ges_video_uri_source_get_type"
glib:type-struct="VideoUriSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-uri-source.h"
+ line="32">### Children Properties
+
+ {{ libs/GESVideoUriSource-children-props.md }}</doc>
+ <source-position filename="ges/ges-video-uri-source.h" line="57"/>
<implements name="Extractable"/>
<implements name="MetaContainer"/>
<property name="uri"
writable="1"
construct-only="1"
transfer-ownership="none">
- <doc xml:space="preserve">The location of the file/resource to use.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-video-uri-source.c"
+ line="342">The location of the file/resource to use.</doc>
<type name="utf8" c:type="gchar*"/>
</property>
<field name="parent" readable="0" private="1">
@@ -12872,7 +21763,7 @@ for later use.</doc>
<type name="VideoUriSourcePrivate" c:type="GESVideoUriSourcePrivate*"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12880,11 +21771,12 @@ for later use.</doc>
<record name="VideoUriSourceClass"
c:type="GESVideoUriSourceClass"
glib:is-gtype-struct-for="VideoUriSource">
+ <source-position filename="ges/ges-video-uri-source.h" line="57"/>
<field name="parent_class" readable="0" private="1">
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
</field>
<field name="_ges_reserved" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12892,6 +21784,7 @@ for later use.</doc>
<record name="VideoUriSourcePrivate"
c:type="GESVideoUriSourcePrivate"
disguised="1">
+ <source-position filename="ges/ges-video-uri-source.h" line="30"/>
</record>
<class name="XmlFormatter"
c:symbol-prefix="xml_formatter"
@@ -12900,6 +21793,7 @@ for later use.</doc>
glib:type-name="GESXmlFormatter"
glib:get-type="ges_xml_formatter_get_type"
glib:type-struct="XmlFormatterClass">
+ <source-position filename="ges/ges-xml-formatter.h" line="42"/>
<implements name="Extractable"/>
<field name="parent">
<type name="BaseXmlFormatter" c:type="GESBaseXmlFormatter"/>
@@ -12908,7 +21802,7 @@ for later use.</doc>
<type name="XmlFormatterPrivate" c:type="GESXmlFormatterPrivate*"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12916,11 +21810,12 @@ for later use.</doc>
<record name="XmlFormatterClass"
c:type="GESXmlFormatterClass"
glib:is-gtype-struct-for="XmlFormatter">
+ <source-position filename="ges/ges-xml-formatter.h" line="42"/>
<field name="parent">
<type name="BaseXmlFormatterClass" c:type="GESBaseXmlFormatterClass"/>
</field>
<field name="_ges_reserved">
- <array zero-terminated="0" c:type="gpointer" fixed-size="4">
+ <array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
@@ -12928,9 +21823,11 @@ for later use.</doc>
<record name="XmlFormatterPrivate"
c:type="GESXmlFormatterPrivate"
disguised="1">
+ <source-position filename="ges/ges-xml-formatter.h" line="26"/>
</record>
<function name="add_missing_uri_relocation_uri"
c:identifier="ges_add_missing_uri_relocation_uri">
+ <source-position filename="ges/ges-project.h" line="117"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -12944,33 +21841,107 @@ for later use.</doc>
</parameters>
</function>
<function name="deinit" c:identifier="ges_deinit">
- <doc xml:space="preserve">Clean up any resources created by GES in ges_init().
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="209">Clean up any resources created by GES in ges_init().
It is normally not needed to call this function in a normal application as the
resources will automatically be freed when the program terminates.
This function is therefore mostly used by testsuites and other memory profiling tools.
+This function should be called from the thread where ges_init() was called.
-After this call GES (including this method) should not be used anymore.</doc>
+After this call GES should not be used until another ges_init() call.</doc>
+ <source-position filename="ges/ges.h" line="98"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
+ <function name="edge_name"
+ c:identifier="ges_edge_name"
+ moved-to="Edge.name">
+ <source-position filename="ges/ges-enums.h" line="558"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="edge" transfer-ownership="none">
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="edit_mode_name"
+ c:identifier="ges_edit_mode_name"
+ moved-to="EditMode.name"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="525">Return a string representation of @mode.</doc>
+ <source-position filename="ges/ges-enums.h" line="535"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="531">a string representation of @mode.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="527">a #GESEditMode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="find_formatter_for_uri"
+ c:identifier="ges_find_formatter_for_uri"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="750">Get the best formatter for @uri. It tries to find a formatter
+compatible with @uri extension, if none is found, it returns the default
+formatter asset.</doc>
+ <source-position filename="ges/ges-formatter.h" line="156"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="757">The #GESAsset for the best formatter to save to @uri</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="init" c:identifier="ges_init">
- <doc xml:space="preserve">Initialize the GStreamer Editing Service. Call this before any usage of
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="182">Initialize the GStreamer Editing Service. Call this before any usage of
GES. You should take care of initilizing GStreamer before calling this
-function.</doc>
+function.
+
+MT safety.
+GStreamer Editing Services do not guarantee MT safety.
+An application is required to use GES APIs (including ges_deinit())
+in the thread where ges_init() was called.</doc>
+ <source-position filename="ges/ges.h" line="92"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="init_check" c:identifier="ges_init_check" throws="1">
- <doc xml:space="preserve">Initializes the GStreamer Editing Services library, setting up internal path lists,
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="354">Initializes the GStreamer Editing Services library, setting up internal path lists,
and loading evrything needed.
This function will return %FALSE if GES could not be initialized
for some reason.</doc>
+ <source-position filename="ges/ges.h" line="95"/>
<return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if GES could be initialized.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="366">%TRUE if GES could be initialized.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
@@ -12980,7 +21951,9 @@ for some reason.</doc>
transfer-ownership="full"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">pointer to application's argc</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="356">pointer to application's argc</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="argv"
@@ -12989,9 +21962,11 @@ for some reason.</doc>
transfer-ownership="full"
nullable="1"
allow-none="1">
- <doc xml:space="preserve">pointer to application's argv</doc>
- <array length="0" zero-terminated="0" c:type="char**">
- <type name="utf8" c:type="char*"/>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="357">pointer to application's argv</doc>
+ <array length="0" zero-terminated="0" c:type="char***">
+ <type name="utf8" c:type="char**"/>
</array>
</parameter>
</parameters>
@@ -12999,7 +21974,9 @@ for some reason.</doc>
<function name="init_get_option_group"
c:identifier="ges_init_get_option_group"
introspectable="0">
- <doc xml:space="preserve">Returns a #GOptionGroup with GES's argument specifications. The
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="280">Returns a #GOptionGroup with GES's argument specifications. The
group is set up to use standard GOption callbacks, so when using this
group in combination with GOption parsing methods, all argument parsing
and initialization is automated.
@@ -13011,49 +21988,93 @@ If you use this function, you should make sure you initialise the GStreamer
as one of the very first things in your program. That means you need to
use gst_init_get_option_group() and add it to the option context before
using the ges_init_get_option_group() result.</doc>
+ <source-position filename="ges/ges.h" line="106"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">a pointer to GES's option group.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="296">a pointer to GES's option group.</doc>
<type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
</return-value>
</function>
+ <function name="is_initialized"
+ c:identifier="ges_is_initialized"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="407">Use this function to check if GES has been initialized with ges_init()
+or ges_init_check().</doc>
+ <source-position filename="ges/ges.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="413">%TRUE if initialization has been done, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
<function name="list_assets" c:identifier="ges_list_assets">
- <doc xml:space="preserve">List all @asset filtering per filter as defined by @filter.
-It copies the asset and thus will not be updated in time.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1616">List all the assets in the current cache whose
+#GESAsset:extractable-type are of the given type (including
+subclasses).
+
+Note that, since only a #GESExtractable can be extracted from an asset,
+using `GES_TYPE_EXTRACTABLE` as @filter will return all the assets in
+the current cache.</doc>
+ <source-position filename="ges/ges-asset.h" line="129"/>
<return-value transfer-ownership="container">
- <doc xml:space="preserve">The list of
-#GESAsset the object contains</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1628">A list of all
+#GESAsset-s currently in the cache whose #GESAsset:extractable-type is
+of the @filter type.</doc>
<type name="GLib.List" c:type="GList*">
<type name="Asset"/>
</type>
</return-value>
<parameters>
<parameter name="filter" transfer-ownership="none">
- <doc xml:space="preserve">Type of assets to list, #GES_TYPE_EXTRACTABLE will list
-all assets</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1618">The type of object that can be extracted from the asset</doc>
<type name="GType" c:type="GType"/>
</parameter>
</parameters>
</function>
<function name="play_sink_convert_frame"
- c:identifier="ges_play_sink_convert_frame">
- <doc xml:space="preserve">Get the last buffer @playsink showed</doc>
+ c:identifier="ges_play_sink_convert_frame"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="29">Get the last buffer @playsink showed</doc>
+ <doc-deprecated xml:space="preserve">Use the "convert-sample" action signal of
+#playsink instead.</doc-deprecated>
+ <source-position filename="ges/ges-screenshot.h" line="29"/>
<return-value transfer-ownership="full">
- <doc xml:space="preserve">A #GstSample containing the last frame from
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="36">A #GstSample containing the last frame from
@playsink in the format defined by the @caps</doc>
<type name="Gst.Sample" c:type="GstSample*"/>
</return-value>
<parameters>
<parameter name="playsink" transfer-ownership="none">
- <doc xml:space="preserve">The playsink to get last frame from</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="31">The playsink to get last frame from</doc>
<type name="Gst.Element" c:type="GstElement*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
- <doc xml:space="preserve">The caps defining the format the return value will have</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="32">The caps defining the format the return value will have</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</function>
<function name="pspec_equal" c:identifier="ges_pspec_equal">
+ <source-position filename="ges/ges-utils.h" line="31"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -13073,6 +22094,7 @@ all assets</doc>
</parameters>
</function>
<function name="pspec_hash" c:identifier="ges_pspec_hash">
+ <source-position filename="ges/ges-utils.h" line="33"/>
<return-value transfer-ownership="none">
<type name="guint" c:type="guint"/>
</return-value>
@@ -13085,9 +22107,25 @@ all assets</doc>
</parameter>
</parameters>
</function>
+ <function-macro name="timeline_get_project"
+ c:identifier="ges_timeline_get_project"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="36">Helper macro to retrieve the project from which @obj was extracted</doc>
+ <source-position filename="ges/ges-timeline.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="38">The #GESTimeline from which to retrieve the project</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
<function name="track_type_name"
c:identifier="ges_track_type_name"
moved-to="TrackType.name">
+ <source-position filename="ges/ges-enums.h" line="567"/>
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
</return-value>
@@ -13099,12 +22137,16 @@ all assets</doc>
</function>
<function name="validate_register_action_types"
c:identifier="ges_validate_register_action_types">
+ <source-position filename="ges/ges.h" line="109"/>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="version" c:identifier="ges_version">
- <doc xml:space="preserve">Gets the version number of the GStreamer Editing Services library.</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="331">Gets the version number of the GStreamer Editing Services library.</doc>
+ <source-position filename="ges/ges.h" line="101"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@@ -13113,28 +22155,36 @@ all assets</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">pointer to a guint to store the major version number</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="333">pointer to a guint to store the major version number</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="minor"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">pointer to a guint to store the minor version number</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="334">pointer to a guint to store the minor version number</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="micro"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">pointer to a guint to store the micro version number</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="335">pointer to a guint to store the micro version number</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="nano"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:space="preserve">pointer to a guint to store the nano version number</doc>
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="336">pointer to a guint to store the nano version number</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>