disguise developers

Python API

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

r34.1 Change Log

Previous version: r34.0

Date: 08/20/2026, 14:33

Added

Classes

EthernetLinkStatus

class EthernetLinkStatus(_BlipValue):
    """
    Reported status of an Ethernet link on the IP VFC card, derived from a NET_IF_STATE event. Exposed via Machine.vfcEthernetLinkStatuses.

OpenTrackIODriver

class OpenTrackIODriver(UdpReceiverDriver):
    """
    A camera tracking driver for interfacing with OpenTrackIO supported cameras.

CapturyDriver

class CapturyDriver(ScreenPositionDriver):
    """
    Tracking driver for the Captury Live motion-capture system.

Class.properties

EventTransportMidiNote.previousKeyframe

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

EventTransportMidiNote.previousKeyframeInputType

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

EventTransportMidiNote.nextKeyframeInputType

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

EventTransportMidiNote.nextKeyframe

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

EventTransportOSC.previous_keyframe

    @property
    def previous_keyframe(self) -> str:
    @previous_keyframe.setter
    def previous_keyframe(self, value: str) -> None:

EventTransportOSC.next_keyframe

    @property
    def next_keyframe(self) -> str:
    @next_keyframe.setter
    def next_keyframe(self, value: str) -> None:

ProofOfPlayRecord.note

    @property
    def note(self) -> str:

ProofOfPlayRecord.videoVersion

    @property
    def videoVersion(self) -> str:

SubscribedStreamStatus.localInterface

    @property
    def localInterface(self) -> IPAddress:
    @localInterface.setter
    def localInterface(self, value: IPAddress) -> None:

TestPatternModule.labelSize

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

UnrealEngineSettings.loggingPreset

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

Class.methods

Machine.vfcEthernetLinkStatusCount

    def vfcEthernetLinkStatusCount(self, iSlot: int) -> int:

Machine.vfcEthernetLinkStatuses

    def vfcEthernetLinkStatuses(self, iSlot: int) -> List[EthernetLinkStatus]:

Class.variables

Machine.DEVICE_STATUS_VFC_FAILED_FTDI

    DEVICE_STATUS_VFC_FAILED_FTDI: Final[int] = 22  #: The VFC's FTDI device was detected but Designer could not communicate with it

Machine.PORT_STATUS_VFC_FAILED_FTDI

    PORT_STATUS_VFC_FAILED_FTDI: Final[int] = 21  #: The VFC's FTDI device was detected but Designer could not communicate with it

Removed

Classes

MeshProjectionWarper

class MeshProjectionWarper(_BlipValue):
    """
    Category: Mappings
    """

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

ParameterReceiver

class ParameterReceiver(_BlipValue):
    """
    Category: Devices
    """

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

Modified

Class.methods

NetSys.getNetworkAdaptors

-    @staticmethod
-    def getNetworkAdaptors(excludeLoopback: bool) -> List[netsys::NetworkAdaptor]:
+    @staticmethod
+    def getNetworkAdaptors(excludeLoopback: bool, excludeLinkLocal: bool) -> List[netsys::NetworkAdaptor]:

OptiCalStagePlan.getProjectionSurfaces

-    def getProjectionSurfaces(self) -> List[Screen2]:
+    def getProjectionSurfaces(self) -> List[Object]:

OptiCal_io.saveCaptureSurfacesToPointClouds

-    @staticmethod
-    def saveCaptureSurfacesToPointClouds(basePath: str, surfaces: List[Screen2]) -> bool:
+    @staticmethod
+    def saveCaptureSurfacesToPointClouds(basePath: str, surfaces: List[Object]) -> bool: