gstreamer/subprojects/gst-devtools/docs/ges-validate-action-types.md

1041 lines
22 KiB
Markdown

# GES action types
## edit-container
``` validate-scenario
edit-container,
[playback-time=(double,string)],
container-name=(string),
position=(double or string),
[edit-mode=(string)],
[edge=(string)],
[new-layer-priority=(int)];
```
Allows to edit a container (like a GESClip), for more details, have a look at:
ges_container_edit documentation, Note that the timeline will
be commited, and flushed so that the edition is taken into account
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `container-name`:(mandatory): The name of the GESContainer to edit
Possible types: `string`
* `position`:(mandatory): The new position of the GESContainer
Possible variables:
* position: The current position in the stream
* duration: The duration of the stream
Possible types: `double or string`
* `edit-mode`:(optional): The GESEditMode to use to edit @container-name
Possible types: `string`
Default: normal
* `edge`:(optional): The GESEdge to use to edit @container-name
should be in [ edge_start, edge_end, edge_none ]
Possible types: `string`
Default: edge_none
* `new-layer-priority`:(optional): The priority of the layer @container should land in.
If the layer you're trying to move the container to doesn't exist, it will
be created automatically. -1 means no move.
Possible types: `int`
Default: -1
## add-asset
``` validate-scenario
add-asset,
[playback-time=(double,string)],
id,
type;
```
Allows to add an asset to the current project
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `id`:(mandatory): Adds an asset to a project.
* `type`:(mandatory): The type of asset to add
## remove-asset
``` validate-scenario
remove-asset,
[playback-time=(double,string)],
id,
type;
```
Allows to remove an asset from the current project
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `id`:(mandatory): The ID of the clip to remove
* `type`:(mandatory): The type of asset to remove
## add-layer
``` validate-scenario
add-layer,
[playback-time=(double,string)],
[priority];
```
Allows to add a layer to the current timeline
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `priority`:(optional): The priority of the new layer to add,if not specified, the new layer will be appended to the timeline
Default: (null)
## remove-layer
``` validate-scenario
remove-layer,
[playback-time=(double,string)],
priority,
[auto-transition=(boolean)];
```
Allows to remove a layer from the current timeline
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `priority`:(mandatory): The priority of the layer to remove
* `auto-transition`:(optional): Wheter auto-transition is activated on the new layer.
Possible types: `boolean`
Default: False
## add-clip
``` validate-scenario
add-clip,
[playback-time=(double,string)],
name=(string),
layer-priority=(int),
asset-id=(string),
type=(string),
[start=(double or string)],
[inpoint=(double or string)],
[duration=(double or string)];
```
Allows to add a clip to a given layer
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `name`:(mandatory): The name of the clip to add
Possible types: `string`
* `layer-priority`:(mandatory): The priority of the clip to add
Possible types: `int`
* `asset-id`:(mandatory): The id of the asset from which to extract the clip
Possible types: `string`
* `type`:(mandatory): The type of the clip to create
Possible types: `string`
* `start`:(optional): The start value to set on the new GESClip.
Possible types: `double or string`
Default: (null)
* `inpoint`:(optional): The inpoint value to set on the new GESClip
Possible types: `double or string`
Default: (null)
* `duration`:(optional): The duration value to set on the new GESClip
Possible types: `double or string`
Default: (null)
## remove-clip
``` validate-scenario
remove-clip,
[playback-time=(double,string)],
name=(string);
```
Allows to remove a clip from a given layer
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `name`:(mandatory): The name of the clip to remove
Possible types: `string`
## serialize-project
``` validate-scenario
serialize-project,
[playback-time=(double,string)],
uri=(string);
```
serializes a project
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `uri`:(mandatory): The uri where to store the serialized project
Possible types: `string`
## set-child-property
``` validate-scenario
set-child-property,
[playback-time=(double,string)],
element-name=(string),
property=(string),
value=(gvalue);
```
Allows to change child property of an object
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `element-name`:(mandatory): The name of the element on which to modify the property
Possible types: `string`
* `property`:(mandatory): The name of the property to modify
Possible types: `string`
* `value`:(mandatory): The value of the property
Possible types: `gvalue`
## split-clip
``` validate-scenario
split-clip,
[playback-time=(double,string)],
clip-name=(string),
position=(double or string);
```
Split a clip at a specified position.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `clip-name`:(mandatory): The name of the clip to split
Possible types: `string`
* `position`:(mandatory): The position at which to split the clip
Possible types: `double or string`
## set-track-restriction-caps
``` validate-scenario
set-track-restriction-caps,
[playback-time=(double,string)],
track-type=(string),
caps=(string);
```
Sets restriction caps on tracks of a specific type.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `track-type`:(mandatory): The type of track to set restriction caps on
Possible types: `string`
* `caps`:(mandatory): The caps to set on the track
Possible types: `string`
## element-set-asset
``` validate-scenario
element-set-asset,
[playback-time=(double,string)],
element-name=(string),
asset-id=(string);
```
Sets restriction caps on tracks of a specific type.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `element-name`:(mandatory): The name of the TimelineElement to set an asset on
Possible types: `string`
* `asset-id`:(mandatory): The id of the asset from which to extract the clip
Possible types: `string`
## container-add-child
``` validate-scenario
container-add-child,
[playback-time=(double,string)],
container-name=(string),
[child-name=(string)],
asset-id=(string),
[child-type=(string)];
```
Add a child to @container-name. If asset-id and child-type are specified, the child will be created and added. Otherwize @child-name has to be specified and will be added to the container.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `container-name`:(mandatory): The name of the GESContainer to add a child to
Possible types: `string`
* `child-name`:(optional): The name of the child to add to @container-name
Possible types: `string`
Default: NULL
* `asset-id`:(mandatory): The id of the asset from which to extract the child
Possible types: `string`
* `child-type`:(optional): The type of the child to create
Possible types: `string`
Default: NULL
## container-remove-child
``` validate-scenario
container-remove-child,
[playback-time=(double,string)],
container-name=(string),
child-name=(string);
```
Remove a child from @container-name.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `container-name`:(mandatory): The name of the GESContainer to remove a child from
Possible types: `string`
* `child-name`:(mandatory): The name of the child to reomve from @container-name
Possible types: `string`
## ungroup-container
``` validate-scenario
ungroup-container,
[playback-time=(double,string)],
container-name=(string),
[recursive=(boolean)];
```
Ungroup children of @container-name.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `container-name`:(mandatory): The name of the GESContainer to ungroup children from
Possible types: `string`
* `recursive`:(optional): Wether to recurse ungrouping or not.
Possible types: `boolean`
Default: (null)
## set-control-source
``` validate-scenario
set-control-source,
[playback-time=(double,string)],
element-name=(string),
property-name=(string),
[binding-type=(string)],
[source-type=(string)],
[interpolation-mode=(string)];
```
Adds a GstControlSource on @element-name::@property-name allowing you to then add keyframes on that property.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `element-name`:(mandatory): The name of the GESTrackElement to set the control source on
Possible types: `string`
* `property-name`:(mandatory): The name of the property for which to set a control source
Possible types: `string`
* `binding-type`:(optional): The name of the type of binding to use
Possible types: `string`
Default: direct
* `source-type`:(optional): The name of the type of ControlSource to use
Possible types: `string`
Default: interpolation
* `interpolation-mode`:(optional): The name of the GstInterpolationMode to on the source
Possible types: `string`
Default: linear
## add-keyframe
``` validate-scenario
add-keyframe,
[playback-time=(double,string)],
element-name=(string),
property-name=(string),
timestamp=(string or float),
value=(float);
```
Remove a child from @container-name.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `element-name`:(mandatory): The name of the GESTrackElement to add a keyframe on
Possible types: `string`
* `property-name`:(mandatory): The name of the property for which to add a keyframe on
Possible types: `string`
* `timestamp`:(mandatory): The timestamp of the keyframe
Possible types: `string or float`
* `value`:(mandatory): The value of the keyframe
Possible types: `float`
## copy-element
``` validate-scenario
copy-element,
[playback-time=(double,string)],
element-name=(string),
[recurse=(boolean)],
position=(string or float),
[paste-name=(string)];
```
Remove a child from @container-name.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `element-name`:(mandatory): The name of the GESTtimelineElement to copy
Possible types: `string`
* `recurse`:(optional): Copy recursively or not
Possible types: `boolean`
Default: true
* `position`:(mandatory): The time where to paste the element
Possible types: `string or float`
* `paste-name`:(optional): The name of the copied element
Possible types: `string`
Default: (null)
## remove-keyframe
``` validate-scenario
remove-keyframe,
[playback-time=(double,string)],
element-name=(string),
property-name=(string),
timestamp=(string or float);
```
Remove a child from @container-name.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `element-name`:(mandatory): The name of the GESTrackElement to add a keyframe on
Possible types: `string`
* `property-name`:(mandatory): The name of the property for which to add a keyframe on
Possible types: `string`
* `timestamp`:(mandatory): The timestamp of the keyframe
Possible types: `string or float`
## load-project
``` validate-scenario
load-project,
[playback-time=(double,string)],
serialized-content;
```
Loads a project either from its content passed in the serialized-content field.
Note that it will completely clean the previous timeline
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)
* `serialized-content`:(mandatory): The full content of the XML describing project in XGES formet.
## commit
``` validate-scenario
commit,
[playback-time=(double,string)];
```
Commit the timeline.
* Implementer namespace: ges
### Parameters
Parameters:
* `playback-time`:(optional): The playback time at which the action will be executed
Possible variables:
* `position`: The current position in the stream
* `duration`: The duration of the stream
Possible types: `double,string`
Default: 0.0
* `on-message`:(optional): Specify on what message type the action will be executed.
If both 'playback-time' and 'on-message' is specified, the action will be executed
on whatever happens first.
Possible types: `string`
Default: (null)