---
title: "Layer"
description: "API documentation for Layer"
url: https://developer.disguise.one/python-api/docs/layer/
---

# Layer

See also: [Track & Sequencing Guide](/plugins/guides/track-and-sequencing)

Base class (inherits properties and methods): _[SuperLayer](/python-api/docs/superlayer#superlayer)_

## Properties

#### **controlPatch** : _[ControlPatch](/python-api/docs/controlpatch#controlpatch)_

#### **dmxDisabled** : _List\[int\]_

#### **dmxIsolated** : _int_

The sequence index of an isolated field. No fields are isolated if this is -1.

#### **fields** : _List\[[FieldSequence](/python-api/docs/fieldsequence#fieldsequence)\]_

#### **hasIsolatedField** : _bool_ _(Read-Only)_

Returns whether this layer contains any Sockpuppet isolated field.

True if an isolated field is present, else False.

#### **isOutput** : _int_

If set to ‘Input’, received values will control the layer. If set to ‘Output’, the layer values will be sent.

_UserName: Direction_

#### **moduleBaseVersion** : _int_

#### **moduleConfig** : _[ModuleConfig](/python-api/docs/moduleconfig#moduleconfig)_

#### **moduleType** : _type_ _(Read-Only)_

#### **moduleVersion** : _int_

## Methods

#### **changeModuleClass**(self, type: _type_)

#### **findSequence**(self, name: _str_) -> _[FieldSequence](/python-api/docs/fieldsequence#fieldsequence)_

#### **findSequenceOfType**(self, type: _str_, name: _str_) -> _[FieldSequence](/python-api/docs/fieldsequence#fieldsequence)_

#### **isExternallyControlled**(self) -> _bool_

Returns True if layer is externally controlled, False otherwise

#### **isGraphical**(self) -> _bool_

#### **isolateSockpuppet**(self, iSequence: _int_)

Sets a sequence on the layer to be isolated in Sockpuppet, or stop isolating.

**Parameters**:

-   iSequence: The sequence index to set isolated, pass -1 to disable isolating on this layer.

#### **keyTimes**(self) -> _List\[float\]_

#### **nSequences**(self) -> _int_

#### **notifyEdit**(self, fs: _[FieldSequence](/python-api/docs/fieldsequence#fieldsequence)_)

#### **sequence**(self, i: _int_) -> _[FieldSequence](/python-api/docs/fieldsequence#fieldsequence)_

#### **setControlPatch**(self, patch: _[ControlPatch](/python-api/docs/controlpatch#controlpatch)_, isOutput: _bool_)

## Static Methods

#### **isStringValidForDynamicNaming**(string: _str_) -> _bool_

#### **makeNewNames**(str: _str_, layers: _List\[Any\]_) -> _NewNames_
