# GESLayer

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.

## GESLayer

    GObject
        ╰──GInitiallyUnowned
            ╰──GESLayer

### Members

`parent` (GInitiallyUnowned) –
No description available
`timeline` (GESTimeline *) –

the GESTimeline where this layer is being used.

`min_nle_priority` (guint32) –
No description available
`max_nle_priority` (guint32) –
No description available
`priv` (GESLayerPrivate*) –
No description available
`_ges_reserved` (gpointer*) –
No description available

### Class structure

#### GESLayerClass

Subclasses can override the get_objects if they can provide a more efficient way of providing the list of contained GESClip-s.

### GES.LayerClass

Subclasses can override the get_objects if they can provide a more efficient way of providing the list of contained GES.Clip-s.

### GES.LayerClass

Subclasses can override the get_objects if they can provide a more efficient way of providing the list of contained GES.Clip-s.

## GES.Layer

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──GES.Layer

### Members

`parent` (GObject.InitiallyUnowned) –
No description available
`timeline` (GES.Timeline) –

the GES.Timeline where this layer is being used.

`min_nle_priority` (Number) –
No description available
`max_nle_priority` (Number) –
No description available
`priv` (GES.LayerPrivate) –
No description available
`_ges_reserved` ([ Object ]) –
No description available

## GES.Layer

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──GES.Layer

### Members

`parent` (GObject.InitiallyUnowned) –
No description available
`timeline` (GES.Timeline) –

the GES.Timeline where this layer is being used.

`min_nle_priority` (int) –
No description available
`max_nle_priority` (int) –
No description available
`priv` (GES.LayerPrivate) –
No description available
`_ges_reserved` ([ object ]) –
No description available

### Constructors

#### ges_layer_new

    GESLayer *
    ges_layer_new ()

Creates a new layer.

Returns ( [transfer: floating]) –

A new layer.

#### GES.Layer.prototype.new

    function GES.Layer.prototype.new(): {
        // javascript wrapper for 'ges_layer_new'
    }

Creates a new layer.

Returns (GES.Layer) –

A new layer.

#### GES.Layer.new

    def GES.Layer.new ():
        #python wrapper for 'ges_layer_new'

Creates a new layer.

Returns (GES.Layer) –

A new layer.

### Methods

#### ges_layer_add_asset

    GESClip *
    ges_layer_add_asset (GESLayer * layer,
                         GESAsset * asset,
                         GstClockTime start,
                         GstClockTime inpoint,
                         GstClockTime duration,
                         GESTrackType track_types)

See ges_layer_add_asset_full, which also gives an error.

Parameters:

`layer` –

The GESLayer

`asset` –

The asset to extract the new clip from

`start` –

The 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

`inpoint` –

The in-point value to set on the new clip

`duration` –

The duration value to set on the new clip

`track_types` –

The supported-formats to set on the the new clip, or GES_TRACK_TYPE_UNKNOWN to use the default

Returns ( [transfer: none][nullable]) –

The newly created clip.

#### GES.Layer.prototype.add_asset

    function GES.Layer.prototype.add_asset(asset: GES.Asset, start: Number, inpoint: Number, duration: Number, track_types: GES.TrackType): {
        // javascript wrapper for 'ges_layer_add_asset'
    }

See GES.Layer.prototype.add_asset_full, which also gives an error.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`asset` (GES.Asset) –

The asset to extract the new clip from

`start` (Number) –

The 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

`inpoint` (Number) –

The in-point value to set on the new clip

`duration` (Number) –

The duration value to set on the new clip

`track_types` (GES.TrackType) –

The supported-formats to set on the the new clip, or GES.TrackType.UNKNOWN to use the default

Returns (GES.Clip) –

The newly created clip.

#### GES.Layer.add_asset

    def GES.Layer.add_asset (self, asset, start, inpoint, duration, track_types):
        #python wrapper for 'ges_layer_add_asset'

See GES.Layer.add_asset_full, which also gives an error.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`asset` (GES.Asset) –

The asset to extract the new clip from

`start` (int) –

The 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

`inpoint` (int) –

The in_point value to set on the new clip

`duration` (int) –

The duration value to set on the new clip

`track_types` (GES.TrackType) –

The supported_formats to set on the the new clip, or GES.TrackType.UNKNOWN to use the default

Returns (GES.Clip) –

The newly created clip.

#### ges_layer_add_asset_full

    GESClip *
    ges_layer_add_asset_full (GESLayer * layer,
                              GESAsset * asset,
                              GstClockTime start,
                              GstClockTime inpoint,
                              GstClockTime duration,
                              GESTrackType track_types,
                              GError ** error)

Extracts a new clip from an asset and adds it to the layer with the given properties.

Parameters:

`layer` –

The GESLayer

`asset` –

The asset to extract the new clip from

`start` –

The 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

`inpoint` –

The in-point value to set on the new clip

`duration` –

The duration value to set on the new clip

`track_types` –

The supported-formats to set on the the new clip, or GES_TRACK_TYPE_UNKNOWN to use the default

`error` ( [nullable]) –

Return location for an error

Returns ( [transfer: none]) –

The newly created clip.

Since : 1.18

#### GES.Layer.prototype.add_asset_full

    function GES.Layer.prototype.add_asset_full(asset: GES.Asset, start: Number, inpoint: Number, duration: Number, track_types: GES.TrackType): {
        // javascript wrapper for 'ges_layer_add_asset_full'
    }

Extracts a new clip from an asset and adds it to the layer with the given properties.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`asset` (GES.Asset) –

The asset to extract the new clip from

`start` (Number) –

The 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

`inpoint` (Number) –

The in-point value to set on the new clip

`duration` (Number) –

The duration value to set on the new clip

`track_types` (GES.TrackType) –

The supported-formats to set on the the new clip, or GES.TrackType.UNKNOWN to use the default

Returns (GES.Clip) –

The newly created clip.

Since : 1.18

#### GES.Layer.add_asset_full

    @raises(GLib.GError)
    def GES.Layer.add_asset_full (self, asset, start, inpoint, duration, track_types):
        #python wrapper for 'ges_layer_add_asset_full'

Extracts a new clip from an asset and adds it to the layer with the given properties.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`asset` (GES.Asset) –

The asset to extract the new clip from

`start` (int) –

The 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

`inpoint` (int) –

The in_point value to set on the new clip

`duration` (int) –

The duration value to set on the new clip

`track_types` (GES.TrackType) –

The supported_formats to set on the the new clip, or GES.TrackType.UNKNOWN to use the default

Returns (GES.Clip) –

The newly created clip.

Since : 1.18

#### ges_layer_add_clip

    gboolean
    ges_layer_add_clip (GESLayer * layer,
                        GESClip * clip)

See ges_layer_add_clip_full, which also gives an error.

Parameters:

`layer` –

The GESLayer

`clip` ( [transfer: floating]) –

The clip to add

Returns –

TRUE if clip was properly added to layer, or FALSE if layer refused to add clip.

#### GES.Layer.prototype.add_clip

    function GES.Layer.prototype.add_clip(clip: GES.Clip): {
        // javascript wrapper for 'ges_layer_add_clip'
    }

See GES.Layer.prototype.add_clip_full, which also gives an error.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`clip` (GES.Clip) –

The clip to add

Returns (Number) –

TRUE if clip was properly added to layer, or FALSE if layer refused to add clip.

#### GES.Layer.add_clip

    def GES.Layer.add_clip (self, clip):
        #python wrapper for 'ges_layer_add_clip'

See GES.Layer.add_clip_full, which also gives an error.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`clip` (GES.Clip) –

The clip to add

Returns (bool) –

TRUE if clip was properly added to layer, or FALSE if layer refused to add clip.

#### ges_layer_add_clip_full

    gboolean
    ges_layer_add_clip_full (GESLayer * layer,
                             GESClip * clip,
                             GError ** error)

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).

Parameters:

`layer` –

The GESLayer

`clip` ( [transfer: floating]) –

The clip to add

`error` ( [nullable]) –

Return location for an error

Returns –

TRUE if clip was properly added to layer, or FALSE if layer refused to add clip.

Since : 1.18

#### GES.Layer.prototype.add_clip_full

    function GES.Layer.prototype.add_clip_full(clip: GES.Clip): {
        // javascript wrapper for 'ges_layer_add_clip_full'
    }

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 GES.TimelineElement).

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`clip` (GES.Clip) –

The clip to add

Returns (Number) –

TRUE if clip was properly added to layer, or FALSE if layer refused to add clip.

Since : 1.18

#### GES.Layer.add_clip_full

    @raises(GLib.GError)
    def GES.Layer.add_clip_full (self, clip):
        #python wrapper for 'ges_layer_add_clip_full'

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 GES.TimelineElement).

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`clip` (GES.Clip) –

The clip to add

Returns (bool) –

TRUE if clip was properly added to layer, or FALSE if layer refused to add clip.

Since : 1.18

#### ges_layer_get_active_for_track

    gboolean
    ges_layer_get_active_for_track (GESLayer * layer,
                                    GESTrack * track)

Gets whether the layer is active for the given track. See ges_layer_set_active_for_tracks.

Parameters:

`layer` –

The GESLayer

`track` –

The GESTrack to check if layer is currently active for

Returns –

TRUE if layer is active for track, or FALSE otherwise.

Since : 1.18

#### GES.Layer.prototype.get_active_for_track

    function GES.Layer.prototype.get_active_for_track(track: GES.Track): {
        // javascript wrapper for 'ges_layer_get_active_for_track'
    }

Gets whether the layer is active for the given track. See GES.Layer.prototype.set_active_for_tracks.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`track` (GES.Track) –

The GES.Track to check if layer is currently active for

Returns (Number) –

TRUE if layer is active for track, or FALSE otherwise.

Since : 1.18

#### GES.Layer.get_active_for_track

    def GES.Layer.get_active_for_track (self, track):
        #python wrapper for 'ges_layer_get_active_for_track'

Gets whether the layer is active for the given track. See GES.Layer.set_active_for_tracks.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`track` (GES.Track) –

The GES.Track to check if layer is currently active for

Returns (bool) –

TRUE if layer is active for track, or FALSE otherwise.

Since : 1.18

#### ges_layer_get_auto_transition

    gboolean
    ges_layer_get_auto_transition (GESLayer * layer)

Gets the auto-transition of the layer.

Parameters:

`layer` –

The GESLayer

Returns –

TRUE if transitions are automatically added to layer.

#### GES.Layer.prototype.get_auto_transition

    function GES.Layer.prototype.get_auto_transition(): {
        // javascript wrapper for 'ges_layer_get_auto_transition'
    }

Gets the auto-transition of the layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns (Number) –

TRUE if transitions are automatically added to layer.

#### GES.Layer.get_auto_transition

    def GES.Layer.get_auto_transition (self):
        #python wrapper for 'ges_layer_get_auto_transition'

Gets the auto_transition of the layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns (bool) –

TRUE if transitions are automatically added to layer.

#### ges_layer_get_clips

    GList *
    ges_layer_get_clips (GESLayer * layer)

Get the GESClip-s contained in this layer.

Parameters:

`layer` –

The GESLayer

Returns ( [transfer: full][element-typeGESClip]) –

A list of clips in layer.

#### GES.Layer.prototype.get_clips

    function GES.Layer.prototype.get_clips(): {
        // javascript wrapper for 'ges_layer_get_clips'
    }

Get the GES.Clip-s contained in this layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns ([ GES.Clip ]) –

A list of clips in layer.

#### GES.Layer.get_clips

    def GES.Layer.get_clips (self):
        #python wrapper for 'ges_layer_get_clips'

Get the GES.Clip-s contained in this layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns ([ GES.Clip ]) –

A list of clips in layer.

#### ges_layer_get_clips_in_interval

    GList *
    ges_layer_get_clips_in_interval (GESLayer * layer,
                                     GstClockTime start,
                                     GstClockTime end)

Gets the clips within the layer that appear between start and end.

Parameters:

`layer` –

The GESLayer

`start` –

Start of the interval

`end` –

End of the interval

Returns ( [transfer: full][element-typeGESClip]) –

A list of GESClip-s that intersect the interval `[start, end)` in layer.

#### GES.Layer.prototype.get_clips_in_interval

    function GES.Layer.prototype.get_clips_in_interval(start: Number, end: Number): {
        // javascript wrapper for 'ges_layer_get_clips_in_interval'
    }

Gets the clips within the layer that appear between start and end.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`start` (Number) –

Start of the interval

`end` (Number) –

End of the interval

Returns ([ GES.Clip ]) –

A list of GES.Clip-s that intersect the interval `[start, end)` in layer.

#### GES.Layer.get_clips_in_interval

    def GES.Layer.get_clips_in_interval (self, start, end):
        #python wrapper for 'ges_layer_get_clips_in_interval'

Gets the clips within the layer that appear between start and end.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`start` (int) –

Start of the interval

`end` (int) –

End of the interval

Returns ([ GES.Clip ]) –

A list of GES.Clip-s that intersect the interval `[start, end)` in layer.

#### ges_layer_get_duration

    GstClockTime
    ges_layer_get_duration (GESLayer * layer)

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).

Parameters:

`layer` –

The layer to get the duration from

Returns –

The duration of layer.

#### GES.Layer.prototype.get_duration

    function GES.Layer.prototype.get_duration(): {
        // javascript wrapper for 'ges_layer_get_duration'
    }

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).

Parameters:

`layer` (GES.Layer) –

The layer to get the duration from

Returns (Number) –

The duration of layer.

#### GES.Layer.get_duration

    def GES.Layer.get_duration (self):
        #python wrapper for 'ges_layer_get_duration'

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).

Parameters:

`layer` (GES.Layer) –

The layer to get the duration from

Returns (int) –

The duration of layer.

#### ges_layer_get_priority

    guint
    ges_layer_get_priority (GESLayer * layer)

Get the priority of the layer. When inside a timeline, this is its index in the timeline. See ges_timeline_move_layer.

Parameters:

`layer` –

The GESLayer

Returns –

The priority of layer within its timeline.

#### GES.Layer.prototype.get_priority

    function GES.Layer.prototype.get_priority(): {
        // javascript wrapper for 'ges_layer_get_priority'
    }

Get the priority of the layer. When inside a timeline, this is its index in the timeline. See GES.Timeline.prototype.move_layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns (Number) –

The priority of layer within its timeline.

#### GES.Layer.get_priority

    def GES.Layer.get_priority (self):
        #python wrapper for 'ges_layer_get_priority'

Get the priority of the layer. When inside a timeline, this is its index in the timeline. See GES.Timeline.move_layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns (int) –

The priority of layer within its timeline.

#### ges_layer_get_timeline

    GESTimeline *
    ges_layer_get_timeline (GESLayer * layer)

Gets the timeline that the layer is a part of.

Parameters:

`layer` –

The GESLayer

Returns ( [transfer: none][nullable]) –

The timeline that layer is currently part of, or NULL if it is not associated with any timeline.

#### GES.Layer.prototype.get_timeline

    function GES.Layer.prototype.get_timeline(): {
        // javascript wrapper for 'ges_layer_get_timeline'
    }

Gets the timeline that the layer is a part of.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns (GES.Timeline) –

The timeline that layer is currently part of, or NULL if it is not associated with any timeline.

#### GES.Layer.get_timeline

    def GES.Layer.get_timeline (self):
        #python wrapper for 'ges_layer_get_timeline'

Gets the timeline that the layer is a part of.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

Returns (GES.Timeline) –

The timeline that layer is currently part of, or NULL if it is not associated with any timeline.

#### ges_layer_is_empty

    gboolean
    ges_layer_is_empty (GESLayer * layer)

Convenience method to check if the layer is empty (doesn't contain any GESClip), or not.

Parameters:

`layer` –

The GESLayer to check

Returns –

TRUE if layer is empty, FALSE if it contains at least one clip.

#### GES.Layer.prototype.is_empty

    function GES.Layer.prototype.is_empty(): {
        // javascript wrapper for 'ges_layer_is_empty'
    }

Convenience method to check if the layer is empty (doesn't contain any GES.Clip), or not.

Parameters:

`layer` (GES.Layer) –

The GES.Layer to check

Returns (Number) –

TRUE if layer is empty, FALSE if it contains at least one clip.

#### GES.Layer.is_empty

    def GES.Layer.is_empty (self):
        #python wrapper for 'ges_layer_is_empty'

Convenience method to check if the layer is empty (doesn't contain any GES.Clip), or not.

Parameters:

`layer` (GES.Layer) –

The GES.Layer to check

Returns (bool) –

TRUE if layer is empty, FALSE if it contains at least one clip.

#### ges_layer_remove_clip

    gboolean
    ges_layer_remove_clip (GESLayer * layer,
                           GESClip * clip)

Removes the given clip from the layer.

Parameters:

`layer` –

The GESLayer

`clip` –

The clip to remove

Returns –

TRUE if clip was removed from layer, or FALSE if the operation failed.

#### GES.Layer.prototype.remove_clip

    function GES.Layer.prototype.remove_clip(clip: GES.Clip): {
        // javascript wrapper for 'ges_layer_remove_clip'
    }

Removes the given clip from the layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`clip` (GES.Clip) –

The clip to remove

Returns (Number) –

TRUE if clip was removed from layer, or FALSE if the operation failed.

#### GES.Layer.remove_clip

    def GES.Layer.remove_clip (self, clip):
        #python wrapper for 'ges_layer_remove_clip'

Removes the given clip from the layer.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`clip` (GES.Clip) –

The clip to remove

Returns (bool) –

TRUE if clip was removed from layer, or FALSE if the operation failed.

#### ges_layer_set_active_for_tracks

    gboolean
    ges_layer_set_active_for_tracks (GESLayer * layer,
                                     gboolean active,
                                     GList * tracks)

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 active value.

Note that by default a layer will be active for all of its timeline's tracks.

Parameters:

`layer` –

The GESLayer

`active` –

Whether elements in tracks should be active or not

`tracks` ( [transfer: none][element-typeGESTrack][allow-none]) –

The list of tracks layer should be (de-)active in, or NULL to include all the tracks in the layer's timeline

Returns –

TRUE if the operation worked FALSE otherwise.

Since : 1.18

#### GES.Layer.prototype.set_active_for_tracks

    function GES.Layer.prototype.set_active_for_tracks(active: Number, tracks: [ GES.Track ]): {
        // javascript wrapper for 'ges_layer_set_active_for_tracks'
    }

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 GES.TrackElement-s in the track that belong to a GES.Clip in the layer will no longer be active in the track, regardless of their individual active value.

Note that by default a layer will be active for all of its timeline's tracks.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`active` (Number) –

Whether elements in tracks should be active or not

`tracks` ([ GES.Track ]) –

The list of tracks layer should be (de-)active in, or NULL to include all the tracks in the layer's timeline

Returns (Number) –

TRUE if the operation worked FALSE otherwise.

Since : 1.18

#### GES.Layer.set_active_for_tracks

    def GES.Layer.set_active_for_tracks (self, active, tracks):
        #python wrapper for 'ges_layer_set_active_for_tracks'

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 GES.TrackElement-s in the track that belong to a GES.Clip in the layer will no longer be active in the track, regardless of their individual active value.

Note that by default a layer will be active for all of its timeline's tracks.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`active` (bool) –

Whether elements in tracks should be active or not

`tracks` ([ GES.Track ]) –

The list of tracks layer should be (de-)active in, or NULL to include all the tracks in the layer's timeline

Returns (bool) –

TRUE if the operation worked FALSE otherwise.

Since : 1.18

#### ges_layer_set_auto_transition

    ges_layer_set_auto_transition (GESLayer * layer,
                                   gboolean auto_transition)

Sets auto-transition for the layer. Use ges_timeline_set_auto_transition if you want all layers within a GESTimeline to have auto-transition set to TRUE. Use this method if you want different values for different layers (and make sure to keep auto-transition as FALSE for the corresponding timeline).

Parameters:

`layer` –

The GESLayer

`auto_transition` –

Whether transitions should be automatically added to the layer

#### GES.Layer.prototype.set_auto_transition

    function GES.Layer.prototype.set_auto_transition(auto_transition: Number): {
        // javascript wrapper for 'ges_layer_set_auto_transition'
    }

Sets auto-transition for the layer. Use GES.Timeline.prototype.set_auto_transition if you want all layers within a GES.Timeline to have auto-transition set to TRUE. Use this method if you want different values for different layers (and make sure to keep auto-transition as FALSE for the corresponding timeline).

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`auto_transition` (Number) –

Whether transitions should be automatically added to the layer

#### GES.Layer.set_auto_transition

    def GES.Layer.set_auto_transition (self, auto_transition):
        #python wrapper for 'ges_layer_set_auto_transition'

Sets auto_transition for the layer. Use GES.Timeline.set_auto_transition if you want all layers within a GES.Timeline to have auto_transition set to TRUE. Use this method if you want different values for different layers (and make sure to keep auto_transition as FALSE for the corresponding timeline).

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`auto_transition` (bool) –

Whether transitions should be automatically added to the layer

#### ges_layer_set_priority

    ges_layer_set_priority (GESLayer * layer,
                            guint priority)

Sets the layer to the given priority. See priority.

Parameters:

`layer` –

The GESLayer

`priority` –

The priority to set

deprecated : 1.16.0: 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.

#### GES.Layer.prototype.set_priority

    function GES.Layer.prototype.set_priority(priority: Number): {
        // javascript wrapper for 'ges_layer_set_priority'
    }

Sets the layer to the given priority. See priority.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`priority` (Number) –

The priority to set

deprecated : 1.16.0: 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.

#### GES.Layer.set_priority

    def GES.Layer.set_priority (self, priority):
        #python wrapper for 'ges_layer_set_priority'

Sets the layer to the given priority. See priority.

Parameters:

`layer` (GES.Layer) –

The GES.Layer

`priority` (int) –

The priority to set

deprecated : 1.16.0: 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.

#### ges_layer_set_timeline

    ges_layer_set_timeline (GESLayer * layer,
                            GESTimeline * timeline)

Parameters:

`layer` –
No description available
`timeline` –
No description available

#### GES.Layer.prototype.set_timeline

    function GES.Layer.prototype.set_timeline(timeline: GES.Timeline): {
        // javascript wrapper for 'ges_layer_set_timeline'
    }

Parameters:

`layer` (GES.Layer) –
No description available
`timeline` (GES.Timeline) –
No description available

#### GES.Layer.set_timeline

    def GES.Layer.set_timeline (self, timeline):
        #python wrapper for 'ges_layer_set_timeline'

Parameters:

`layer` (GES.Layer) –
No description available
`timeline` (GES.Timeline) –
No description available

### Signals

#### active-changed

    active_changed_callback (GESLayer * self,
                             gboolean active,
                             GESTrack * tracks,
                             gpointer user_data)

Will be emitted whenever the layer is activated or deactivated for some GESTrack. See ges_layer_set_active_for_tracks.

Parameters:

`self` –
No description available
`active` –

Whether layer has been made active or de-active in the tracks

`tracks` ( [element-typeGESTrack][transfer: none]) –

A list of GESTrack which have been activated or deactivated

`user_data` –
No description available

Flags: Run First

Since : 1.18

#### active-changed

    function active_changed_callback(self: GES.Layer, active: Number, tracks: [ GES.Track ], user_data: Object): {
        // javascript callback for the 'active-changed' signal
    }

Will be emitted whenever the layer is activated or deactivated for some GES.Track. See GES.Layer.prototype.set_active_for_tracks.

Parameters:

`self` (GES.Layer) –
No description available
`active` (Number) –

Whether layer has been made active or de-active in the tracks

`tracks` ([ GES.Track ]) –

A list of GES.Track which have been activated or deactivated

`user_data` (Object) –
No description available

Flags: Run First

Since : 1.18

#### active-changed

    def active_changed_callback (self, active, tracks, *user_data):
        #python callback for the 'active-changed' signal

Will be emitted whenever the layer is activated or deactivated for some GES.Track. See GES.Layer.set_active_for_tracks.

Parameters:

`self` (GES.Layer) –
No description available
`active` (bool) –

Whether layer has been made active or de-active in the tracks

`tracks` ([ GES.Track ]) –

A list of GES.Track which have been activated or deactivated

`user_data` (variadic) –
No description available

Flags: Run First

Since : 1.18

#### clip-added

    clip_added_callback (GESLayer * self,
                         GESClip * clip,
                         gpointer user_data)

Will be emitted after the clip is added to the layer.

Parameters:

`self` –
No description available
`clip` –

The clip that was added

`user_data` –
No description available

Flags: Run First

#### clip-added

    function clip_added_callback(self: GES.Layer, clip: GES.Clip, user_data: Object): {
        // javascript callback for the 'clip-added' signal
    }

Will be emitted after the clip is added to the layer.

Parameters:

`self` (GES.Layer) –
No description available
`clip` (GES.Clip) –

The clip that was added

`user_data` (Object) –
No description available

Flags: Run First

#### clip-added

    def clip_added_callback (self, clip, *user_data):
        #python callback for the 'clip-added' signal

Will be emitted after the clip is added to the layer.

Parameters:

`self` (GES.Layer) –
No description available
`clip` (GES.Clip) –

The clip that was added

`user_data` (variadic) –
No description available

Flags: Run First

#### clip-removed

    clip_removed_callback (GESLayer * self,
                           GESClip * clip,
                           gpointer user_data)

Will be emitted after the clip is removed from the layer.

Parameters:

`self` –
No description available
`clip` –

The clip that was removed

`user_data` –
No description available

Flags: Run First

#### clip-removed

    function clip_removed_callback(self: GES.Layer, clip: GES.Clip, user_data: Object): {
        // javascript callback for the 'clip-removed' signal
    }

Will be emitted after the clip is removed from the layer.

Parameters:

`self` (GES.Layer) –
No description available
`clip` (GES.Clip) –

The clip that was removed

`user_data` (Object) –
No description available

Flags: Run First

#### clip-removed

    def clip_removed_callback (self, clip, *user_data):
        #python callback for the 'clip-removed' signal

Will be emitted after the clip is removed from the layer.

Parameters:

`self` (GES.Layer) –
No description available
`clip` (GES.Clip) –

The clip that was removed

`user_data` (variadic) –
No description available

Flags: Run First

### Properties

#### auto-transition

    “auto-transition” gboolean

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 auto-transition is TRUE, it will be set to TRUE as well.

Flags : Read / Write

#### auto-transition

    “auto-transition” Number

Whether to automatically create a GES.TransitionClip whenever two GES.Source-s that both belong to a GES.Clip in the layer overlap. See GES.Timeline for what counts as an overlap.

When a layer is added to a GES.Timeline, if this property is left as FALSE, but the timeline's auto-transition is TRUE, it will be set to TRUE as well.

Flags : Read / Write

#### auto_transition

    “self.props.auto_transition” bool

Whether to automatically create a GES.TransitionClip whenever two GES.Source-s that both belong to a GES.Clip in the layer overlap. See GES.Timeline for what counts as an overlap.

When a layer is added to a GES.Timeline, if this property is left as FALSE, but the timeline's auto_transition is TRUE, it will be set to TRUE as well.

Flags : Read / Write

#### priority

    “priority” guint

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.

Flags : Read / Write

deprecated : 1.16.0: 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.

#### priority

    “priority” Number

The priority of the layer in the GES.Timeline. 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.prototype.commit) for the change to be taken into account.

Flags : Read / Write

deprecated : 1.16.0: 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.

#### priority

    “self.props.priority” int

The priority of the layer in the GES.Timeline. 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.

Flags : Read / Write

deprecated : 1.16.0: 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.

### Virtual Methods

#### get_objects

    GList *
    get_objects (GESLayer * layer)

method to get the objects contained in the layer

Parameters:

`layer` –
No description available
Returns –
No description available

#### object_added

    object_added (GESLayer * layer,
                  GESClip * object)

Parameters:

`layer` –
No description available
`object` –
No description available

#### vfunc_object_added

    function vfunc_object_added(layer: GES.Layer, object: GES.Clip): {
        // javascript implementation of the 'object_added' virtual method
    }

Parameters:

`layer` (GES.Layer) –
No description available
`object` (GES.Clip) –
No description available

#### do_object_added

    def do_object_added (layer, object):
        #python implementation of the 'object_added' virtual method

Parameters:

`layer` (GES.Layer) –
No description available
`object` (GES.Clip) –
No description available

#### object_removed

    object_removed (GESLayer * layer,
                    GESClip * object)

Parameters:

`layer` –
No description available
`object` –
No description available

#### vfunc_object_removed

    function vfunc_object_removed(layer: GES.Layer, object: GES.Clip): {
        // javascript implementation of the 'object_removed' virtual method
    }

Parameters:

`layer` (GES.Layer) –
No description available
`object` (GES.Clip) –
No description available

#### do_object_removed

    def do_object_removed (layer, object):
        #python implementation of the 'object_removed' virtual method

Parameters:

`layer` (GES.Layer) –
No description available
`object` (GES.Clip) –
No description available

## Constants

### GES_TYPE_LAYER

    #define GES_TYPE_LAYER ges_layer_get_type()

The results of the search are