forked from mirrors/gstreamer-rs
16022 lines
765 KiB
XML
16022 lines
765 KiB
XML
<?xml version="1.0"?>
|
|
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
|
To affect the contents of this file, edit the original C definitions,
|
|
and/or use gtk-doc annotations. -->
|
|
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
|
|
<include name="GObject" version="2.0"/>
|
|
<include name="Gio" version="2.0"/>
|
|
<include name="Gst" version="1.0"/>
|
|
<include name="GstPbutils" version="1.0"/>
|
|
<include name="GstVideo" version="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">A datatype to hold a frame number.</doc>
|
|
|
|
<type name="gint64" c:type="gint64"/>
|
|
</alias>
|
|
<class name="Asset" c:symbol-prefix="asset" c:type="GESAsset" parent="GObject.Object" glib:type-name="GESAsset" glib:get-type="ges_asset_get_type" glib:type-struct="AssetClass">
|
|
<doc xml:space="preserve">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;
|
|
|
|
// You create an asset for an effect
|
|
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.
|
|
|
|
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;
|
|
|
|
// List all the transitions
|
|
formatter_assets = ges_list_assets (GES_TYPE_FORMATTER);
|
|
|
|
// Print some infos about the formatter GESAsset
|
|
for (tmp = formatter_assets; tmp; tmp = tmp->next) {
|
|
g_print ("Name of the formatter: %s, file extension it produces: %s",
|
|
ges_meta_container_get_string (
|
|
GES_META_CONTAINER (tmp->data), GES_META_FORMATTER_NAME),
|
|
ges_meta_container_get_string (
|
|
GES_META_CONTAINER (tmp->data), GES_META_FORMATTER_EXTENSION));
|
|
}
|
|
|
|
g_list_free (transition_assets);
|
|
|
|
]|
|
|
|
|
## 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>
|
|
|
|
<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">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.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 #GESAsset:extractable-type of the asset that
|
|
needs reloading</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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">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.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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 #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 #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">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.
|
|
|
|
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)
|
|
{
|
|
GESAsset *asset;
|
|
GError *error = NULL;
|
|
|
|
asset = ges_asset_request_finish (res, &error);
|
|
if (asset) {
|
|
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 GESUriClip because: %s",
|
|
ges_asset_get_id (source), error->message);
|
|
}
|
|
|
|
gst_object_unref (asset);
|
|
}
|
|
|
|
// The request:
|
|
ges_asset_request_async (GES_TYPE_URI_CLIP, some_uri, NULL,
|
|
(GAsyncReadyCallback) asset_loaded_cb, user_data);
|
|
```</doc>
|
|
|
|
<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 #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 #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">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" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="4">
|
|
<doc xml:space="preserve">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">Data to be passed to @callback</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="request_finish" c:identifier="ges_asset_request_finish" throws="1">
|
|
<doc xml:space="preserve">Fetches an asset requested by ges_asset_request_async(), which
|
|
finalises the request.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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 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 #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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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 extract an object from</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="inform_proxy">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="proxy_id" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="proxied">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="proxy" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="request_id_update">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="proposed_new_id" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start_loading" throws="1">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="extract" c:identifier="ges_asset_extract" throws="1">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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 extract an object from</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_error" c:identifier="ges_asset_get_error" version="1.8">
|
|
<doc xml:space="preserve">Retrieve the error that was set on the asset when it was loaded.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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">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 #GESAsset:extractable-type of the asset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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 #GESAsset:id of the asset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">Gets the default #GESAsset:proxy of the asset.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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">A #GESAsset</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_proxies" c:identifier="ges_asset_list_proxies">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 no longer proxy with @proxy</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="proxy" transfer-ownership="none">
|
|
<doc xml:space="preserve">An existing proxy of @asset</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="extractable-type" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="AssetPrivate" c:type="GESAssetPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="AssetClass" c:type="GESAssetClass" glib:is-gtype-struct-for="Asset">
|
|
|
|
<field name="parent">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="start_loading">
|
|
<callback name="start_loading" throws="1">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="extract">
|
|
<callback name="extract" throws="1">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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 extract an object from</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="inform_proxy">
|
|
<callback name="inform_proxy">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
<parameter name="proxy_id" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="proxied">
|
|
<callback name="proxied">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
<parameter name="proxy" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="request_id_update">
|
|
<callback name="request_id_update">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
<parameter name="proposed_new_id" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<enumeration name="AssetLoadingReturn" c:type="GESAssetLoadingReturn">
|
|
|
|
<member name="error" value="0" c:identifier="GES_ASSET_LOADING_ERROR">
|
|
<doc xml:space="preserve">Indicates that an error occurred</doc>
|
|
</member>
|
|
<member name="async" value="1" c:identifier="GES_ASSET_LOADING_ASYNC">
|
|
<doc xml:space="preserve">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">Indicates that the loading is complete, without
|
|
error</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="AssetPrivate" c:type="GESAssetPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="AudioSource" c:symbol-prefix="audio_source" c:type="GESAudioSource" parent="Source" abstract="1" glib:type-name="GESAudioSource" glib:get-type="ges_audio_source_get_type" glib:type-struct="AudioSourceClass">
|
|
<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:
|
|
|
|
- #gdouble `volume`: volume factor, 1.0=100%.
|
|
- #gboolean `mute`: mute channel.</doc>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="Source" c:type="GESSource"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="AudioSourcePrivate" c:type="GESAudioSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="AudioSourceClass" c:type="GESAudioSourceClass" glib:is-gtype-struct-for="AudioSource">
|
|
|
|
<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">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="AudioSourcePrivate" c:type="GESAudioSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="AudioTestSource" c:symbol-prefix="audio_test_source" c:type="GESAudioTestSource" parent="AudioSource" 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
|
|
output silence. Useful for testing pipelines, or to fill gaps in an audio
|
|
track.</doc>
|
|
|
|
<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>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<type name="AudioSource" c:type="GESAudioSource"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="AudioTestSourcePrivate" c:type="GESAudioTestSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="AudioTestSourceClass" c:type="GESAudioTestSourceClass" glib:is-gtype-struct-for="AudioTestSource">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="AudioTestSourcePrivate" c:type="GESAudioTestSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="AudioTrack" c:symbol-prefix="audio_track" c:type="GESAudioTrack" parent="Track" glib:type-name="GESAudioTrack" glib:get-type="ges_audio_track_get_type" glib:type-struct="AudioTrackClass">
|
|
<doc xml:space="preserve">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"
|
|
|
|
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>
|
|
|
|
<implements name="MetaContainer"/>
|
|
<implements name="Gst.ChildProxy"/>
|
|
<constructor name="new" c:identifier="ges_audio_track_new">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The newly created audio track.</doc>
|
|
<type name="AudioTrack" c:type="GESAudioTrack*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<field name="parent_instance">
|
|
<type name="Track" c:type="GESTrack"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="AudioTrackPrivate" c:type="GESAudioTrackPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="AudioTrackClass" c:type="GESAudioTrackClass" glib:is-gtype-struct-for="AudioTrack">
|
|
|
|
<field name="parent_class">
|
|
<type name="TrackClass" c:type="GESTrackClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="AudioTrackPrivate" c:type="GESAudioTrackPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="AudioTransition" c:symbol-prefix="audio_transition" c:type="GESAudioTransition" parent="Transition" glib:type-name="GESAudioTransition" glib:get-type="ges_audio_transition_get_type" glib:type-struct="AudioTransitionClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_audio_transition_new" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The newly created #GESAudioTransition.</doc>
|
|
<type name="AudioTransition" c:type="GESAudioTransition*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<field name="parent">
|
|
<type name="Transition" c:type="GESTransition"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="AudioTransitionPrivate" c:type="GESAudioTransitionPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="AudioTransitionClass" c:type="GESAudioTransitionClass" glib:is-gtype-struct-for="AudioTransition">
|
|
|
|
<field name="parent_class">
|
|
<type name="TransitionClass" c:type="GESTransitionClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="AudioTransitionPrivate" c:type="GESAudioTransitionPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="AudioUriSource" c:symbol-prefix="audio_uri_source" c:type="GESAudioUriSource" parent="AudioSource" glib:type-name="GESAudioUriSource" glib:get-type="ges_audio_uri_source_get_type" glib:type-struct="AudioUriSourceClass">
|
|
<doc xml:space="preserve">### Children Properties
|
|
|
|
{{ libs/GESVideoUriSource-children-props.md }}</doc>
|
|
|
|
<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>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="AudioSource" c:type="GESAudioSource"/>
|
|
</field>
|
|
<field name="uri" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="UriSource" c:type="GESUriSource*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="AudioUriSourceClass" c:type="GESAudioUriSourceClass" glib:is-gtype-struct-for="AudioUriSource">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="AudioUriSourcePrivate" c:type="GESAudioUriSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="BaseEffect" c:symbol-prefix="base_effect" c:type="GESBaseEffect" parent="Operation" abstract="1" glib:type-name="GESBaseEffect" glib:get-type="ges_base_effect_get_type" glib:type-struct="BaseEffectClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESBaseEffect</doc>
|
|
<type name="BaseEffect" c:type="GESBaseEffect*"/>
|
|
</instance-parameter>
|
|
<parameter name="child_property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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">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">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">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">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>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="BaseEffectPrivate" c:type="GESBaseEffectPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="BaseEffectClass" c:type="GESBaseEffectClass" glib:is-gtype-struct-for="BaseEffect">
|
|
|
|
<field name="parent_class" readable="0" private="1">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="OperationClass" c:type="GESOperationClass"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="BaseEffectClip" c:symbol-prefix="base_effect_clip" c:type="GESBaseEffectClip" parent="OperationClip" abstract="1" glib:type-name="GESBaseEffectClip" glib:get-type="ges_base_effect_clip_get_type" glib:type-struct="BaseEffectClipClass">
|
|
<doc xml:space="preserve">#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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="OperationClip" c:type="GESOperationClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="BaseEffectClipPrivate" c:type="GESBaseEffectClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="BaseEffectClipClass" c:type="GESBaseEffectClipClass" glib:is-gtype-struct-for="BaseEffectClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="BaseEffectClipPrivate" c:type="GESBaseEffectClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="BaseEffectPrivate" c:type="GESBaseEffectPrivate" disguised="1">
|
|
|
|
</record>
|
|
<callback name="BaseEffectTimeTranslationFunc" c:type="GESBaseEffectTimeTranslationFunc" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The translated time.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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" parent="OperationClip" abstract="1" glib:type-name="GESBaseTransitionClip" glib:get-type="ges_base_transition_clip_get_type" glib:type-struct="BaseTransitionClipClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="OperationClip" c:type="GESOperationClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="BaseTransitionClipPrivate" c:type="GESBaseTransitionClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="BaseTransitionClipClass" c:type="GESBaseTransitionClipClass" glib:is-gtype-struct-for="BaseTransitionClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="BaseTransitionClipPrivate" c:type="GESBaseTransitionClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="BaseXmlFormatter" c:symbol-prefix="base_xml_formatter" c:type="GESBaseXmlFormatter" parent="Formatter" abstract="1" glib:type-name="GESBaseXmlFormatter" glib:get-type="ges_base_xml_formatter_get_type" glib:type-struct="BaseXmlFormatterClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<field name="parent">
|
|
<type name="Formatter" c:type="GESFormatter"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<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" fixed-size="3">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="BaseXmlFormatterClass" c:type="GESBaseXmlFormatterClass" glib:is-gtype-struct-for="BaseXmlFormatter">
|
|
|
|
<field name="parent">
|
|
<type name="FormatterClass" c:type="GESFormatterClass"/>
|
|
</field>
|
|
<field name="content_parser">
|
|
<type name="GLib.MarkupParser" c:type="GMarkupParser"/>
|
|
</field>
|
|
<field name="save">
|
|
<callback name="save" throws="1">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="GLib.String" c:type="GString*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="formatter" transfer-ownership="none">
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="BaseXmlFormatterPrivate" c:type="GESBaseXmlFormatterPrivate" disguised="1">
|
|
|
|
</record>
|
|
<function-macro name="CLIP_CLASS_CAN_ADD_EFFECTS" c:identifier="GES_CLIP_CLASS_CAN_ADD_EFFECTS" introspectable="0">
|
|
<doc xml:space="preserve">Whether the class allows for the user to add additional non-core
|
|
#GESBaseEffect-s to clips from this class.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
<doc xml:space="preserve">A #GESClipClass</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTAINER_CHILDREN" c:identifier="GES_CONTAINER_CHILDREN" introspectable="0">
|
|
<doc xml:space="preserve">The #GList containing the children of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GESContainer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTAINER_HEIGHT" c:identifier="GES_CONTAINER_HEIGHT" introspectable="0">
|
|
<doc xml:space="preserve">The #GESContainer:height of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GESContainer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="ChildrenControlMode" c:type="GESChildrenControlMode">
|
|
<doc xml:space="preserve">To be used by subclasses only. This indicate how to handle a change in
|
|
a child.</doc>
|
|
|
|
<member name="update" value="0" c:identifier="GES_CHILDREN_UPDATE">
|
|
</member>
|
|
<member name="ignore_notifies" value="1" c:identifier="GES_CHILDREN_IGNORE_NOTIFIES">
|
|
</member>
|
|
<member name="update_offsets" value="2" c:identifier="GES_CHILDREN_UPDATE_OFFSETS">
|
|
</member>
|
|
<member name="update_all_values" value="3" c:identifier="GES_CHILDREN_UPDATE_ALL_VALUES">
|
|
</member>
|
|
<member name="last" value="4" c:identifier="GES_CHILDREN_LAST">
|
|
</member>
|
|
</enumeration>
|
|
<class name="Clip" c:symbol-prefix="clip" c:type="GESClip" parent="Container" abstract="1" glib:type-name="GESClip" glib:get-type="ges_clip_get_type" glib:type-struct="ClipClass">
|
|
<doc xml:space="preserve">#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
|
|
|
|
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->next)
|
|
ges_track_element_set_auto_clamp_control_source (tmp->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, &error);
|
|
// handle error
|
|
|
|
if (!ges_timeline_elemnet_edit_full (GES_TIMELINE_ELEMENT (clip),
|
|
-1, GES_EDIT_MODE_TRIM, GES_EDGE_END, new_end, &error))
|
|
// handle error
|
|
|
|
for (tmp = children; tmp; tmp = tmp->next)
|
|
ges_track_element_set_auto_clamp_control_source (tmp->data, TRUE);
|
|
|
|
g_list_free_full (children, gst_object_unref);
|
|
gst_object_unref (source);
|
|
}
|
|
```</doc>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<virtual-method name="create_track_element">
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESTrackType to create a #GESTrackElement for</doc>
|
|
<type name="TrackType" c:type="GESTrackType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="create_track_elements">
|
|
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">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="TrackElement"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clip" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18" throws="1">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">A child of @clip</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<doc xml:space="preserve">A top effect to add</doc>
|
|
<type name="BaseEffect" c:type="GESBaseEffect*"/>
|
|
</parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 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>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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">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 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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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">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">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">Gets the #GESClip:duration-limit of the clip.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">Gets the #GESClip:layer of the clip.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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">Gets the #GESClip:supported-formats of the clip.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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" version="1.18" throws="1">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame_number" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clip" transfer-ownership="none">
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<type name="BaseEffect" c:type="GESBaseEffect*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_top_effects" c:identifier="ges_clip_get_top_effects">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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">See ges_clip_move_to_layer_full(), which also gives an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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>
|
|
|
|
<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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="supportedformats" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">See ges_clip_set_top_effect_index_full(), which also gives an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="clip" transfer-ownership="none">
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="effect" transfer-ownership="none">
|
|
<type name="BaseEffect" c:type="GESBaseEffect*"/>
|
|
</parameter>
|
|
<parameter name="newpriority" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="split" c:identifier="ges_clip_split">
|
|
<doc xml:space="preserve">See ges_clip_split_full(), which also gives an error.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 #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">
|
|
<type name="Container" c:type="GESContainer"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ClipPrivate" c:type="GESClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<class name="ClipAsset" c:symbol-prefix="clip_asset" c:type="GESClipAsset" parent="Asset" 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.
|
|
it is mostly used to get information about the #GESTrackType-s the objects extracted
|
|
from it can potentialy create #GESTrackElement for.</doc>
|
|
|
|
<implements name="MetaContainer"/>
|
|
<implements name="Gio.AsyncInitable"/>
|
|
<implements name="Gio.Initable"/>
|
|
<virtual-method name="get_natural_framerate" invoker="get_natural_framerate" version="1.18">
|
|
<doc xml:space="preserve">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The framerate numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="framerate_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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" version="1.18">
|
|
<doc xml:space="preserve">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
|
|
|
|
<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">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">The framerate numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="framerate_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="TrackType" c:type="GESTrackType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="supported-formats" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The formats supported by the asset.</doc>
|
|
<type name="TrackType"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="Asset" c:type="GESAsset"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ClipAssetPrivate" c:type="GESClipAssetPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="ClipAssetClass" c:type="GESClipAssetClass" glib:is-gtype-struct-for="ClipAsset">
|
|
|
|
<field name="parent">
|
|
<type name="AssetClass" c:type="GESAssetClass"/>
|
|
</field>
|
|
<field name="get_natural_framerate">
|
|
<callback name="get_natural_framerate">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The framerate numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="framerate_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">The framerate denominator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="3">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="ClipAssetPrivate" c:type="GESClipAssetPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="ClipClass" c:type="GESClipClass" glib:is-gtype-struct-for="Clip">
|
|
|
|
<field name="parent_class" readable="0" private="1">
|
|
<type name="ContainerClass" c:type="GESContainerClass"/>
|
|
</field>
|
|
<field name="create_track_element">
|
|
<doc xml:space="preserve">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">
|
|
<doc xml:space="preserve">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>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<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">
|
|
|
|
<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">
|
|
|
|
</record>
|
|
<class name="CommandLineFormatter" c:symbol-prefix="command_line_formatter" c:type="GESCommandLineFormatter" parent="Formatter" glib:type-name="GESCommandLineFormatter" glib:get-type="ges_command_line_formatter_get_type" glib:type-struct="CommandLineFormatterClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<function name="get_help" c:identifier="ges_command_line_formatter_get_help">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="nargs" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="commands" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<field name="parent_instance">
|
|
<type name="Formatter" c:type="GESFormatter"/>
|
|
</field>
|
|
<field name="priv">
|
|
<type name="CommandLineFormatterPrivate" c:type="GESCommandLineFormatterPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="CommandLineFormatterClass" c:type="GESCommandLineFormatterClass" glib:is-gtype-struct-for="CommandLineFormatter">
|
|
|
|
<field name="parent_class">
|
|
<type name="FormatterClass" c:type="GESFormatterClass"/>
|
|
</field>
|
|
</record>
|
|
<record name="CommandLineFormatterPrivate" c:type="GESCommandLineFormatterPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Container" c:symbol-prefix="container" c:type="GESContainer" parent="TimelineElement" abstract="1" glib:type-name="GESContainer" glib:get-type="ges_container_get_type" glib:type-struct="ContainerClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<function name="group" c:identifier="ges_container_group">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<parameter name="containers" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
The #GESContainer-s to group</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Container"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="add_child">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="child_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="child_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="edit" invoker="edit" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">Edits the container within its timeline.</doc>
|
|
<doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 #GESContainer to edit</doc>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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/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 edit mode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="ungroup" invoker="ungroup">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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 container to ungroup</doc>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="recursive" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">Edits the container within its timeline.</doc>
|
|
<doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 #GESContainer to edit</doc>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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/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 edit mode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove" c:identifier="ges_container_remove">
|
|
<doc xml:space="preserve">Removes a timeline element from the container. The element will no
|
|
longer be controlled by the container.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="child" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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 container to ungroup</doc>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="recursive" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">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 #GESContainer:height of @obj</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="children_control_mode">
|
|
<type name="ChildrenControlMode" c:type="GESChildrenControlMode"/>
|
|
</field>
|
|
<field name="initiated_move">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ContainerPrivate" c:type="GESContainerPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<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 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 child that was added</doc>
|
|
<type name="TimelineElement"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="child-removed" when="last">
|
|
<doc xml:space="preserve">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 child that was removed</doc>
|
|
<type name="TimelineElement"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="ContainerClass" c:type="GESContainerClass" glib:is-gtype-struct-for="Container">
|
|
|
|
<field name="parent_class" readable="0" private="1">
|
|
<type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
|
|
</field>
|
|
<field name="child_added">
|
|
<callback name="child_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="child_removed">
|
|
<callback name="child_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="add_child">
|
|
<callback name="add_child">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="remove_child">
|
|
<callback name="remove_child">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="container" transfer-ownership="none">
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="ungroup">
|
|
<callback name="ungroup">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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 container to ungroup</doc>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</parameter>
|
|
<parameter name="recursive" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to recursively ungroup @container</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="group" introspectable="0">
|
|
<callback name="group" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="containers" transfer-ownership="none">
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="edit">
|
|
<callback name="edit">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 #GESContainer to edit</doc>
|
|
<type name="Container" c:type="GESContainer*"/>
|
|
</parameter>
|
|
<parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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/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 edit mode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 edit position: a new location for the edge of @container
|
|
(in nanoseconds)</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="grouping_priority" readable="0" private="1">
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="ContainerPrivate" c:type="GESContainerPrivate" disguised="1">
|
|
|
|
</record>
|
|
<callback name="CreateElementForGapFunc" c:type="GESCreateElementForGapFunc" introspectable="0">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value>
|
|
<doc xml:space="preserve">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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="CreateTrackElementFunc" c:type="GESCreateTrackElementFunc">
|
|
<doc xml:space="preserve">A method for creating the core #GESTrackElement of a clip, to be added
|
|
to a #GESTrack of the given track type.
|
|
|
|
If a clip may produce several track elements per track type,
|
|
#GESCreateTrackElementsFunc is more appropriate.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESTrackType to create a #GESTrackElement for</doc>
|
|
<type name="TrackType" c:type="GESTrackType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="CreateTrackElementsFunc" c:type="GESCreateTrackElementsFunc">
|
|
<doc xml:space="preserve">A method for creating the core #GESTrackElement-s of a clip, to be
|
|
added to #GESTrack-s of the given track type.</doc>
|
|
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">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="TrackElement"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clip" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESClip</doc>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">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"/>
|
|
|
|
<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">
|
|
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="EXTRACTABLE_GET_INTERFACE" c:identifier="GES_EXTRACTABLE_GET_INTERFACE" introspectable="0">
|
|
|
|
<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>
|
|
|
|
<member name="start" value="0" c:identifier="GES_EDGE_START" glib:nick="start">
|
|
<doc xml:space="preserve">Represents the start of an object.</doc>
|
|
</member>
|
|
|
|
<member name="end" value="1" c:identifier="GES_EDGE_END" glib:nick="end">
|
|
<doc xml:space="preserve">Represents the end of an object.</doc>
|
|
</member>
|
|
|
|
<member name="none" value="2" c:identifier="GES_EDGE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">Represent the fact we are not working with any edge of an
|
|
object.</doc>
|
|
</member>
|
|
<function name="name" c:identifier="ges_edge_name" version="1.16">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A human friendly name for @edge</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GESEdge to get the name of</doc>
|
|
<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">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="normal" value="0" c:identifier="GES_EDIT_MODE_NORMAL" glib:nick="normal">
|
|
<doc xml:space="preserve">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="ripple" value="1" c:identifier="GES_EDIT_MODE_RIPPLE" glib:nick="ripple">
|
|
<doc xml:space="preserve">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="roll" value="2" c:identifier="GES_EDIT_MODE_ROLL" glib:nick="roll">
|
|
<doc xml:space="preserve">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="trim" value="3" c:identifier="GES_EDIT_MODE_TRIM" glib:nick="trim">
|
|
<doc xml:space="preserve">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="slide" value="4" c:identifier="GES_EDIT_MODE_SLIDE" glib:nick="slide">
|
|
<doc xml:space="preserve">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">Return a string representation of @mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">a #GESEditMode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<class name="Effect" c:symbol-prefix="effect" c:type="GESEffect" parent="BaseEffect" glib:type-name="GESEffect" glib:get-type="ges_effect_get_type" glib:type-struct="EffectClass">
|
|
<doc xml:space="preserve">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).
|
|
|
|
> Note: GES always adds converters (`audioconvert ! audioresample !
|
|
> audioconvert` for audio effects and `videoconvert` for video effects) to
|
|
> make it simpler for end users.</doc>
|
|
|
|
<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
|
|
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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<property name="bin-description" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The description of the effect bin with a gst-launch-style
|
|
pipeline description.
|
|
|
|
Example: "videobalance saturation=1.5 hue=+0.5"</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="BaseEffect" c:type="GESBaseEffect"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="EffectPrivate" c:type="GESEffectPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<class name="EffectAsset" c:symbol-prefix="effect_asset" c:type="GESEffectAsset" parent="TrackElementAsset" glib:type-name="GESEffectAsset" glib:get-type="ges_effect_asset_get_type" glib:type-struct="EffectAssetClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<implements name="MetaContainer"/>
|
|
<implements name="Gio.AsyncInitable"/>
|
|
<implements name="Gio.Initable"/>
|
|
<field name="parent_instance">
|
|
<type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
|
|
</field>
|
|
<field name="priv">
|
|
<type name="EffectAssetPrivate" c:type="GESEffectAssetPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="EffectAssetClass" c:type="GESEffectAssetClass" glib:is-gtype-struct-for="EffectAsset">
|
|
|
|
<field name="parent_class">
|
|
<type name="TrackElementAssetClass" c:type="GESTrackElementAssetClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="EffectAssetPrivate" c:type="GESEffectAssetPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="EffectClass" c:type="GESEffectClass" glib:is-gtype-struct-for="Effect">
|
|
|
|
<field name="parent_class" readable="0" private="1">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="BaseEffectClass" c:type="GESBaseEffectClass"/>
|
|
</field>
|
|
<field name="rate_properties" readable="0" private="1">
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<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.
|
|
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.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="EffectClass" c:type="GESEffectClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="element_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The name of the property that changes the rate</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="EffectClip" c:symbol-prefix="effect_clip" c:type="GESEffectClip" parent="BaseEffectClip" 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.
|
|
|
|
The asset ID of an effect clip is in the form:
|
|
|
|
```
|
|
"audio ! bin ! description || video ! bin ! description"
|
|
```</doc>
|
|
|
|
<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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<property name="audio-bin-description" 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
|
|
pipeline description. This should be used for test purposes.
|
|
|
|
Example: "audiopanorama panorama=1.0"</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<property name="video-bin-description" 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
|
|
pipeline description. This should be used for test purposes.
|
|
|
|
Example: "videobalance saturation=1.5 hue=+0.5"</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="BaseEffectClip" c:type="GESBaseEffectClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="EffectClipPrivate" c:type="GESEffectClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="EffectClipClass" c:type="GESEffectClipClass" glib:is-gtype-struct-for="EffectClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="EffectClipPrivate" c:type="GESEffectClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="EffectPrivate" c:type="GESEffectPrivate" disguised="1">
|
|
|
|
</record>
|
|
<enumeration name="Error" c:type="GESError">
|
|
|
|
<member name="asset_wrong_id" value="0" c:identifier="GES_ERROR_ASSET_WRONG_ID">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</member>
|
|
<member name="invalid_frame_number" value="3" c:identifier="GES_ERROR_INVALID_FRAME_NUMBER">
|
|
<doc xml:space="preserve">The frame number is invalid</doc>
|
|
</member>
|
|
<member name="negative_layer" value="4" c:identifier="GES_ERROR_NEGATIVE_LAYER">
|
|
<doc xml:space="preserve">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">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">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">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" c:symbol-prefix="extractable" c:type="GESExtractable" glib:type-name="GESExtractable" glib:get-type="ges_extractable_get_type" glib:type-struct="ExtractableInterface">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<prerequisite name="GObject.InitiallyUnowned"/>
|
|
<virtual-method name="get_id" invoker="get_id">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">A #GESExtractable</doc>
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_asset">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_asset_full">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_asset" c:identifier="ges_extractable_get_asset">
|
|
<doc xml:space="preserve">Get the asset that has been set on the extractable object.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESExtractable</doc>
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The asset to set</doc>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<callback name="ExtractableCheckId" c:type="GESExtractableCheckId" throws="1">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="ExtractableInterface" c:type="GESExtractableInterface" glib:is-gtype-struct-for="Extractable">
|
|
|
|
<field name="parent">
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="asset_type">
|
|
<doc xml:space="preserve">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">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">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_asset_full">
|
|
<callback name="set_asset_full">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_parameters_from_id" introspectable="0">
|
|
<callback name="get_parameters_from_id" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GObject.Parameter" c:type="GParameter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="n_params" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_id">
|
|
<callback name="get_id">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">A #GESExtractable</doc>
|
|
<type name="Extractable" c:type="GESExtractable*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_real_extractable_type">
|
|
<callback name="get_real_extractable_type">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="wanted_type" transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="register_metas">
|
|
<callback name="register_metas">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="ExtractableInterface" c:type="GESExtractableInterface*"/>
|
|
</parameter>
|
|
<parameter name="klass" transfer-ownership="none">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
|
|
</parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<function-macro name="FRAME_NUMBER_IS_VALID" c:identifier="GES_FRAME_NUMBER_IS_VALID" introspectable="0">
|
|
<doc xml:space="preserve">Tests if a given GESFrameNumber represents a valid frame</doc>
|
|
|
|
<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">Constant to define an undefined frame number</doc>
|
|
|
|
<type name="gint64" c:type="gint64"/>
|
|
</constant>
|
|
<callback name="FillTrackElementFunc" c:type="GESFillTrackElementFunc" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
<parameter name="track_element" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GESTrackElement</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
<parameter name="nleobj" transfer-ownership="none">
|
|
<doc xml:space="preserve">The nleobject that needs to be filled</doc>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="Formatter" c:symbol-prefix="formatter" c:type="GESFormatter" parent="GObject.InitiallyUnowned" abstract="1" 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>
|
|
|
|
<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
|
|
from the given URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<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
|
|
#GESTimeline to the given URI.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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
|
|
the asset for the #GESFormatter that has the highest @rank</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dummy_instance" transfer-ownership="none">
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="load_from_uri" invoker="load_from_uri" deprecated="1" deprecated-version="1.18" throws="1">
|
|
<doc xml:space="preserve">Load data from the given URI into timeline.</doc>
|
|
<doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="save_to_uri" invoker="save_to_uri" deprecated="1" deprecated-version="1.18" throws="1">
|
|
<doc xml:space="preserve">Save data from timeline to the given URI.</doc>
|
|
<doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="FormatterPrivate" c:type="GESFormatterPrivate*"/>
|
|
</field>
|
|
<field name="project" readable="0" private="1">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</field>
|
|
<field name="timeline" readable="0" private="1">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<callback name="FormatterCanLoadURIMethod" c:type="GESFormatterCanLoadURIMethod" throws="1">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dummy_instance" transfer-ownership="none">
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<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>
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<type name="FormatterSaveToURIMethod" c:type="GESFormatterSaveToURIMethod"/>
|
|
</field>
|
|
<field name="name" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="description" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="extension" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="mimetype" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="version" readable="0" private="1">
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="rank" readable="0" private="1">
|
|
<type name="Gst.Rank" c:type="GstRank"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<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">
|
|
|
|
<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 class to register metas on</doc>
|
|
<type name="FormatterClass" c:type="GESFormatterClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of the formatter</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="description" transfer-ownership="none">
|
|
<doc xml:space="preserve">The formatter description</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="extensions" transfer-ownership="none">
|
|
<doc xml:space="preserve">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="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The version of the formatter</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="rank" transfer-ownership="none">
|
|
<doc xml:space="preserve">The rank of the formatter</doc>
|
|
<type name="Gst.Rank" c:type="GstRank"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="FormatterLoadFromURIMethod" c:type="GESFormatterLoadFromURIMethod" throws="1">
|
|
<doc xml:space="preserve">Virtual method for loading a timeline from a given URI.
|
|
|
|
Every #GESFormatter subclass needs to implement this method.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="FormatterPrivate" c:type="GESFormatterPrivate" disguised="1">
|
|
|
|
</record>
|
|
<callback name="FormatterSaveToURIMethod" c:type="GESFormatterSaveToURIMethod" throws="1">
|
|
<doc xml:space="preserve">Virtual method for saving a timeline to a uri.
|
|
|
|
Every #GESFormatter subclass needs to implement this method.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Formatter" c:type="GESFormatter*"/>
|
|
</parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="Group" c:symbol-prefix="group" c:type="GESGroup" parent="Container" glib:type-name="GESGroup" glib:get-type="ges_group_get_type" glib:type-struct="GroupClass">
|
|
<doc xml:space="preserve">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.
|
|
|
|
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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_group_new">
|
|
<doc xml:space="preserve">Created a new empty group. You may wish to use
|
|
ges_container_group() instead, which can return a different
|
|
#GESContainer subclass if possible.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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">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">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">
|
|
<type name="Container" c:type="GESContainer"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="GroupPrivate" c:type="GESGroupPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="GroupClass" c:type="GESGroupClass" glib:is-gtype-struct-for="Group">
|
|
|
|
<field name="parent_class">
|
|
<type name="ContainerClass" c:type="GESContainerClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="GroupPrivate" c:type="GESGroupPrivate" disguised="1">
|
|
|
|
</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-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>
|
|
|
|
<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>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="VideoSource" c:type="GESVideoSource"/>
|
|
</field>
|
|
<field name="uri" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ImageSourcePrivate" c:type="GESImageSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="ImageSourceClass" c:type="GESImageSourceClass" glib:is-gtype-struct-for="ImageSource">
|
|
|
|
<field name="parent_class">
|
|
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="ImageSourcePrivate" c:type="GESImageSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Layer" c:symbol-prefix="layer" c:type="GESLayer" parent="GObject.InitiallyUnowned" glib:type-name="GESLayer" glib:get-type="ges_layer_get_type" glib:type-struct="LayerClass">
|
|
<doc xml:space="preserve">#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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_layer_new">
|
|
<doc xml:space="preserve">Creates a new layer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A new layer.</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<virtual-method name="get_objects" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="object_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="object_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_asset" c:identifier="ges_layer_add_asset">
|
|
<doc xml:space="preserve">See ges_layer_add_asset_full(), which also gives an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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 #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 #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 #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">Extracts a new clip from an asset and adds it to the layer with
|
|
the given properties.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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 #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 #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 #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">See ges_layer_add_clip_full(), which also gives an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="clip" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Adds the given clip to the layer. If the method succeeds, the layer
|
|
will take ownership of the clip.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="clip" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<doc xml:space="preserve">Gets whether the layer is active for the given track. See
|
|
ges_layer_set_active_for_tracks().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 the #GESLayer:auto-transition of the layer.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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 #GESClip-s contained in this layer.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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 within the layer that appear between @start and @end.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 the layer. When inside a timeline, this is its
|
|
index in the timeline. See ges_timeline_move_layer().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">Gets the timeline that the layer is a part of.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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</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 the layer is empty (doesn't contain
|
|
any #GESClip), or not.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="clip" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 #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>
|
|
|
|
<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">The #GESLayer</doc>
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="auto_transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" deprecated="1" deprecated-version="1.16.0">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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">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>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_timeline" c:identifier="ges_layer_set_timeline">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="auto-transition" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" deprecated="1" deprecated-version="1.16.0" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</field>
|
|
<field name="min_nle_priority">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="max_nle_priority">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="priv">
|
|
<type name="LayerPrivate" c:type="GESLayerPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="active-changed" when="first" version="1.18">
|
|
<doc xml:space="preserve">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">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">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 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 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 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 clip that was removed</doc>
|
|
<type name="Clip"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<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>
|
|
|
|
<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">
|
|
|
|
<return-value>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="object_added">
|
|
<callback name="object_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="object_removed">
|
|
<callback name="object_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="Clip" c:type="GESClip*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="LayerPrivate" c:type="GESLayerPrivate" disguised="1">
|
|
|
|
</record>
|
|
<constant name="META_DESCRIPTION" value="description" c:type="GES_META_DESCRIPTION">
|
|
<doc xml:space="preserve">The description of the object, to be used in various contexts (string).</doc>
|
|
|
|
<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 file extension of files produced by a #GESFormatter (string).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_FORMATTER_MIMETYPE" value="mimetype" c:type="GES_META_FORMATTER_MIMETYPE">
|
|
<doc xml:space="preserve">The mimetype used for the file produced by a #GESFormatter (string).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_FORMATTER_NAME" value="name" c:type="GES_META_FORMATTER_NAME">
|
|
<doc xml:space="preserve">The name of a formatter, used as the #GESAsset:id for #GESFormatter
|
|
assets (string).</doc>
|
|
|
|
<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 #GESFormatter (a #GstRank).</doc>
|
|
|
|
<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 #GESFormatter (double).</doc>
|
|
|
|
<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 (string).</doc>
|
|
|
|
<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">The ARGB color of a #GESMarker (an AARRGGBB hex as a uint).</doc>
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_VOLUME" value="volume" c:type="GES_META_VOLUME">
|
|
<doc xml:space="preserve">The volume for a #GESTrack or a #GESLayer (float).</doc>
|
|
|
|
<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 for a #GESTrack or a #GESLayer as a float.</doc>
|
|
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</constant>
|
|
<constant name="MULTI_FILE_URI_PREFIX" value="multifile://" c:type="GES_MULTI_FILE_URI_PREFIX">
|
|
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<class name="Marker" c:symbol-prefix="marker" c:type="GESMarker" version="1.18" parent="GObject.Object" glib:type-name="GESMarker" glib:get-type="ges_marker_get_type" glib:type-struct="MarkerClass">
|
|
<doc xml:space="preserve">A timed #GESMetaContainer object.</doc>
|
|
|
|
<implements name="MetaContainer"/>
|
|
<property name="position" version="1.18" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<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">A #GESMarker can be colored by setting the #GES_META_MARKER_COLOR meta.</doc>
|
|
|
|
<constructor name="new" c:identifier="ges_marker_list_new" version="1.18">
|
|
<doc xml:space="preserve">Creates a new #GESMarkerList.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">Moves a @marker in a @list to a new @position</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">Removes @marker from @list, this decreases the refcount of the
|
|
marker by 1.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">the position of the added marker</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="marker" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">the new position of the marker</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
<parameter name="marker" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">
|
|
|
|
<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">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>
|
|
|
|
<method name="add_metas_from_string" c:identifier="ges_meta_container_add_metas_from_string">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">The key for the @container field to check</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="flags" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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 on each of the meta container's set metadata
|
|
fields.</doc>
|
|
|
|
<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">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">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 current value of the specified field of the meta container.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 the set metadata fields of the meta container to a string.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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 the specified field of the meta container to the
|
|
given boolean value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given date value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given date time value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given double value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given float value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given int value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given int64 value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The value to set under @meta_item</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_marker_list" c:identifier="ges_meta_container_set_marker_list" version="1.18">
|
|
<doc xml:space="preserve">Sets the value of the specified field of the meta container to the
|
|
given marker list value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given string value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given uint value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the specified field of the meta container to the
|
|
given uint64 value.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="GESMetaContainer*"/>
|
|
</instance-parameter>
|
|
<parameter name="meta_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The value to set under @meta_item</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<glib:signal name="notify-meta" when="first" no-recurse="1" detailed="1" no-hooks="1">
|
|
<doc xml:space="preserve">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="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">The key for the @container field that changed</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The new value under @key</doc>
|
|
<type name="GObject.Value"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</interface>
|
|
<record name="MetaContainerInterface" c:type="GESMetaContainerInterface" glib:is-gtype-struct-for="MetaContainer">
|
|
|
|
<field name="parent_iface">
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<bitfield name="MetaFlag" glib:type-name="GESMetaFlag" glib:get-type="ges_meta_flag_get_type" c:type="GESMetaFlag">
|
|
<member name="readable" value="1" c:identifier="GES_META_READABLE" glib:nick="readable">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</member>
|
|
</bitfield>
|
|
<callback name="MetaForeachFunc" c:type="GESMetaForeachFunc">
|
|
<doc xml:space="preserve">A method to be called on all of a meta container's fields.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="container" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESMetaContainer</doc>
|
|
<type name="MetaContainer" c:type="const GESMetaContainer*"/>
|
|
</parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The set value under @key</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3">
|
|
<doc xml:space="preserve">User data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<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.
|
|
|
|
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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_multi_file_source_new">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="MultiFileSource" c:type="GESMultiFileSource*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<property name="uri" 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,
|
|
a stop index and a sequence pattern.
|
|
The format is &lt;multifile://start:stop\@location-pattern&gt;.
|
|
The pattern uses printf string formating.
|
|
|
|
Example uris:
|
|
|
|
multifile:///home/you/image\%03d.jpg
|
|
|
|
multifile://20:50@/home/you/sequence/\%04d.png</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="VideoSource" c:type="GESVideoSource"/>
|
|
</field>
|
|
<field name="uri" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="MultiFileSourcePrivate" c:type="GESMultiFileSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="MultiFileSourceClass" c:type="GESMultiFileSourceClass" glib:is-gtype-struct-for="MultiFileSource">
|
|
|
|
<field name="parent_class">
|
|
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="MultiFileSourcePrivate" c:type="GESMultiFileSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Operation" c:symbol-prefix="operation" c:type="GESOperation" parent="TrackElement" abstract="1" 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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="TrackElement" c:type="GESTrackElement"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="OperationPrivate" c:type="GESOperationPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="OperationClass" c:type="GESOperationClass" glib:is-gtype-struct-for="Operation">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="OperationClip" c:symbol-prefix="operation_clip" c:type="GESOperationClip" parent="Clip" abstract="1" 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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="Clip" c:type="GESClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="OperationClipPrivate" c:type="GESOperationClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="OperationClipClass" c:type="GESOperationClipClass" glib:is-gtype-struct-for="OperationClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="OperationClipPrivate" c:type="GESOperationClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="OperationPrivate" c:type="GESOperationPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="OverlayClip" c:symbol-prefix="overlay_clip" c:type="GESOverlayClip" parent="OperationClip" abstract="1" 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).
|
|
|
|
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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="OperationClip" c:type="GESOperationClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="OverlayClipPrivate" c:type="GESOverlayClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="OverlayClipClass" c:type="GESOverlayClipClass" glib:is-gtype-struct-for="OverlayClip">
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="OperationClipClass" c:type="GESOperationClipClass"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="OverlayClipPrivate" c:type="GESOverlayClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<constant name="PADDING" value="4" c:type="GES_PADDING">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="PADDING_LARGE" value="20" c:type="GES_PADDING_LARGE">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<class name="Pipeline" c:symbol-prefix="pipeline" c:type="GESPipeline" parent="Gst.Pipeline" glib:type-name="GESPipeline" glib:get-type="ges_pipeline_get_type" glib:type-struct="PipelineClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<implements name="Gst.ChildProxy"/>
|
|
<implements name="GstVideo.VideoOverlay"/>
|
|
<constructor name="new" c:identifier="ges_pipeline_new">
|
|
<doc xml:space="preserve">Creates a new pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The newly created pipeline.</doc>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="get_mode" c:identifier="ges_pipeline_get_mode">
|
|
<doc xml:space="preserve">Gets the #GESPipeline:mode of the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_thumbnail" c:identifier="ges_pipeline_get_thumbnail">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">Gets the #GESPipeline:audio-sink of the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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">Gets the #GESPipeline:video-sink of the pipeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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 the #GESPipeline:audio-sink of the pipeline.</doc>
|
|
|
|
<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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="sink" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 the #GESPipeline:video-sink of the pipeline.</doc>
|
|
|
|
<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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="sink" transfer-ownership="none">
|
|
<doc xml:space="preserve">A video sink for @self to use for preview</doc>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="save_thumbnail" c:identifier="ges_pipeline_save_thumbnail" throws="1">
|
|
<doc xml:space="preserve">Saves the currently displayed image of the pipeline in preview to the
|
|
given location, in the specified dimensions and format.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">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 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">Sets the #GESPipeline:mode of the pipeline.
|
|
|
|
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.
|
|
|
|
> **NOTE**: [Rendering settings](ges_pipeline_set_render_settings) need to be
|
|
> set before setting @mode to #GES_PIPELINE_MODE_RENDER or
|
|
> #GES_PIPELINE_MODE_SMART_RENDER, the call to this method will fail
|
|
> otherwise.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Specifies encoding setting 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="output_uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">Takes the given timeline and sets it as the #GESPipeline:timeline for
|
|
the pipeline.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Pipeline" c:type="GESPipeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="full">
|
|
<doc xml:space="preserve">The timeline to set for @pipeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="audio-filter" version="1.6.0" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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" version="1.6.0" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">
|
|
<type name="Gst.Pipeline" c:type="GstPipeline"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="PipelinePrivate" c:type="GESPipelinePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="PipelineClass" c:type="GESPipelineClass" glib:is-gtype-struct-for="Pipeline">
|
|
|
|
<field name="parent_class" readable="0" private="1">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="Gst.PipelineClass" c:type="GstPipelineClass"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<bitfield name="PipelineFlags" glib:type-name="GESPipelineFlags" glib:get-type="ges_pipeline_flags_get_type" c:type="GESPipelineFlags">
|
|
<doc xml:space="preserve">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 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 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 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 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 the #GESPipeline:timeline,
|
|
avoiding decoding/reencoding (the underlying #encodebin has its
|
|
#encodebin:avoid-reencoding property set to %TRUE).
|
|
> NOTE: Smart rendering can not work in tracks where #GESTrack:mixing
|
|
> is enabled.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="PipelinePrivate" c:type="GESPipelinePrivate" disguised="1">
|
|
|
|
</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">
|
|
<attribute name="doc.skip" value="true"/>
|
|
<doc xml:space="preserve">This is a legacy format and you should avoid to use it. The formatter
|
|
is really not in good shape and is deprecated.</doc>
|
|
|
|
<implements name="Extractable"/>
|
|
<constructor name="new" c:identifier="ges_pitivi_formatter_new">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="PitiviFormatter" c:type="GESPitiviFormatter*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<field name="parent">
|
|
<type name="Formatter" c:type="GESFormatter"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="PitiviFormatterPrivate" c:type="GESPitiviFormatterPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="PitiviFormatterClass" c:type="GESPitiviFormatterClass" glib:is-gtype-struct-for="PitiviFormatter">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="PitiviFormatterPrivate" c:type="GESPitiviFormatterPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Project" c:symbol-prefix="project" c:type="GESProject" parent="Asset" 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
|
|
means that you can extract #GESTimeline from a project as followed:
|
|
|
|
|[
|
|
GESProject *project;
|
|
GESTimeline *timeline;
|
|
|
|
project = ges_project_new ("file:///path/to/a/valid/project/uri");
|
|
|
|
// Here you can connect to the various signal to get more infos about
|
|
// what is happening and recover from errors if possible
|
|
...
|
|
|
|
timeline = ges_asset_extract (GES_ASSET (project));
|
|
]|
|
|
|
|
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.
|
|
|
|
## 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>
|
|
|
|
<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
|
|
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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly created #GESProject</doc>
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="asset_loading">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="asset_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</instance-parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="loaded">
|
|
|
|
<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" version="1.18">
|
|
|
|
<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 self</doc>
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">The loading timeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="loading_error">
|
|
|
|
<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="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="extractable_type" transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="missing_uri">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</instance-parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="wrong_asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_asset" c:identifier="ges_project_add_asset">
|
|
<doc xml:space="preserve">Adds a #GESAsset to @project, the project will keep a reference on
|
|
@asset.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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>
|
|
<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
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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
|
|
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">Adds a formatter as used to load @project</doc>
|
|
|
|
<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">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">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
|
|
"asset-added" signal to get the asset when it finally gets added to
|
|
@project</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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>
|
|
<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>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<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
|
|
"asset-added" signal to get the asset when it finally gets added to
|
|
@project</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_asset" c:identifier="ges_project_get_asset">
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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
|
|
to retrieve from @object</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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*">
|
|
<type name="Asset"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="project" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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
|
|
as defined by @filter. It copies the asset and thus will not be updated
|
|
in time.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The list of
|
|
#GESAsset the object contains</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Asset"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="project" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
all assets</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</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
|
|
is the latest added.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The
|
|
list of #GstEncodingProfile used in @project</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="GstPbutils.EncodingProfile"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="project" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="project" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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
|
|
is one of the timelines that have been extracted from @project
|
|
(using ges_asset_extract (@project);)</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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>
|
|
<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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="formatter_asset" 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 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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="uri" writable="1" construct-only="1" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="Asset" c:type="GESAsset"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="ProjectPrivate" c:type="GESProjectPrivate*"/>
|
|
</field>
|
|
<field name="__ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="asset-added" when="last">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GESAsset that has been added to @project</doc>
|
|
<type name="Asset"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="asset-loading" when="last" version="1.8">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GESAsset that started loading</doc>
|
|
<type name="Asset"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="asset-removed" when="last">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The timeline that failed loading</doc>
|
|
<type name="Timeline"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
missing GStreamer plugins, the error will be set to #GST_CORE_ERROR
|
|
#GST_CORE_ERROR_MISSING_PLUGIN</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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
|
|
failed loading</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="loaded" when="first">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The #GESTimeline that started loading</doc>
|
|
<type name="Timeline"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="missing-uri" when="last">
|
|
<doc xml:space="preserve">|[
|
|
static gchar
|
|
source_moved_cb (GESProject *project, GError *error, GESAsset *asset_with_error)
|
|
{
|
|
return g_strdup ("file:///the/new/uri.ogg");
|
|
}
|
|
|
|
static int
|
|
main (int argc, gchar ** argv)
|
|
{
|
|
GESTimeline *timeline;
|
|
GESProject *project = ges_project_new ("file:///some/uri.xges");
|
|
|
|
g_signal_connect (project, "missing-uri", source_moved_cb, NULL);
|
|
timeline = ges_asset_extract (GES_ASSET (project));
|
|
}
|
|
]|</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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
|
|
only to find out what the new location is.</doc>
|
|
<type name="Asset"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="ProjectClass" c:type="GESProjectClass" glib:is-gtype-struct-for="Project">
|
|
|
|
<field name="parent_class">
|
|
<type name="AssetClass" c:type="GESAssetClass"/>
|
|
</field>
|
|
<field name="asset_added">
|
|
<callback name="asset_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="asset_loading">
|
|
<callback name="asset_loading">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="asset_removed">
|
|
<callback name="asset_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</parameter>
|
|
<parameter name="asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="missing_uri">
|
|
<callback name="missing_uri">
|
|
|
|
<return-value transfer-ownership="full">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="wrong_asset" transfer-ownership="none">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="loading_error">
|
|
<callback name="loading_error">
|
|
|
|
<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="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</parameter>
|
|
<parameter name="extractable_type" transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="loaded">
|
|
<callback name="loaded">
|
|
|
|
<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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">The self</doc>
|
|
<type name="Project" c:type="GESProject*"/>
|
|
</parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">The loading timeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<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="Source" c:symbol-prefix="source" c:type="GESSource" parent="TrackElement" 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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="TrackElement" c:type="GESTrackElement"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="SourcePrivate" c:type="GESSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="SourceClass" c:type="GESSourceClass" glib:is-gtype-struct-for="Source">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="SourceClip" c:symbol-prefix="source_clip" c:type="GESSourceClip" parent="Clip" glib:type-name="GESSourceClip" glib:get-type="ges_source_clip_get_type" glib:type-struct="SourceClipClass">
|
|
<doc xml:space="preserve">#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>
|
|
|
|
<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">Creates a new #GESSourceClip that renders a time overlay on top</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="SourceClipPrivate" c:type="GESSourceClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<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" version="1.18" parent="ClipAsset" glib:type-name="GESSourceClipAsset" glib:get-type="ges_source_clip_asset_get_type" glib:type-struct="SourceClipAssetClass">
|
|
<doc xml:space="preserve">An asset types from which #GESSourceClip will be extracted</doc>
|
|
|
|
<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">
|
|
|
|
<field name="parent_class">
|
|
<type name="ClipAssetClass" c:type="GESClipAssetClass"/>
|
|
</field>
|
|
</record>
|
|
<record name="SourceClipClass" c:type="GESSourceClipClass" glib:is-gtype-struct-for="SourceClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="SourceClipPrivate" c:type="GESSourceClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="SourcePrivate" c:type="GESSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<function-macro name="TIMELINE_ELEMENT_DURATION" c:identifier="GES_TIMELINE_ELEMENT_DURATION" introspectable="0">
|
|
<doc xml:space="preserve">The #GESTimelineElement:duration of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The end position of @obj: #GESTimelineElement:start +
|
|
#GESTimelineElement:duration.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The #GESTimelineElement:in-point of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">See #ges_timeline_element_get_layer_priority.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The #GESTimelineElement:max-duration of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The #GESTimelineElement:name of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">Layer priority when a timeline element is not in any layer.</doc>
|
|
|
|
<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">The #GESTimelineElement:parent of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The #GESTimelineElement:priority of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The #GESTimelineElement:start of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">The #GESTimelineElement:timeline of @obj.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">A #GESTimelineElement</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIMELINE_GET_LAYERS" c:identifier="GES_TIMELINE_GET_LAYERS" introspectable="0">
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="TIMELINE_GET_TRACKS" c:identifier="GES_TIMELINE_GET_TRACKS" introspectable="0">
|
|
|
|
<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">What the default #GESTrackElement:has-internal-source value should be
|
|
for new elements from this class.</doc>
|
|
|
|
<parameters>
|
|
<parameter name="klass">
|
|
<doc xml:space="preserve">A #GESTrackElementClass</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="TestClip" c:symbol-prefix="test_clip" c:type="GESTestClip" parent="SourceClip" glib:type-name="GESTestClip" glib:get-type="ges_test_clip_get_type" glib:type-struct="TestClipClass">
|
|
<doc xml:space="preserve">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:
|
|
|
|
```
|
|
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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_test_clip_new">
|
|
<doc xml:space="preserve">Creates a new #GESTestClip.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="freq" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<type name="VideoTestPattern"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="SourceClip" c:type="GESSourceClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TestClipPrivate" c:type="GESTestClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TestClipClass" c:type="GESTestClipClass" glib:is-gtype-struct-for="TestClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TestClipPrivate" c:type="GESTestClipPrivate" disguised="1">
|
|
|
|
</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>
|
|
<member name="left" value="0" c:identifier="GES_TEXT_HALIGN_LEFT" glib:nick="left">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="right" value="2" c:identifier="GES_TEXT_HALIGN_RIGHT" glib:nick="right">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="absolute" value="5" c:identifier="GES_TEXT_HALIGN_ABSOLUTE" glib:nick="absolute">
|
|
</member>
|
|
</enumeration>
|
|
<class name="TextOverlay" c:symbol-prefix="text_overlay" c:type="GESTextOverlay" parent="Operation" glib:type-name="GESTextOverlay" glib:get-type="ges_text_overlay_get_type" glib:type-struct="TextOverlayClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_text_overlay_new" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="guint32" c:type="const guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TextHAlign" c:type="GESTextHAlign"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TextVAlign" c:type="GESTextVAlign"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="const gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="const gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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
|
|
will render.</doc>
|
|
|
|
<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>
|
|
<type name="TextOverlay" c:type="GESTextOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="font_desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TextOverlay" c:type="GESTextOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="halign" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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
|
|
made.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_valignment" c:identifier="ges_text_overlay_set_valignment">
|
|
<doc xml:space="preserve">Sets the vertical aligment of the text.</doc>
|
|
|
|
<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>
|
|
<type name="TextOverlay" c:type="GESTextOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="valign" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<type name="Operation" c:type="GESOperation"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TextOverlayPrivate" c:type="GESTextOverlayPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TextOverlayClass" c:type="GESTextOverlayClass" glib:is-gtype-struct-for="TextOverlay">
|
|
|
|
<field name="parent_class">
|
|
<type name="OperationClass" c:type="GESOperationClass"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="TextOverlayClip" c:symbol-prefix="text_overlay_clip" c:type="GESTextOverlayClip" parent="OverlayClip" 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>
|
|
|
|
<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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="guint32" c:type="const guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TextHAlign" c:type="GESTextHAlign"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TextVAlign" c:type="GESTextVAlign"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="const gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="const gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="font_desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="halign" transfer-ownership="none">
|
|
<doc xml:space="preserve">#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>
|
|
|
|
<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>
|
|
<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
|
|
made.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</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>
|
|
|
|
<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>
|
|
<type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="valign" transfer-ownership="none">
|
|
<doc xml:space="preserve">#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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="color" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="TextHAlign"/>
|
|
</property>
|
|
<property name="text" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="OverlayClip" c:type="GESOverlayClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TextOverlayClipPrivate" c:type="GESTextOverlayClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TextOverlayClipClass" c:type="GESTextOverlayClipClass" glib:is-gtype-struct-for="TextOverlayClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TextOverlayClipPrivate" c:type="GESTextOverlayClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="TextOverlayPrivate" c:type="GESTextOverlayPrivate" disguised="1">
|
|
|
|
</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>
|
|
<member name="baseline" value="0" c:identifier="GES_TEXT_VALIGN_BASELINE" glib:nick="baseline">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="top" value="2" c:identifier="GES_TEXT_VALIGN_TOP" glib:nick="top">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</member>
|
|
<member name="absolute" value="5" c:identifier="GES_TEXT_VALIGN_ABSOLUTE" glib:nick="absolute">
|
|
</member>
|
|
</enumeration>
|
|
<class name="Timeline" c:symbol-prefix="timeline" c:type="GESTimeline" parent="Gst.Bin" 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.
|
|
|
|
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 < endB` and `startB < endA `.
|
|
|
|
Note that when `startA = endB` or `startB = endA` then the two sources
|
|
will *touch* at their edges, but are not considered overlapping.
|
|
|
|
If, in addition, `startA < startB < endA`, then we can say that the
|
|
end of `A` overlaps the start of `B`.
|
|
|
|
If, instead, `startA <= startB` and `endA >= endB`, then we can say
|
|
that `A` fully overlaps `B`.
|
|
|
|
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>
|
|
|
|
<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 timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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 timeline containing a single #GESAudioTrack and a
|
|
single #GESVideoTrack.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<virtual-method name="group_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="group" transfer-ownership="none">
|
|
<type name="Group" c:type="GESGroup*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="group_removed" introspectable="0">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="group" transfer-ownership="none">
|
|
<type name="Group" c:type="GESGroup*"/>
|
|
</parameter>
|
|
<parameter name="children" transfer-ownership="none">
|
|
<array name="GLib.PtrArray" c:type="GPtrArray*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="layer_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="layer_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="track_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="track_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_layer" c:identifier="ges_timeline_add_layer" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<doc xml:space="preserve">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.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="full">
|
|
<doc xml:space="preserve">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 layer to the timeline. The layer will
|
|
be added at the lowest #GESLayer:priority (numerically, the highest).</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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.
|
|
|
|
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 before receiving this signal. You can use
|
|
ges_timeline_commit_sync() if you do not want to perform other tasks in
|
|
the mean time.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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 clips contained in the
|
|
timeline and wait for the changes to complete.
|
|
|
|
See ges_timeline_commit().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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 #GESTimeline:auto-transition for the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 #GESTimeline:duration of the timeline</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 the element contained in the timeline with the given name.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of the element to find</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frame_at" c:identifier="ges_timeline_get_frame_at" version="1.18">
|
|
<doc xml:space="preserve">This method allows you to convert a timeline #GstClockTime into its
|
|
corresponding #GESFrameNumber in the timeline's output.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">Get the list of #GESGroup-s present in the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 whose index in the timeline matches the given
|
|
priority.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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 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/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-s present in the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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 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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #GESTimeline:snapping-distance for the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 for the #GESTrack corresponding to the given timeline's pad.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Get the list of #GESTrack-s used by the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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 the timeline is empty or not.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<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 timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<doc xml:space="preserve">The URI to load from</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="move_layer" c:identifier="ges_timeline_move_layer" version="1.16">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="timeline" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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 @element should be pasted</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 @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 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 a layer from the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 a track from the timeline.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<doc xml:space="preserve">The track to remove</doc>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<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. 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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>
|
|
<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</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>
|
|
<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 #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>
|
|
|
|
<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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="auto_transition" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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>
|
|
|
|
<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">The #GESTimeline</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</instance-parameter>
|
|
<parameter name="snapping_distance" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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-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">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="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" 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 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 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 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 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 group that was removed from @timeline</doc>
|
|
<type name="Group"/>
|
|
</parameter>
|
|
<parameter name="children" transfer-ownership="none">
|
|
<doc xml:space="preserve">A list
|
|
of #GESContainer-s that _were_ the children of the removed @group</doc>
|
|
<array name="GLib.PtrArray">
|
|
<type name="Container"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="layer-added" when="first">
|
|
<doc xml:space="preserve">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 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 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 layer that was removed from @timeline</doc>
|
|
<type name="Layer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="select-element-track" when="last" version="1.18">
|
|
<doc xml:space="preserve">Simplified version of #GESTimeline::select-tracks-for-object which only
|
|
allows @track_element to be added to a single #GESTrack.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A track to put @track_element into, or %NULL if
|
|
it should be discarded.</doc>
|
|
<type name="Track"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="clip" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 element being added</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="select-tracks-for-object" when="last">
|
|
<doc xml:space="preserve">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">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 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 element being added</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
<glib:signal name="snapping-ended" when="last">
|
|
<doc xml:space="preserve">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="obj1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The first element that was snapping</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
<parameter name="obj2" transfer-ownership="none">
|
|
<doc xml:space="preserve">The second element that was snapping</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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="obj1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The first element that is snapping</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
<parameter name="obj2" transfer-ownership="none">
|
|
<doc xml:space="preserve">The second element that is snapping</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
<parameter name="position" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 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 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 track that was removed from @timeline</doc>
|
|
<type name="Track"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="TimelineClass" c:type="GESTimelineClass" glib:is-gtype-struct-for="Timeline">
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="Gst.BinClass" c:type="GstBinClass"/>
|
|
</field>
|
|
<field name="track_added">
|
|
<callback name="track_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="track_removed">
|
|
<callback name="track_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="layer_added">
|
|
<callback name="layer_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="layer_removed">
|
|
<callback name="layer_removed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
<parameter name="layer" transfer-ownership="none">
|
|
<type name="Layer" c:type="GESLayer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="group_added">
|
|
<callback name="group_added">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
<parameter name="group" transfer-ownership="none">
|
|
<type name="Group" c:type="GESGroup*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="group_removed" introspectable="0">
|
|
<callback name="group_removed" introspectable="0">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
<parameter name="group" transfer-ownership="none">
|
|
<type name="Group" c:type="GESGroup*"/>
|
|
</parameter>
|
|
<parameter name="children" transfer-ownership="none">
|
|
<array name="GLib.PtrArray" c:type="GPtrArray*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="TimelineElement" c:symbol-prefix="timeline_element" c:type="GESTimelineElement" parent="GObject.InitiallyUnowned" abstract="1" glib:type-name="GESTimelineElement" glib:get-type="ges_timeline_element_get_type" glib:type-struct="TimelineElementClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<virtual-method name="deep_copy">
|
|
|
|
<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="copy" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_layer_priority" invoker="get_layer_priority" version="1.16">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_children_properties" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_properties" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="lookup_child" invoker="lookup_child">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="prop_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of a child property</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="child" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The return location for the
|
|
found child</doc>
|
|
<type name="GObject.Object" c:type="GObject**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="ref_element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="paste_position" transfer-ownership="none">
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="ripple" invoker="ripple">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new start time of @self in roll mode</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_child_property" version="1.16">
|
|
<doc xml:space="preserve">Method for setting the child property given by
|
|
@pspec on @child to @value. Default implementation will use
|
|
g_object_set_property().</doc>
|
|
|
|
<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" version="1.18" throws="1">
|
|
<doc xml:space="preserve">Similar to @set_child_property, except setting can fail, with the @error
|
|
being optionally set. Default implementation will call @set_child_property
|
|
and return %TRUE.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</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="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_duration" invoker="set_duration">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">The desired duration in its timeline</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_inpoint" invoker="set_inpoint">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="inpoint" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" invoker="set_max_duration">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="maxduration" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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
|
|
@parent (nullable): New parent of @self</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_priority" invoker="set_priority" deprecated="1" deprecated-version="1.10">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="priority" transfer-ownership="none">
|
|
<doc xml:space="preserve">The priority</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_start" invoker="set_start">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="deep" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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">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/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">The edit mode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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">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">The edit mode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 several of the children properties of the element. See
|
|
ges_timeline_element_get_child_property().</doc>
|
|
|
|
<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>
|
|
<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 child property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Gets 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 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.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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 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">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 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>
|
|
|
|
<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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">The return location for the value</doc>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_property_valist" c:identifier="ges_timeline_element_get_child_property_valist" introspectable="0">
|
|
<doc xml:space="preserve">Gets several of the children properties of the element. See
|
|
ges_timeline_element_get_child_property().</doc>
|
|
|
|
<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>
|
|
<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 child property to get</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
<doc xml:space="preserve">Gets the #GESTimelineElement:duration for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_inpoint" c:identifier="ges_timeline_element_get_inpoint">
|
|
<doc xml:space="preserve">Gets the #GESTimelineElement:in-point for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">
|
|
<doc xml:space="preserve">Gets the #GESTimelineElement:max-duration for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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">Gets the #GESTimelineElement:name for the element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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">Gets the #GESTimelineElement:parent for the element.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_priority" c:identifier="ges_timeline_element_get_priority">
|
|
<doc xml:space="preserve">Gets the #GESTimelineElement:priority for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_start" c:identifier="ges_timeline_element_get_start">
|
|
<doc xml:space="preserve">Gets the #GESTimelineElement:start for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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">Gets the #GESTimelineElement:timeline for the element.</doc>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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:parent of the element.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_track_types" c:identifier="ges_timeline_element_get_track_types" version="1.6.0">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="prop_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of a child property</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="child" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The return location for the
|
|
found child</doc>
|
|
<type name="GObject.Object" c:type="GObject**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The return location for the
|
|
specification of the child property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="paste" c:identifier="ges_timeline_element_paste" version="1.6.0">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="paste_position" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new start time of @self in roll mode</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_child_properties" c:identifier="ges_timeline_element_set_child_properties" introspectable="0">
|
|
<doc xml:space="preserve">Sets several of the children properties of the element. See
|
|
ges_timeline_element_set_child_property().</doc>
|
|
|
|
<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>
|
|
<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 child property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">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">See ges_timeline_element_set_child_property_full(), which also gives an
|
|
error.
|
|
|
|
Note that ges_timeline_element_set_child_properties() may be more
|
|
convenient for C programming.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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 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 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 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>
|
|
|
|
<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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="pspec" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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 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 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 several of the children properties of the element. See
|
|
ges_timeline_element_set_child_property().</doc>
|
|
|
|
<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>
|
|
<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 child property to set</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="var_args" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="inpoint" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="maxduration" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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</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 #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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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
|
|
@parent (nullable): New parent of @self</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_priority" c:identifier="ges_timeline_element_set_priority" deprecated="1" deprecated-version="1.10">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="priority" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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
|
|
@timeline (nullable): The #GESTimeline @self should be in</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="trim" c:identifier="ges_timeline_element_trim">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 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.
|
|
|
|
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 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 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 element.</doc>
|
|
<type name="TimelineElement"/>
|
|
</property>
|
|
<property name="priority" deprecated="1" deprecated-version="1.10" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="start" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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: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>
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</field>
|
|
<field name="start">
|
|
<doc xml:space="preserve">The #GESTimelineElement:start of the element</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="inpoint">
|
|
<doc xml:space="preserve">The #GESTimelineElement:in-point of the element</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="duration">
|
|
<doc xml:space="preserve">The #GESTimelineElement:duration of the element</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="maxduration">
|
|
<doc xml:space="preserve">The #GESTimelineElement:max-duration of the element</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="priority">
|
|
<doc xml:space="preserve">The #GESTimelineElement:priority of the element</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="timeline">
|
|
<doc xml:space="preserve">The #GESTimelineElement:timeline of the element</doc>
|
|
<type name="Timeline" c:type="GESTimeline*"/>
|
|
</field>
|
|
<field name="name">
|
|
<doc xml:space="preserve">The #GESTimelineElement:name of the element</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TimelineElementPrivate" c:type="GESTimelineElementPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="child-property-added" when="first" version="1.18">
|
|
<doc xml:space="preserve">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">The child whose property has been registered</doc>
|
|
<type name="GObject.Object"/>
|
|
</parameter>
|
|
<parameter name="prop" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<doc xml:space="preserve">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">The child whose property has been unregistered</doc>
|
|
<type name="GObject.Object"/>
|
|
</parameter>
|
|
<parameter name="prop" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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 child whose property has been set</doc>
|
|
<type name="GObject.Object"/>
|
|
</parameter>
|
|
<parameter name="prop" transfer-ownership="none">
|
|
<doc xml:space="preserve">The specification for the property that been set</doc>
|
|
<type name="GObject.ParamSpec"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<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
|
|
@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 emitting the notify signal.</doc>
|
|
|
|
<field name="parent_class">
|
|
<type name="GObject.InitiallyUnownedClass" c:type="GInitiallyUnownedClass"/>
|
|
</field>
|
|
<field name="set_parent">
|
|
<callback name="set_parent">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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
|
|
@parent (nullable): New parent of @self</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="parent" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_start">
|
|
<callback name="set_start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The desired start position of the element in its timeline</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_inpoint">
|
|
<callback name="set_inpoint">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="inpoint" transfer-ownership="none">
|
|
<doc xml:space="preserve">The in-point, in internal time coordinates</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_duration">
|
|
<callback name="set_duration">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">The desired duration in its timeline</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_max_duration">
|
|
<callback name="set_max_duration">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="maxduration" transfer-ownership="none">
|
|
<doc xml:space="preserve">The maximum duration, in internal time coordinates</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_priority">
|
|
<callback name="set_priority">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="priority" transfer-ownership="none">
|
|
<doc xml:space="preserve">The priority</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="ripple">
|
|
<callback name="ripple">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new start time of @self in ripple mode</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="ripple_end">
|
|
<callback name="ripple_end">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new end time of @self in ripple mode</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="roll_start">
|
|
<callback name="roll_start">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new start time of @self in roll mode</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="roll_end">
|
|
<callback name="roll_end">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new end time of @self in roll mode</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="trim">
|
|
<callback name="trim">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new start time of @self in trim mode</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="deep_copy">
|
|
<callback name="deep_copy">
|
|
|
|
<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="copy" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="paste" introspectable="0">
|
|
<callback name="paste" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="ref_element" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="paste_position" transfer-ownership="none">
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="list_children_properties" introspectable="0">
|
|
<callback name="list_children_properties" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="n_properties" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="lookup_child">
|
|
<callback name="lookup_child">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
<parameter name="prop_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">The name of a child property</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="child" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The return location for the
|
|
found child</doc>
|
|
<type name="GObject.Object" c:type="GObject**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">The return location for the
|
|
specification of the child property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_track_types">
|
|
<callback name="get_track_types">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_child_property">
|
|
<callback name="set_child_property">
|
|
|
|
<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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESTimelineElement</doc>
|
|
<type name="TimelineElement" c:type="GESTimelineElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_natural_framerate">
|
|
<callback name="get_natural_framerate">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">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">
|
|
|
|
<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">
|
|
<array zero-terminated="0" fixed-size="14">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TimelineElementPrivate" c:type="GESTimelineElementPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="TimelinePrivate" c:type="GESTimelinePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="TitleClip" c:symbol-prefix="title_clip" c:type="GESTitleClip" parent="SourceClip" 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
|
|
with the specified background pattern.</doc>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_title_clip_new">
|
|
<doc xml:space="preserve">Creates a new #GESTitleClip</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_halignment" c:identifier="ges_title_clip_get_halignment" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_text" c:identifier="ges_title_clip_get_text" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_valignment" c:identifier="ges_title_clip_get_valignment" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_xpos" c:identifier="ges_title_clip_get_xpos" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_ypos" c:identifier="ges_title_clip_get_ypos" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">Get the vertical position used by @self.</doc>
|
|
<doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_property instead</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_background" c:identifier="ges_title_clip_set_background" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_color" c:identifier="ges_title_clip_set_color" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_font_desc" c:identifier="ges_title_clip_set_font_desc" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="font_desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="halign" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GESTextHAlign</doc>
|
|
<type name="TextHAlign" c:type="GESTextHAlign"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_text" c:identifier="ges_title_clip_set_text" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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
|
|
made.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_valignment" c:identifier="ges_title_clip_set_valignment" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TitleClip" c:type="GESTitleClip*"/>
|
|
</instance-parameter>
|
|
<parameter name="valign" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GESTextVAlign</doc>
|
|
<type name="TextVAlign" c:type="GESTextVAlign"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_xpos" c:identifier="ges_title_clip_set_xpos" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_ypos" c:identifier="ges_title_clip_set_ypos" deprecated="1" deprecated-version="1.6">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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_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_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_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_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_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_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_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_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">
|
|
<type name="SourceClip" c:type="GESSourceClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TitleClipPrivate" c:type="GESTitleClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TitleClipClass" c:type="GESTitleClipClass" glib:is-gtype-struct-for="TitleClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TitleClipPrivate" c:type="GESTitleClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="TitleSource" c:symbol-prefix="title_source" c:type="GESTitleSource" parent="VideoSource" 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.</doc>
|
|
|
|
<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>
|
|
<type name="guint32" c:type="const guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" deprecated="1" deprecated-version="1.16">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="TextHAlign" c:type="GESTextHAlign"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GESTitleSource</doc>
|
|
<type name="TitleSource" c:type="GESTitleSource*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_text" c:identifier="ges_title_source_get_text" deprecated="1" deprecated-version="1.16">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="guint32" c:type="const guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TextVAlign" c:type="GESTextVAlign"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="const gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gdouble" c:type="const gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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
|
|
the text.</doc>
|
|
|
|
<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>
|
|
<type name="TitleSource" c:type="GESTitleSource*"/>
|
|
</instance-parameter>
|
|
<parameter name="font_desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TitleSource" c:type="GESTitleSource*"/>
|
|
</instance-parameter>
|
|
<parameter name="halign" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GESTextHAlign</doc>
|
|
<type name="TextHAlign" c:type="GESTextHAlign"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<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-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
|
|
GESTrackElement instead</doc-deprecated>
|
|
|
|
<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>
|
|
<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
|
|
made.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<type name="TitleSource" c:type="GESTitleSource*"/>
|
|
</instance-parameter>
|
|
<parameter name="valign" transfer-ownership="none">
|
|
<doc xml:space="preserve">#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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<type name="VideoSource" c:type="GESVideoSource"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TitleSourcePrivate" c:type="GESTitleSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TitleSourceClass" c:type="GESTitleSourceClass" glib:is-gtype-struct-for="TitleSource">
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="3">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TitleSourcePrivate" c:type="GESTitleSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="Track" c:symbol-prefix="track" c:type="GESTrack" parent="Gst.Bin" glib:type-name="GESTrack" glib:get-type="ges_track_get_type" glib:type-struct="TrackClass">
|
|
<doc xml:space="preserve">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.
|
|
|
|
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>
|
|
|
|
<implements name="MetaContainer"/>
|
|
<implements name="Gst.ChildProxy"/>
|
|
<constructor name="new" c:identifier="ges_track_new">
|
|
<doc xml:space="preserve">Creates a new track with the given track-type and caps.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A new track.</doc>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #GESTrack:caps for the track</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<virtual-method name="get_mixing_element" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="track" transfer-ownership="none">
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_element" c:identifier="ges_track_add_element">
|
|
<doc xml:space="preserve">See ges_track_add_element(), which also gives an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Adds the given track element to the track, which takes ownership of the
|
|
element.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 for the elements contained in the
|
|
track.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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 #GESTrack:caps of the track.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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 track elements contained in the track. The returned list is
|
|
sorted by the element's #GESTimelineElement:priority and
|
|
#GESTimelineElement:start.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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 the #GESTrack:mixing of the track.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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">Gets the #GESTrack:restriction-caps of the track.</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">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 timeline this track belongs to.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_element" c:identifier="ges_track_remove_element">
|
|
<doc xml:space="preserve">See ges_track_remove_element_full(), which also returns an error.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Removes the given track element from the track, which revokes
|
|
ownership of the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The element to remove</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<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 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>
|
|
|
|
<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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="notified">
|
|
<doc xml:space="preserve">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 the #GESTrack:mixing for the track.</doc>
|
|
|
|
<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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="mixing" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #GESTrack:restriction-caps for the track.
|
|
|
|
> **NOTE**: Restriction caps are **not** taken into account when
|
|
> using #GESPipeline:mode=#GES_PIPELINE_MODE_SMART_RENDER.</doc>
|
|
|
|
<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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<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
|
|
@timeline (nullable): A #GESTimeline</doc>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeline" transfer-ownership="none">
|
|
<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 #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.
|
|
|
|
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>
|
|
|
|
<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>
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">The caps to update the restriction-caps with</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="caps" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #NleObject: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
|
|
|
|
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">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 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">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"/>
|
|
</property>
|
|
<property name="track-type" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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.
|
|
|
|
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">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" 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_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 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 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 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 element that was removed</doc>
|
|
<type name="TrackElement"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="TrackClass" c:type="GESTrackClass" glib:is-gtype-struct-for="Track">
|
|
|
|
<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">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="track" transfer-ownership="none">
|
|
<type name="Track" c:type="GESTrack*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="TrackElement" c:symbol-prefix="track_element" c:type="GESTrackElement" parent="TimelineElement" abstract="1" glib:type-name="GESTrackElement" glib:get-type="ges_track_element_get_type" glib:type-struct="TrackElementClass">
|
|
<doc xml:space="preserve">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.
|
|
|
|
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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<virtual-method name="active_changed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="changed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="create_element" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="create_gnl_object" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_children_properties" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_properties" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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
|
|
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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="element" direction="out" caller-allocates="0" 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>
|
|
<type name="Gst.Element" c:type="GstElement**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to take the specification
|
|
describing the property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_children_props" c:identifier="ges_track_element_add_children_props">
|
|
<doc xml:space="preserve">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().
|
|
|
|
This is intended to be used by subclasses when constructing.</doc>
|
|
|
|
<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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="element" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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>
|
|
<parameter name="blacklist" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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>
|
|
<parameter name="whitelist" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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="clamp_control_source" c:identifier="ges_track_element_clamp_control_source" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="property_name" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Edits the element within its track.</doc>
|
|
<doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="layers" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">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 edit mode</doc>
|
|
<type name="EditMode" c:type="GESEditMode"/>
|
|
</parameter>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="trackelement" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Gets #GESTrackElement:auto-clamp-control-sources.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESTrackElement</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_properties" 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-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_properties</doc-deprecated>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_property" 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
|
|
the caller is responsible for freeing the memory by calling
|
|
g_value_unset().
|
|
|
|
Gets a property of a GstElement contained in @object.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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>
|
|
<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>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_property_by_pspec" 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-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_by_pspec</doc-deprecated>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<type name="GObject.Value" c:type="GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_child_property_valist" 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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_control_binding" c:identifier="ges_track_element_get_control_binding">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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">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 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 that the track element's underlying nleobject
|
|
controls.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_gnlobject" c:identifier="ges_track_element_get_gnlobject" deprecated="1">
|
|
<doc xml:space="preserve">Get the GNonLin object this object is controlling.</doc>
|
|
<doc-deprecated xml:space="preserve">use #ges_track_element_get_nleobject instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_nleobject" c:identifier="ges_track_element_get_nleobject" version="1.6">
|
|
<doc xml:space="preserve">Get the nleobject that this element wraps.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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 #GESTrackElement:track for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_track_type" c:identifier="ges_track_element_get_track_type">
|
|
<doc xml:space="preserve">Gets the #GESTrackElement:track-type for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">A #GESTrackElement</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_internal_source" c:identifier="ges_track_element_has_internal_source" version="1.18">
|
|
<doc xml:space="preserve">Gets #GESTrackElement:has-internal-source for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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">Gets #GESTrackElement:active for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTrackElement</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<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
|
|
children of @object.</doc>
|
|
<doc-deprecated xml:space="preserve">Use #ges_timeline_element_list_children_properties</doc-deprecated>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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
|
|
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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="element" direction="out" caller-allocates="0" 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>
|
|
<type name="Gst.Element" c:type="GstElement**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to take the specification
|
|
describing the property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="remove_control_binding" c:identifier="ges_track_element_remove_control_binding">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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 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 #GESTrackElement:active for the element.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Sets #GESTrackElement:auto-clamp-control-sources. If set to %TRUE, this
|
|
will immediately clamp all the control sources.</doc>
|
|
|
|
<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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="auto_clamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to automatically clamp the control sources for the
|
|
child properties of @object</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_child_properties" 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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_child_property" 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.
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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>
|
|
<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>
|
|
<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*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_child_property_by_pspec" 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-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_by_spec</doc-deprecated>
|
|
|
|
<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>
|
|
<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>
|
|
<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*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_child_property_valist" 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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<type name="va_list" c:type="va_list"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_control_source" c:identifier="ges_track_element_set_control_source">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTrackElement</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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 ("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" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESTrackElement</doc>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="has_internal_source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">Sets the #GESTrackElement:track-type for the element.</doc>
|
|
|
|
<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>
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">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 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" version="1.18" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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">
|
|
<type name="TimelineElement" c:type="GESTimelineElement"/>
|
|
</field>
|
|
<field name="active" readable="0" private="1">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TrackElementPrivate" c:type="GESTrackElementPrivate*"/>
|
|
</field>
|
|
<field name="asset" readable="0" private="1">
|
|
<type name="Asset" c:type="GESAsset*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<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">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 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">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 control binding that has been removed</doc>
|
|
<type name="Gst.ControlBinding"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<class name="TrackElementAsset" c:symbol-prefix="track_element_asset" c:type="GESTrackElementAsset" parent="Asset" glib:type-name="GESTrackElementAsset" glib:get-type="ges_track_element_asset_get_type" glib:type-struct="TrackElementAssetClass">
|
|
|
|
<implements name="MetaContainer"/>
|
|
<implements name="Gio.AsyncInitable"/>
|
|
<implements name="Gio.Initable"/>
|
|
<virtual-method name="get_natural_framerate" invoker="get_natural_framerate" version="1.18">
|
|
<doc xml:space="preserve">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESAsset</doc>
|
|
<type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="framerate_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">The framerate numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="framerate_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<doc xml:space="preserve">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
|
|
|
|
<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">A #GESAsset</doc>
|
|
<type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="framerate_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">The framerate numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="framerate_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
should get into</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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 #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 #GESTrackType the #GESTrackElement extracted from @self
|
|
should get into</doc>
|
|
|
|
<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 #GESAsset</doc>
|
|
<type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESTrackType</doc>
|
|
<type name="TrackType" c:type="GESTrackType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="track-type" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="TrackType"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="Asset" c:type="GESAsset"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TrackElementAssetPrivate" c:type="GESTrackElementAssetPrivate*"/>
|
|
</field>
|
|
<field name="__ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TrackElementAssetClass" c:type="GESTrackElementAssetClass" glib:is-gtype-struct-for="TrackElementAsset">
|
|
|
|
<field name="parent_class">
|
|
<type name="AssetClass" c:type="GESAssetClass"/>
|
|
</field>
|
|
<field name="get_natural_framerate">
|
|
<callback name="get_natural_framerate">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @self has a natural framerate @FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GESAsset</doc>
|
|
<type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
|
|
</parameter>
|
|
<parameter name="framerate_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">The framerate numerator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="framerate_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">The framerate denominator</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="3">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TrackElementAssetPrivate" c:type="GESTrackElementAssetPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="TrackElementClass" c:type="GESTrackElementClass" glib:is-gtype-struct-for="TrackElement">
|
|
|
|
<field name="parent_class" readable="0" private="1">
|
|
<type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
|
|
</field>
|
|
<field name="nleobject_factorytype">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="create_element" introspectable="0">
|
|
<callback name="create_element" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="active_changed">
|
|
<callback name="active_changed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="changed">
|
|
<callback name="changed">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="list_children_properties" introspectable="0">
|
|
<callback name="list_children_properties" introspectable="0">
|
|
|
|
<return-value>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
<parameter name="n_properties" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="lookup_child">
|
|
<callback name="lookup_child">
|
|
|
|
<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>
|
|
<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>
|
|
<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
|
|
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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="element" direction="out" caller-allocates="0" 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>
|
|
<type name="Gst.Element" c:type="GstElement**"/>
|
|
</parameter>
|
|
<parameter name="pspec" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to take the specification
|
|
describing the property</doc>
|
|
<type name="GObject.ParamSpec" c:type="GParamSpec**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<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">
|
|
|
|
<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">
|
|
|
|
</record>
|
|
<record name="TrackPrivate" c:type="GESTrackPrivate" disguised="1">
|
|
|
|
</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
|
|
@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.
|
|
|
|
@GES_TRACK_TYPE_UNKNOWN is for internal purposes and should not be used
|
|
by users</doc>
|
|
<member name="unknown" value="1" c:identifier="GES_TRACK_TYPE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="video" value="4" c:identifier="GES_TRACK_TYPE_VIDEO" glib:nick="video">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="custom" value="16" c:identifier="GES_TRACK_TYPE_CUSTOM" glib:nick="custom">
|
|
<doc xml:space="preserve">A custom-content track</doc>
|
|
</member>
|
|
<function name="name" c:identifier="ges_track_type_name">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<type name="TrackType" c:type="GESTrackType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</bitfield>
|
|
<class name="Transition" c:symbol-prefix="transition" c:type="GESTransition" parent="Operation" abstract="1" 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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="Operation" c:type="GESOperation"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TransitionPrivate" c:type="GESTransitionPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TransitionClass" c:type="GESTransitionClass" glib:is-gtype-struct-for="Transition">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="TransitionClip" c:symbol-prefix="transition_clip" c:type="GESTransitionClip" parent="BaseTransitionClip" 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.
|
|
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.
|
|
|
|
The shape of the video transition depends on the value of the "vtype"
|
|
property. The default value is "crossfade". For audio, only "crossfade" is
|
|
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>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_transition_clip_new">
|
|
<doc xml:space="preserve">Creates a new #GESTransitionClip.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</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>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<type name="utf8" c:type="char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<property name="vtype" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
to apply.</doc>
|
|
<type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="TransitionClipPrivate" c:type="GESTransitionClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="TransitionClipClass" c:type="GESTransitionClipClass" glib:is-gtype-struct-for="TransitionClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="TransitionClipPrivate" c:type="GESTransitionClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="TransitionPrivate" c:type="GESTransitionPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="UriClip" c:symbol-prefix="uri_clip" c:type="GESUriClip" parent="SourceClip" 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
|
|
the URI points to a file of some type.</doc>
|
|
|
|
<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.
|
|
|
|
> **WARNING**: This function might 'discover` @uri **synchrounously**, it is
|
|
> an IO and processing intensive task that you probably don't want to run in
|
|
> an application mainloop. Have a look at #ges_asset_request_async to see how
|
|
> to make that operation happen **asynchronously**.</doc>
|
|
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="is-image" 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
|
|
before create_track_elements is called.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="mute" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether the sound will be played or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="supported-formats" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="TrackType"/>
|
|
</property>
|
|
<property name="uri" writable="1" construct-only="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">The location of the file/resource to use.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="SourceClip" c:type="GESSourceClip"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="UriClipPrivate" c:type="GESUriClipPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<class name="UriClipAsset" c:symbol-prefix="uri_clip_asset" c:type="GESUriClipAsset" parent="SourceClipAsset" glib:type-name="GESUriClipAsset" glib:get-type="ges_uri_clip_asset_get_type" glib:type-struct="UriClipAssetClass">
|
|
|
|
<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">Finalize the request of an async #GESUriClipAsset</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The #GESUriClipAsset previously requested</doc>
|
|
<type name="UriClipAsset" c:type="GESUriClipAsset*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="res" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
|
|
Example of request of a GESUriClipAsset:
|
|
|[
|
|
// The request callback
|
|
static void
|
|
filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
|
|
{
|
|
GError *error = NULL;
|
|
GESUriClipAsset *filesource_asset;
|
|
|
|
filesource_asset = ges_uri_clip_asset_finish (res, &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))
|
|
ges_uri_clip_asset_is_image (filesource_asset) ? "" : " not",
|
|
GST_TIME_ARGS (ges_uri_clip_asset_get_duration (filesource_asset));
|
|
} else {
|
|
g_print ("The file: %s is *not* usable as a FileSource because: %s",
|
|
ges_asset_get_id (source), error->message);
|
|
}
|
|
|
|
gst_object_unref (mfs);
|
|
}
|
|
|
|
// The request:
|
|
ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);
|
|
]|</doc>
|
|
|
|
<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>
|
|
<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>
|
|
<type name="Gio.Cancellable" c:type="GCancellable*"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" nullable="1" allow-none="1" scope="async" closure="3">
|
|
<doc xml:space="preserve">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>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<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
|
|
to use it in application, and rather create #GESUriClipAsset asynchronously</doc>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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.
|
|
You can also use multi file uris for #GESMultiFileSource.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</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>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="GstPbutils.DiscovererInfo" c:type="GstDiscovererInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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
|
|
#GList of #GESUriSourceAsset</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="UriSourceAsset"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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" version="1.18">
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</property>
|
|
<property name="is-nested-timeline" version="1.18" transfer-ownership="none">
|
|
<doc xml:space="preserve">The duration (in nanoseconds) of the media file</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="parent">
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="UriClipAssetClass" c:type="GESUriClipAssetClass" glib:is-gtype-struct-for="UriClipAsset">
|
|
|
|
<field name="parent_class">
|
|
<type name="SourceClipAssetClass" c:type="GESSourceClipAssetClass"/>
|
|
</field>
|
|
<field name="discoverer" readable="0" private="1">
|
|
<type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
|
|
</field>
|
|
<field name="sync_discoverer" readable="0" private="1">
|
|
<type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
|
|
</field>
|
|
<field name="discovered">
|
|
<callback name="discovered">
|
|
|
|
<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" 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>
|
|
|
|
<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>
|
|
<type name="UriClipAssetClass" c:type="GESUriClipAssetClass*"/>
|
|
</instance-parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">The timeout to set</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="UriClipAssetPrivate" c:type="GESUriClipAssetPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="UriClipClass" c:type="GESUriClipClass" glib:is-gtype-struct-for="UriClip">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="UriClipPrivate" c:type="GESUriClipPrivate" disguised="1">
|
|
|
|
</record>
|
|
<record name="UriSource" c:type="GESUriSource" disguised="1">
|
|
<attribute name="doc.skip" value="true"/>
|
|
|
|
</record>
|
|
<class name="UriSourceAsset" c:symbol-prefix="uri_source_asset" c:type="GESUriSourceAsset" parent="TrackElementAsset" glib:type-name="GESUriSourceAsset" glib:get-type="ges_uri_source_asset_get_type" glib:type-struct="UriSourceAssetClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<type name="GstPbutils.DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="asset" transfer-ownership="none">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="asset" transfer-ownership="none">
|
|
<type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_image" c:identifier="ges_uri_source_asset_is_image" version="1.18">
|
|
<doc xml:space="preserve">Check if @asset contains a single image</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">A #GESUriClipAsset</doc>
|
|
<type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent">
|
|
<type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="UriSourceAssetPrivate" c:type="GESUriSourceAssetPrivate*"/>
|
|
</field>
|
|
<field name="__ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="UriSourceAssetClass" c:type="GESUriSourceAssetClass" glib:is-gtype-struct-for="UriSourceAsset">
|
|
|
|
<field name="parent_class">
|
|
<type name="TrackElementAssetClass" c:type="GESTrackElementAssetClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="UriSourceAssetPrivate" c:type="GESUriSourceAssetPrivate" disguised="1">
|
|
|
|
</record>
|
|
<constant name="VERSION_MAJOR" value="1" c:type="GES_VERSION_MAJOR">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MICRO" value="0" c:type="GES_VERSION_MICRO">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MINOR" value="18" c:type="GES_VERSION_MINOR">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_NANO" value="0" c:type="GES_VERSION_NANO">
|
|
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<class name="VideoSource" c:symbol-prefix="video_source" c:type="GESVideoSource" parent="Source" abstract="1" glib:type-name="GESVideoSource" glib:get-type="ges_video_source_get_type" glib:type-struct="VideoSourceClass">
|
|
<doc xml:space="preserve">Base class for video sources</doc>
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<method name="get_natural_size" c:identifier="ges_video_source_get_natural_size" version="1.18">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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">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">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">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>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoSourcePrivate" c:type="GESVideoSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoSourceClass" c:type="GESVideoSourceClass" glib:is-gtype-struct-for="VideoSource">
|
|
|
|
<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">
|
|
|
|
<return-value>
|
|
<type name="Gst.Element" c:type="GstElement*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<type name="TrackElement" c:type="GESTrackElement*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
|
|
<field name="_ges_reserved" writable="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<record name="abi" c:type="abi">
|
|
|
|
<field name="disable_scale_in_compositor" writable="1">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="needs_converters">
|
|
<callback name="needs_converters">
|
|
|
|
<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">
|
|
|
|
<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">
|
|
|
|
<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">
|
|
|
|
</record>
|
|
<enumeration name="VideoStandardTransitionType" glib:type-name="GESVideoStandardTransitionType" glib:get-type="ges_video_standard_transition_type_get_type" c:type="GESVideoStandardTransitionType">
|
|
<member name="none" value="0" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</member>
|
|
<member name="crossfade" value="512" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE" glib:nick="crossfade">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
</member>
|
|
<member name="snow" value="1" c:identifier="GES_VIDEO_TEST_PATTERN_SNOW" glib:nick="snow">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="white" value="3" c:identifier="GES_VIDEO_TEST_PATTERN_WHITE" glib:nick="white">
|
|
<doc xml:space="preserve">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>
|
|
</member>
|
|
<member name="green" value="5" c:identifier="GES_VIDEO_TEST_PATTERN_GREEN" glib:nick="green">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</member>
|
|
<member name="circular" value="11" c:identifier="GES_VIDEO_TEST_PATTERN_CIRCULAR" glib:nick="circular">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</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>
|
|
</member>
|
|
<member name="gamut" value="15" c:identifier="GES_VIDEO_TEST_GAMUT" glib:nick="gamut">
|
|
<doc xml:space="preserve">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>
|
|
</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>
|
|
</member>
|
|
</enumeration>
|
|
<class name="VideoTestSource" c:symbol-prefix="video_test_source" c:type="GESVideoTestSource" parent="VideoSource" glib:type-name="GESVideoTestSource" glib:get-type="ges_video_test_source_get_type" glib:type-struct="VideoTestSourceClass">
|
|
<doc xml:space="preserve">### Children Properties
|
|
|
|
{{ libs/GESVideoTestSource-children-props.md }}</doc>
|
|
|
|
<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>
|
|
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="source" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<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>
|
|
<type name="VideoTestSource" c:type="GESVideoTestSource*"/>
|
|
</instance-parameter>
|
|
<parameter name="pattern" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GESVideoTestPattern</doc>
|
|
<type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="VideoSource" c:type="GESVideoSource"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoTestSourcePrivate" c:type="GESVideoTestSourcePrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoTestSourceClass" c:type="GESVideoTestSourceClass" glib:is-gtype-struct-for="VideoTestSource">
|
|
|
|
<field name="parent_class">
|
|
<type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoTestSourcePrivate" c:type="GESVideoTestSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="VideoTrack" c:symbol-prefix="video_track" c:type="GESVideoTrack" parent="Track" glib:type-name="GESVideoTrack" glib:get-type="ges_video_track_get_type" glib:type-struct="VideoTrackClass">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<implements name="MetaContainer"/>
|
|
<implements name="Gst.ChildProxy"/>
|
|
<constructor name="new" c:identifier="ges_video_track_new">
|
|
<doc xml:space="preserve">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The newly created video track.</doc>
|
|
<type name="VideoTrack" c:type="GESVideoTrack*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<field name="parent_instance">
|
|
<type name="Track" c:type="GESTrack"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoTrackPrivate" c:type="GESVideoTrackPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoTrackClass" c:type="GESVideoTrackClass" glib:is-gtype-struct-for="VideoTrack">
|
|
|
|
<field name="parent_class">
|
|
<type name="TrackClass" c:type="GESTrackClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoTrackPrivate" c:type="GESVideoTrackPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="VideoTransition" c:symbol-prefix="video_transition" c:type="GESVideoTransition" parent="Transition" glib:type-name="GESVideoTransition" glib:get-type="ges_video_transition_get_type" glib:type-struct="VideoTransitionClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<implements name="MetaContainer"/>
|
|
<constructor name="new" c:identifier="ges_video_transition_new">
|
|
|
|
<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
|
|
the border width of the transition.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="VideoStandardTransitionType" c:type="GESVideoStandardTransitionType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="trans" transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
the direction of the transition.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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
|
|
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>
|
|
|
|
<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>
|
|
<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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="self" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GESVideoTransition</doc>
|
|
<type name="VideoTransition" c:type="GESVideoTransition*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="transition-type" writable="1" transfer-ownership="none">
|
|
<type name="VideoStandardTransitionType"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="Transition" c:type="GESTransition"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoTransitionPrivate" c:type="GESVideoTransitionPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoTransitionClass" c:type="GESVideoTransitionClass" glib:is-gtype-struct-for="VideoTransition">
|
|
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent class</doc>
|
|
<type name="TransitionClass" c:type="GESTransitionClass"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoTransitionPrivate" c:type="GESVideoTransitionPrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="VideoUriSource" c:symbol-prefix="video_uri_source" c:type="GESVideoUriSource" parent="VideoSource" glib:type-name="GESVideoUriSource" glib:get-type="ges_video_uri_source_get_type" glib:type-struct="VideoUriSourceClass">
|
|
<doc xml:space="preserve">### Children Properties
|
|
|
|
{{ libs/GESVideoUriSource-children-props.md }}</doc>
|
|
|
|
<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>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="VideoSource" c:type="GESVideoSource"/>
|
|
</field>
|
|
<field name="uri" readable="0" private="1">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="UriSource" c:type="GESUriSource*"/>
|
|
</field>
|
|
<field name="_ges_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoUriSourceClass" c:type="GESVideoUriSourceClass" glib:is-gtype-struct-for="VideoUriSource">
|
|
|
|
<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" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoUriSourcePrivate" c:type="GESVideoUriSourcePrivate" disguised="1">
|
|
|
|
</record>
|
|
<class name="XmlFormatter" c:symbol-prefix="xml_formatter" c:type="GESXmlFormatter" parent="BaseXmlFormatter" glib:type-name="GESXmlFormatter" glib:get-type="ges_xml_formatter_get_type" glib:type-struct="XmlFormatterClass">
|
|
|
|
<implements name="Extractable"/>
|
|
<field name="parent">
|
|
<type name="BaseXmlFormatter" c:type="GESBaseXmlFormatter"/>
|
|
</field>
|
|
<field name="priv">
|
|
<type name="XmlFormatterPrivate" c:type="GESXmlFormatterPrivate*"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="XmlFormatterClass" c:type="GESXmlFormatterClass" glib:is-gtype-struct-for="XmlFormatter">
|
|
|
|
<field name="parent">
|
|
<type name="BaseXmlFormatterClass" c:type="GESBaseXmlFormatterClass"/>
|
|
</field>
|
|
<field name="_ges_reserved">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="XmlFormatterPrivate" c:type="GESXmlFormatterPrivate" disguised="1">
|
|
|
|
</record>
|
|
<function name="add_missing_uri_relocation_uri" c:identifier="ges_add_missing_uri_relocation_uri">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="uri" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="recurse" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="deinit" c:identifier="ges_deinit">
|
|
<doc xml:space="preserve">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 should not be used until another ges_init() call.</doc>
|
|
|
|
<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" version="1.16">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A human friendly name for @edge</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="edge" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GESEdge to get the name of</doc>
|
|
<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">Return a string representation of @mode.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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">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">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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">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
|
|
GES. You should take care of initilizing GStreamer before calling this
|
|
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>
|
|
|
|
<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,
|
|
and loading evrything needed.
|
|
|
|
This function will return %FALSE if GES could not be initialized
|
|
for some reason.</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if GES could be initialized.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="argc" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to application's argc</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="argv" direction="inout" caller-allocates="0" 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**"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<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
|
|
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.
|
|
|
|
This function is useful if you want to integrate GES with other
|
|
libraries that use GOption (see g_option_context_add_group() ).
|
|
|
|
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>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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">Use this function to check if GES has been initialized with ges_init()
|
|
or ges_init_check().</doc>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%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 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>
|
|
|
|
<return-value transfer-ownership="container">
|
|
<doc xml:space="preserve">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">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" deprecated="1" deprecated-version="1.18">
|
|
<doc xml:space="preserve">Get the last buffer @playsink showed</doc>
|
|
<doc-deprecated xml:space="preserve">Use the "convert-sample" action signal of
|
|
#playsink instead.</doc-deprecated>
|
|
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="pspec_equal" c:identifier="ges_pspec_equal">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="key_spec_1" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="key_spec_2" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="pspec_hash" c:identifier="ges_pspec_hash">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="key_spec" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="timeline_get_project" c:identifier="ges_timeline_get_project" introspectable="0">
|
|
<doc xml:space="preserve">Helper macro to retrieve the project from which @obj was extracted</doc>
|
|
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">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">
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<type name="TrackType" c:type="GESTrackType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="validate_register_action_types" c:identifier="ges_validate_register_action_types">
|
|
|
|
<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>
|
|
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">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>
|
|
<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>
|
|
<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>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</namespace>
|
|
</repository>
|