disguise developers

Python API

Execute Python code in Designer sessions to control and query projects programmatically.

r33.1 Change Log

Previous version: r33.0

Date: 04/23/2026, 20:01

Added

Classes

NetworkBandwidthDomain

class NetworkBandwidthDomain(Domain):
    """
    Domain containing the network bandwidth usage for machines in the session.

MulticastDestination

class MulticastDestination(Resource):
    """
    A multicast destination based on IP and port.

NetworkConflictDomain

class NetworkConflictDomain(Domain):
    """
    Domain containing the network addresses and port for monitored resources.
    
    Category: Monitoring
    """

    null: Self  # type: ignore
    _classInfo: 'ClassInfo'

ProofOfPlayRecord

class ProofOfPlayRecord(_BlipValue):
    """
    A record of video playback activity for a single clip on a layer

CueAttrWidgets

class CueAttrWidgets(_BlipValue):
    """
    Used as source for iterating over all created widgets when reading tags and notes values.
    
    Category: GUI
    """

    null: Self  # type: ignore
    _classInfo: 'ClassInfo'

GuiSystem

class GuiSystem(Subsystem):
    """
    A system which manages the general, high level and global variables and methods for the Designer GUI.

ReceiverStatus

class ReceiverStatus(_BlipValue):
    """
    Represents the stats of one node subscribing to receive exactly one texture parameter stream.

MachineNetAdaptors

class MachineNetAdaptors(_BlipValue):
    """
    /** Network adapter information of a particular machine. */
    
    Category: D3Net
    """

    null: Self  # type: ignore
    _classInfo: 'ClassInfo'

BandwidthUsage

class BandwidthUsage(_BlipValue):
    """
    /** Return type for all queries to the NetworkBandwidthDomain. */

SectionInfo

class SectionInfo(_BlipValue):
    """
    Info about a given section on a Track.

ProofOfPlaySubsystem

class ProofOfPlaySubsystem(Subsystem):
    """
    Subsystem that tracks video playback across all layers for proof-of-play reporting

TextureParamStatusManager

class TextureParamStatusManager(_BlipValue):
    """
    Centralized state for all active texture parameter streams and the RS nodes subscribed to receive them.

ActiveNetworkHeadConfig

class ActiveNetworkHeadConfig(_BlipValue):
    """
    An active instance of a network feed configuration.
    
    Used in active feeds as a cached runtime copy of the network feed configuration.
    
    Category: Feed
    """

    null: Self  # type: ignore
    _classInfo: 'ClassInfo'

NetworkHeadFields

class NetworkHeadFields(_BlipValue):
    """
    /** Configurable properties of a network feed head. */
    
    Category: Feed
    """

    null: Self  # type: ignore
    _classInfo: 'ClassInfo'

NetworkFeedConfig

class NetworkFeedConfig(FeedHeadConfig):
    """
    A feed configuration used for IP streams.

StreamStatus

class StreamStatus(_BlipValue):
    """
    Represents one outgoing stream containing an entire texture, or a segment of a texture.

Class.constructors

AxisAngle.__init__

    @overload
    def __init__(self) -> None:

AxisAngle.__init__

    @overload
    def __init__(self, axis: Type1, angle: Type2) -> None:

AxisAngle.__init__

    @overload
    def __init__(self, R: Mat, bLeftHanded: bool) -> None:

AxisAngle.__init__

    @overload
    def __init__(self, axis: Type1, angle: Type2, bLeftHanded: bool) -> None:

HashTable.__init__

    @overload
    def __init__(self, rhs: HashTable[Type1]) -> None:

MonitorCollection.__init__

    @overload
    def __init__(self, other: MonitorCollection[Type1]) -> None:

RI.__init__

    @overload
    def __init__(self, rp: RI[Type1]) -> None:

RI.__init__

    @overload
    def __init__(self, rp: Type1) -> None:

Class.methods

AxisAngle.calcEuler

    def calcEuler(self) -> Type1:

AxisAngle.__ne__

    def __ne__(self, rhs: AxisAngle[Type1, Type2]) -> bool:  # type: ignore

AxisAngle.rotate

    def rotate(self, wpoint: Type1) -> Type1:

AxisAngle.calcRotationMatrix

    def calcRotationMatrix(self) -> Mat:

AxisAngle.__eq__

    def __eq__(self, rhs: AxisAngle[Type1, Type2]) -> bool:  # type: ignore

DmxBankSlot.make

    @staticmethod
    def make(bank: int, slot: int) -> DmxBankSlot:

FeedScene.insertHeadConfig

    def insertHeadConfig(self, feedHeadConfig: FeedHeadConfig, idx: int) -> None:

FeedScene.moveSelectedHeadConfigs

    @staticmethod
    def moveSelectedHeadConfigs(destination: FeedScene) -> None:

FeedScene.copySelectedHeadConfigs

    @staticmethod
    def copySelectedHeadConfigs(destination: FeedScene) -> None:

FieldSequence.sockpuppetCanOutput

    def sockpuppetCanOutput(self) -> bool:

HoldOutputSystem.setHoldOutput

    def setHoldOutput(self, r: Resource, holding: bool) -> None:

HoldOutputSystem.isOutputHolding

    def isOutputHolding(self, uid: int) -> bool:

Layer.isolateSockpuppet

    def isolateSockpuppet(self, iSequence: int) -> None:

Machine.getDeviceVFCCount

    def getDeviceVFCCount(self) -> int:

Machine.getOrCreateRedundancyMulticastDestination

    def getOrCreateRedundancyMulticastDestination(self, current: int) -> MulticastDestination:

Machine.removeMulticastInfo

    def removeMulticastInfo(self, index: int) -> None:

Machine.getDeviceActivePortsCount

    def getDeviceActivePortsCount(self) -> int:

Machine.createNextMulticastInfo

    def createNextMulticastInfo(self) -> None:

Machine.getOrCreatePrimaryMulticastDestination

    def getOrCreatePrimaryMulticastDestination(self, current: int) -> MulticastDestination:

Machine.getNetworkAdaptors

    def getNetworkAdaptors(self) -> List[netsys_NetworkAdaptor]:

NotchHandle.activeInstances

    def activeInstances(self) -> int:

RenderStreamModuleConfigBase.cancelSync

    def cancelSync(self, destHostname: str) -> None:

RenderStreamSystem.textureParamStatus

    def textureParamStatus(self) -> TextureParamStatusManager:

Track.findTagBeat

    def findTagBeat(self, tag: Tag) -> float:

Track.sectionInfo

    def sectionInfo(self, iSection: int) -> SectionInfo:

VFCDevice.getOrCreateIPNetConfig

    def getOrCreateIPNetConfig(self, itf: int) -> VFCIPNetConfig:

Class.properties

AxisAngle.leftHanded

    @property
    def leftHanded(self) -> bool:

AxisAngle.axis

    @property
    def axis(self) -> Vec:
    @axis.setter
    def axis(self, value: Vec) -> None:

AxisAngle.angle

    @property
    def angle(self) -> float:
    @angle.setter
    def angle(self, value: float) -> None:

FeedHeadConfig.isSelected

    @property
    def isSelected(self) -> bool:
    @isSelected.setter
    def isSelected(self, value: bool) -> None:

MVCameraStatsDisplay.bandwidthMbit

    @property
    def bandwidthMbit(self) -> float:

Machine.primaryMulticastDestinations

    @property
    def primaryMulticastDestinations(self) -> List[MulticastDestination]:
    @primaryMulticastDestinations.setter
    def primaryMulticastDestinations(self, value: List[MulticastDestination]) -> None:

Machine.redundancyMulticastDestinations

    @property
    def redundancyMulticastDestinations(self) -> List[MulticastDestination]:
    @redundancyMulticastDestinations.setter
    def redundancyMulticastDestinations(self, value: List[MulticastDestination]) -> None:

MeshProjection.enableWarp

    @property
    def enableWarp(self) -> bool:
    @enableWarp.setter
    def enableWarp(self, value: bool) -> None:

MeshProjection.pixelsPerDegree

    @property
    def pixelsPerDegree(self) -> Vec2:
    @pixelsPerDegree.setter
    def pixelsPerDegree(self, value: Vec2) -> None:

MeshProjection.overscan

    @property
    def overscan(self) -> Vec2:
    @overscan.setter
    def overscan(self, value: Vec2) -> None:

MeshProjection.resolutionMethod

    @property
    def resolutionMethod(self) -> int:
    @resolutionMethod.setter
    def resolutionMethod(self, value: int) -> None:

PathsManager.machineBin

    @property
    def machineBin(self) -> str:

RenderStreamModuleConfigBase.lastChangeTime

    @property
    def lastChangeTime(self) -> float:
    @lastChangeTime.setter
    def lastChangeTime(self, value: float) -> None:

SuperLayer.enabled

    @property
    def enabled(self) -> bool:
    @enabled.setter
    def enabled(self, onOff: bool) -> None:

netsys_NetworkAdaptor.receiveLinkSpeed

    @property
    def receiveLinkSpeed(self) -> int:

netsys_NetworkAdaptor.transmitLinkSpeed

    @property
    def transmitLinkSpeed(self) -> int:

netsys_NetworkAdaptor.uniqueId

    @property
    def uniqueId(self) -> str:

Class.nested_classes

HashTable.HashTable

    class HashTable(Generic[Type1], _BlipValue):
        """
        Category: Utility

Class.variables

MeshProjection.ResolutionMethodConstant

    ResolutionMethodConstant: Final[int] = 0  #: Index of the 'Constant' resolution method

MeshProjection.ResolutionMethodPixelsPerDegree

    ResolutionMethodPixelsPerDegree: Final[int] = 2  #: Index of the 'Pixels Per Degree' resolution method

MeshProjection.ResolutionMethodScaled

    ResolutionMethodScaled: Final[int] = 1  #: Index of the 'Scaled' resolution method

Type_aliases

Type4

Type4 = TypeVar('Type4')

Type2

Type2 = TypeVar('Type2')

Type1

Type1 = TypeVar('Type1')

Type3

Type3 = TypeVar('Type3')

Type5

Type5 = TypeVar('Type5')

Removed

Class.constructors

HashTable.__init__

    @overload
    def __init__(self, other: HashTable[T]) -> None:

MonitorCollection.__init__

    @overload
    def __init__(self, other: MonitorCollection[T]) -> None:

RI.__init__

    @overload
    def __init__(self, rp: RI[T]) -> None:

RI.__init__

    @overload
    def __init__(self, rp: TransportManager) -> None:

RI.__init__

    @overload
    def __init__(self, rp: TransportManager) -> None:

Class.methods

D3NetManager.directorIsX1

    def directorIsX1(self) -> bool:

D3NetManager.machineIsX1

    def machineIsX1(self, machine: Machine) -> bool:

Variables

blip

blip: Blip

colours

colours: Colours

d3

d3: D3

dbg

dbg: SwitchableString

nullopt

nullopt: std_nullopt

packageSystem

packageSystem: PackageSystem

undo

undo: UndoSystem

gui

gui: Gui

d3gui

d3gui: Gui

renderer

renderer: DxRenderer

Modified

Class.methods

Array2.item

-    def item(self, i: int, j: int) -> Vec2:
+    def item(self, i: int, j: int) -> Type1:

Array2.set

-    def set(self, i: int, j: int, item: Vec2) -> None:
+    def set(self, i: int, j: int, item: Type1) -> None:

HashTable.findSingle

-    def findSingle(self, s: str) -> int:
+    def findSingle(self, s: str) -> Type1:

HashTable.replace

-    def replace(self, s: str, t: int) -> None:
+    def replace(self, s: str, t: Type1) -> None:

MonitorCollection.active

-    def active(self) -> List[RemoteMonitor]:
+    def active(self) -> List[MetricMonitor]:

MonitorCollection.all

-    def all(self) -> List[RemoteMonitor]:
+    def all(self) -> List[MetricMonitor]:

MonitorCollection.expired

-    def expired(self) -> List[RemoteMonitor]:
+    def expired(self) -> List[MetricMonitor]:

MonitorCollection.fuzzyMatch

-    def fuzzyMatch(self, string: str) -> MonitorCollection[T]:
+    def fuzzyMatch(self, string: str) -> MonitorCollection[Type1]:

MonitorCollection.uncategorised

-    def uncategorised(self) -> MonitorCollection[T]:
+    def uncategorised(self) -> MonitorCollection[Type1]:

MonitorCollection.withCategories

-    def withCategories(self, categories: List[str]) -> MonitorCollection[T]:
+    def withCategories(self, categories: List[str]) -> MonitorCollection[Type1]:

TimeSequence.clear

-    def clear(self) -> TimeSequence[T]:
+    def clear(self) -> TimeSequence[Type1]:

TimeSequence.getV

-    def getV(self, i: int) -> str:
+    def getV(self, i: int) -> Type1:

TimeSequence.set

-    def set(self, t: float, v: str) -> TimeSequence[T]:
+    def set(self, t: float, v: Type1) -> TimeSequence[Type1]:

TimeSequence.setV

-    def setV(self, i: int, v: str) -> None:
+    def setV(self, i: int, v: Type1) -> None:

ClusterAssigner.isValidWorkloadTransportCombination

-    @staticmethod
-    def isValidWorkloadTransportCombination(type: WorkloadTransportType, format: WorkloadTransportFormat, bitDepth: WorkloadTransportBitDepth, alphaEnabled: bool) -> bool:
+    @staticmethod
+    def isValidWorkloadTransportCombination(type: TransportType, format: TransportFormat, bitDepth: TransportBitDepth, alphaEnabled: bool) -> bool:

DxMaterial.__new__

-    @staticmethod
-    def __new__(cls, args, *args) -> Any:
+    @staticmethod
+    def __new__(cls, *args) -> Any: