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

# Machine

See also: [D3Net Guide](/plugins/guides/d3net)

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

## Nested Classes

-   [BitDepthOptions](/python-api/docs/machine.bitdepthoptions#bitdepthoptions)

## Properties

#### **DVI\_matrix\_preset** : _str_

#### **IP\_address** : _str_ _(Read-Only)_

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

#### **alternate\_feed** : _[FeedScene](/python-api/docs/feedscene#feedscene)_

#### **audio** : _int_

_Options: {0: ‘Off’, 1: ‘Timeline Only’, 2: ‘Videofiles Only’, 3: ‘On’}_

#### **bandwidthSources** : _List\[BandwidthSource\]_

Network bandwidth contributions attributed to this machine

#### **bit\_depth\_selection** : _int_

_Options: {0: ‘Use Project Bit Depth’, 1: ‘8 Bit’, 2: ‘10 Bit’}  
Category: Understudy Targets_

#### **captureCardVariant** : _int_

Select which capture card the server has

_Options: {0: ‘Deltacast’, 1: ‘Matrox’}  
Category: Understudy Targets  
UserName: Capture card variant_

#### **content\_distribution\_target\_mode** : _[ContentDistributionTargetMode](/python-api/docs/contentdistributiontargetmode#contentdistributiontargetmode)_

#### **d3ProjectsFolder** : _str_ _(Read-Only)_

#### **d3\_projects\_folder** : _str_

#### **d3\_projects\_folder\_netname** : _str_

#### **device\_mapping** : _[DeviceMapping](/python-api/docs/devicemapping#devicemapping)_

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

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

#### **feed** : _[FeedScene](/python-api/docs/feedscene#feedscene)_

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

#### **hostname** : _str_

#### **httpPort** : _int_

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

#### **machineType** : _int_

_Options: {0: ‘Designer’, 1: ‘V2.5’, 2: ‘4x2pro’, 3: ‘4x4pro’, 4: ‘2x2plus’, 5: ‘4x4pro (No VFC)’, 6: ‘Node’, 7: ‘2x4pro’, 8: ‘gx 1’, 9: ‘gx 2’, 10: ‘solo’, 11: ‘vx 4’, 12: ‘gx 2c’, 13: ‘rx’, 14: ‘rx II’, 15: ‘vx 1’, 16: ‘vx 2’, 17: ‘vx 4+’, 18: ‘gx 3’, 19: ‘vx 4n’, 20: ‘ex 3’, 21: ‘vx 2+’, 22: ‘vx 3’, 23: ‘Custom RenderNode’, 24: ‘rx III’, 25: ‘ex 2’, 26: ‘ex 2c’, 27: ‘ex 3+’, 28: ‘gx 3+’}  
Category: Understudy Targets_

#### **media** : _[MachineMediaRegistry](/python-api/docs/machinemediaregistry#machinemediaregistry)_

#### **name** : _str_ _(Read-Only)_

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

#### **networkStatus** : _[Network\_CommsNodeStatus](/python-api/docs/network_commsnodestatus#network_commsnodestatus)_ _(Read-Only)_

#### **nodeId** : _optional\[int\]_ _(Read-Only)_

#### **nodeName** : _str_ _(Read-Only)_

#### **renderstream\_engines\_folder** : _str_

#### **renderstream\_projects\_folder** : _str_

#### **role** : _[MachineRole](/python-api/docs/machinerole#machinerole)_

#### **runningAs** : _[Machine](/python-api/docs/machine#machine)_ _(Read-Only)_

#### **startupGuiMode** : _int_

_Options: {0: ‘Off When Actor’, 1: ‘Always On’, 2: ‘Always Off’}_

#### **targets** : _List\[[Machine](/python-api/docs/machine#machine)\]_

#### **typeName** : _str_ _(Read-Only)_

## Variables

#### **Actor** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.Actor

#### **BITS\_10** : _Final\[[Machine.BitDepthOptions](/python-api/docs/machine.bitdepthoptions#bitdepthoptions)\]_ = Machine.BitDepthOptions.Bits10

#### **BITS\_8** : _Final\[[Machine.BitDepthOptions](/python-api/docs/machine.bitdepthoptions#bitdepthoptions)\]_ = Machine.BitDepthOptions.Bits8

#### **BP\_MODEL\_1** : _Final\[[BPModel](/python-api/docs/bpmodel#bpmodel)\]_ = BPModel.BPv1

#### **BP\_MODEL\_2** : _Final\[[BPModel](/python-api/docs/bpmodel#bpmodel)\]_ = BPModel.BPv2

#### **BP\_MODEL\_UNKNOWN** : _Final\[[BPModel](/python-api/docs/bpmodel#bpmodel)\]_ = BPModel.UNKNOWN

#### **CustomRenderNode** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.CustomRenderNode

#### **DEVICE\_STATUS\_DIFFERENT\_BIT\_DEPTH** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_BIT\_DEPTH

#### **DEVICE\_STATUS\_DIFFERENT\_EDID\_EMULATION** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_EDID\_EMULATION

#### **DEVICE\_STATUS\_DIFFERENT\_IPNETCONFIG\_0** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_IPNETCONFIG\_0

#### **DEVICE\_STATUS\_DIFFERENT\_IPNETCONFIG\_1** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_IPNETCONFIG\_1

#### **DEVICE\_STATUS\_DIFFERENT\_IPNETNVMCONFIG\_0** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_IPNETNVMCONFIG\_0

#### **DEVICE\_STATUS\_DIFFERENT\_IPNETNVMCONFIG\_1** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_IPNETNVMCONFIG\_1

#### **DEVICE\_STATUS\_DIFFERENT\_PTP\_DOMAIN\_NUMBER** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_PTP\_DOMAIN\_NUMBER

#### **DEVICE\_STATUS\_DIFFERENT\_PTP\_PROFILE** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_PTP\_PROFILE

#### **DEVICE\_STATUS\_DIFFERENT\_REFRESH\_RATE** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_REFRESH\_RATE

#### **DEVICE\_STATUS\_DIFFERENT\_RESOLUTION** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_RESOLUTION

#### **DEVICE\_STATUS\_DIFFERENT\_VIDEOSINK\_RATE** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_VIDEOSINK\_RATE

#### **DEVICE\_STATUS\_DIFFERENT\_VIDEO\_OUTPUT\_MODE** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_DIFFERENT\_VIDEO\_OUTPUT\_MODE

#### **DEVICE\_STATUS\_ERROR** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_ERROR

#### **DEVICE\_STATUS\_INCOMPATIBLE\_VFC** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_INCOMPATIBLE\_VFC

#### **DEVICE\_STATUS\_INVALID\_BIT\_DEPTH** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_INVALID\_BIT\_DEPTH

#### **DEVICE\_STATUS\_NORMAL** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_NORMAL

#### **DEVICE\_STATUS\_NO\_MACHINE\_CONNECTED** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_NO\_MACHINE\_CONNECTED

#### **DEVICE\_STATUS\_NO\_OUTPUT\_CONNECTED** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_NO\_OUTPUT\_CONNECTED

#### **DEVICE\_STATUS\_NO\_SFP\_CONNECTED** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_NO\_SFP\_CONNECTED

#### **DEVICE\_STATUS\_PTP\_NOT\_LOCKED** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_PTP\_NOT\_LOCKED

#### **DEVICE\_STATUS\_UNRESPONSIVE** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_UNRESPONSIVE

#### **DEVICE\_STATUS\_VFC\_FAILED\_FTDI** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_VFC\_FAILED\_FTDI

The VFC’s FTDI device was detected but Designer could not communicate with it

#### **DEVICE\_STATUS\_VFC\_FAILED\_INIT** : _Final\[[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)\]_ = VFCDeviceStatus.STATUS\_VFC\_FAILED\_INIT

The VFC failed initialisation

#### **DedicatedDirector** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.DedicatedDirector

#### **Deltacast** : _Final\[[MachineCaptureCardVariant](/python-api/docs/machinecapturecardvariant#machinecapturecardvariant)\]_ = MachineCaptureCardVariant.Deltacast

#### **Designer** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Designer

#### **Ex\_2** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Ex\_2

#### **Ex\_2c** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Ex\_2c

#### **Ex\_3** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Ex\_3

#### **Ex\_3Plus** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Ex\_3Plus

#### **FIFO\_OK** : _Final\[[FIFOState](/python-api/docs/fifostate#fifostate)\]_ = FIFOState.OK

#### **FIFO\_OVERFLOW** : _Final\[[FIFOState](/python-api/docs/fifostate#fifostate)\]_ = FIFOState.Overflow

#### **FIFO\_UNDERRUN** : _Final\[[FIFOState](/python-api/docs/fifostate#fifostate)\]_ = FIFOState.Underrun

#### **FIFO\_UNKNOWN** : _Final\[[FIFOState](/python-api/docs/fifostate#fifostate)\]_ = FIFOState.Unknown

#### **Gx\_1** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Gx\_1

#### **Gx\_2** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Gx\_2

#### **Gx\_2c** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Gx\_2c

#### **Gx\_3** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Gx\_3

#### **Gx\_3Plus** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Gx\_3Plus

#### **Matrox** : _Final\[[MachineCaptureCardVariant](/python-api/docs/machinecapturecardvariant#machinecapturecardvariant)\]_ = MachineCaptureCardVariant.Matrox

#### **MobileEditor** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.MobileEditor

#### **NET\_MODE\_DHCP** : _Final\[[NetworkMode](/python-api/docs/networkmode#networkmode)\]_ = NetworkMode.DHCP

#### **NET\_MODE\_STATIC** : _Final\[[NetworkMode](/python-api/docs/networkmode#networkmode)\]_ = NetworkMode.STATIC

#### **NET\_MODE\_UNKNOWN** : _Final\[[NetworkMode](/python-api/docs/networkmode#networkmode)\]_ = NetworkMode.UNKNOWN

#### **NO\_BP** : _Final\[[BPModel](/python-api/docs/bpmodel#bpmodel)\]_ = BPModel.NO\_BP

#### **Node** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Node

#### **NonDedicatedDirector** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.NonDedicatedDirector

#### **PORT\_STATUS\_DESIGNER** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DESIGNER

#### **PORT\_STATUS\_DIFFERENT\_BIT\_DEPTH** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_BIT\_DEPTH

#### **PORT\_STATUS\_DIFFERENT\_COL\_CONV\_PRO** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_COL\_CONV\_PRO

#### **PORT\_STATUS\_DIFFERENT\_QUAD\_DIVISION** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_QUAD\_DIVISION

#### **PORT\_STATUS\_DIFFERENT\_REFRESH\_RATE** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_REFRESH\_RATE

#### **PORT\_STATUS\_DIFFERENT\_REFRESH\_RATE\_GLOBAL** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_REFRESH\_RATE\_GLOBAL

#### **PORT\_STATUS\_DIFFERENT\_RESOLUTION** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_RESOLUTION

#### **PORT\_STATUS\_DIFFERENT\_SPLIT\_MODE** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_SPLIT\_MODE

#### **PORT\_STATUS\_DIFFERENT\_SUBSAMPLING** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_SUBSAMPLING

#### **PORT\_STATUS\_DIFFERENT\_TIMING\_MODE** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_TIMING\_MODE

#### **PORT\_STATUS\_DIFFERENT\_TRANSPORT\_TYPE** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_TRANSPORT\_TYPE

#### **PORT\_STATUS\_DIFFERENT\_TRANS\_CHAR** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_TRANS\_CHAR

#### **PORT\_STATUS\_DIFFERENT\_TXIPDEST\_ETH0** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_TXIPDEST\_ETH0

#### **PORT\_STATUS\_DIFFERENT\_TXIPDEST\_ETH1** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_DIFFERENT\_TXIPDEST\_ETH1

#### **PORT\_STATUS\_ERROR** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_ERROR

#### **PORT\_STATUS\_INCOMPATIBLE\_VFC** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_INCOMPATIBLE\_VFC

#### **PORT\_STATUS\_NORMAL** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_NORMAL

#### **PORT\_STATUS\_NO\_MACHINE\_CONNECTED** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_NO\_MACHINE\_CONNECTED

#### **PORT\_STATUS\_NO\_OUTPUT\_CONNECTED** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_NO\_OUTPUT\_CONNECTED

#### **PORT\_STATUS\_STREAM\_DISABLED** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_STREAM\_DISABLED

#### **PORT\_STATUS\_VFC\_FAILED\_FTDI** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_VFC\_FAILED\_FTDI

The VFC’s FTDI device was detected but Designer could not communicate with it

#### **PORT\_STATUS\_VFC\_FAILED\_INIT** : _Final\[[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)\]_ = VFCPortStatus.STATUS\_VFC\_FAILED\_INIT

The VFC failed initialisation

#### **PTP\_PROFILE\_SMPTE2059\_2015** : _Final\[[PTPProfile](/python-api/docs/ptpprofile#ptpprofile)\]_ = PTPProfile.SMPTE2059\_2015

#### **PTP\_PROFILE\_SMPTE2059\_2021** : _Final\[[PTPProfile](/python-api/docs/ptpprofile#ptpprofile)\]_ = PTPProfile.SMPTE2059\_2021

#### **PTP\_PROFILE\_UNKNOWN** : _Final\[[PTPProfile](/python-api/docs/ptpprofile#ptpprofile)\]_ = PTPProfile.Unknown

#### **PTP\_STATES\_FREERUN** : _Final\[[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)\]_ = PTPLockStates.FREERUN

#### **PTP\_STATES\_LOCKED** : _Final\[[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)\]_ = PTPLockStates.LOCKED

#### **PTP\_STATES\_LOCKING** : _Final\[[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)\]_ = PTPLockStates.LOCKING

#### **PTP\_STATES\_STOPPED** : _Final\[[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)\]_ = PTPLockStates.STOPPED

#### **PTP\_STATES\_UNKNOWN** : _Final\[[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)\]_ = PTPLockStates.UNKNOWN

#### **PTP\_STATES\_UNLOCKED** : _Final\[[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)\]_ = PTPLockStates.UNLOCKED

#### **Plus\_2x2** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Plus\_2x2

#### **Pro\_2x4** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Pro\_2x4

#### **Pro\_4x2** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Pro\_4x2

#### **Pro\_4x4** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Pro\_4x4

#### **Pro\_4x4\_NoVfcs** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Pro\_4x4\_NoVfcs

#### **RenderNode** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.RenderNode

#### **Rx** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Rx

#### **Rx\_II** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Rx\_II

#### **Rx\_III** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Rx\_III

#### **SFP\_TYPE\_10G** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.TenG

#### **SFP\_TYPE\_25G** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.TwentyFiveG

#### **SFP\_TYPE\_DUAL\_SDI** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.DualSDI

#### **SFP\_TYPE\_INVALID\_SFP\_FOR\_SLOT** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.InvalidSFPForSlot

#### **SFP\_TYPE\_NONE** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.None\_

#### **SFP\_TYPE\_SINGLE\_SDI** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.SingleSDI

#### **SFP\_TYPE\_UNKNOWN** : _Final\[[SFPType](/python-api/docs/sfptype#sfptype)\]_ = SFPType.Unknown

#### **STATUS\_GENLOCK** : _Final\[[GenlockSyncState](/python-api/docs/genlocksyncstate#genlocksyncstate)\]_ = GenlockSyncState.STATUS\_GENLOCK

#### **STATUS\_GENLOCK\_BY\_PTP** : _Final\[[GenlockSyncState](/python-api/docs/genlocksyncstate#genlocksyncstate)\]_ = GenlockSyncState.STATUS\_GENLOCK\_BY\_PTP

#### **STATUS\_NO\_GENLOCK** : _Final\[[GenlockSyncState](/python-api/docs/genlocksyncstate#genlocksyncstate)\]_ = GenlockSyncState.STATUS\_NO\_GENLOCK

#### **SYNC\_STATUS\_CONFLICTING\_EDIDS** : _Final\[[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)\]_ = OutputSyncState.STATUS\_CONFLICTING\_EDIDS

#### **SYNC\_STATUS\_CONFLICTING\_RESOLUTIONS** : _Final\[[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)\]_ = OutputSyncState.STATUS\_CONFLICTING\_RESOLUTIONS

#### **SYNC\_STATUS\_FREE\_RUN** : _Final\[[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)\]_ = OutputSyncState.STATUS\_FREE\_RUN

#### **SYNC\_STATUS\_LOCKED\_EXTERNAL** : _Final\[[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)\]_ = OutputSyncState.STATUS\_LOCKED\_EXTERNAL

#### **SYNC\_STATUS\_LOCKED\_INTERNAL** : _Final\[[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)\]_ = OutputSyncState.STATUS\_LOCKED\_INTERNAL

#### **SYNC\_STATUS\_LOCKED\_PTP** : _Final\[[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)\]_ = OutputSyncState.STATUS\_LOCKED\_PTP

#### **SYS\_SYNC\_MODE\_DP** : _Final\[[SystemSyncMode](/python-api/docs/systemsyncmode#systemsyncmode)\]_ = SystemSyncMode.DP\_SYNC

#### **SYS\_SYNC\_MODE\_EXT** : _Final\[[SystemSyncMode](/python-api/docs/systemsyncmode#systemsyncmode)\]_ = SystemSyncMode.EXT\_SYNC

#### **SYS\_SYNC\_MODE\_PTP** : _Final\[[SystemSyncMode](/python-api/docs/systemsyncmode#systemsyncmode)\]_ = SystemSyncMode.PTP\_SYNC

#### **SYS\_SYNC\_MODE\_UNKNOWN** : _Final\[[SystemSyncMode](/python-api/docs/systemsyncmode#systemsyncmode)\]_ = SystemSyncMode.UNKNOWN

#### **Solo** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.Solo

#### **Solo\_v1** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Solo\_v1

#### **USE\_PROJECT\_BIT\_DEPTH** : _Final\[[Machine.BitDepthOptions](/python-api/docs/machine.bitdepthoptions#bitdepthoptions)\]_ = Machine.BitDepthOptions.ProjectBitDepth

#### **Understudy** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.Understudy

#### **UnknownRole** : _Final\[[MachineRole](/python-api/docs/machinerole#machinerole)\]_ = MachineRole.UnknownRole

#### **V2\_5** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.V2\_5

#### **VID\_OUTPUT\_NONE** : _Final\[[VideoOutput](/python-api/docs/videooutput#videooutput)\]_ = VideoOutput.NONE

#### **VID\_OUTPUT\_SDI** : _Final\[[VideoOutput](/python-api/docs/videooutput#videooutput)\]_ = VideoOutput.SDI

#### **VID\_OUTPUT\_ST2110** : _Final\[[VideoOutput](/python-api/docs/videooutput#videooutput)\]_ = VideoOutput.ST2110

#### **Vx\_1** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_1

#### **Vx\_2** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_2

#### **Vx\_2Plus** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_2Plus

#### **Vx\_3** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_3

#### **Vx\_4** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_4

#### **Vx\_4Plus** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_4Plus

#### **Vx\_4n** : _Final\[[MachineType](/python-api/docs/machinetype#machinetype)\]_ = MachineType.Vx\_4n

## Methods

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

#### **applyDisplaySettings**(self)

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

#### **applyPortConfigs**(self, blocking: _bool_)

#### **assertHouseSync**(self)

#### **assignNewFeed**(self)

#### **bpModel**(self) -> _[BPModel](/python-api/docs/bpmodel#bpmodel)_

#### **clearHouseSync**(self)

#### **fifoState**(self, iSlot: _int_, iPort: _int_) -> _[FIFOState](/python-api/docs/fifostate#fifostate)_

#### **findDisplayAdapterList**(self) -> _[DisplayAdapterList](/python-api/docs/displayadapterlist#displayadapterlist)_

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

Calculates the number of active ports for each vfc device of a given machine.

**Returns** the number of vfc devices active ports

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

Calculates the number of vfc device of a given machine.

**Returns** the number of vfc

#### **getNetworkAdaptors**(self) -> _List\[[netsys\_NetworkAdaptor](/python-api/docs/netsys_networkadaptor#netsys_networkadaptor)\]_

Returns a list of all network adaptors on this machine.

#### **getSlotToSyncPTP**(self) -> _optional\[int\]_

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

#### **gpuVendor**(self) -> _[GPUVendor](/python-api/docs/gpuvendor#gpuvendor)_

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

Tells us if this machine has HDMI capture so we can give the user an additional option  
**Returns** true if this machine has HDMI capture

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

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

#### **incomingHouseSyncSignal**(self) -> _float_

#### **injectVFCEvent**(self, iSlot: _int_, event: _str_)

#### **ipVfcSdpPath**(self, iSlot: _int_, iPort: _int_, eth: _int_) -> _str_

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

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

#### **isVfcReady**(self, iSlot: _int_) -> _bool_

#### **machineUsesMapping**(self, mapping: _[Projection](/python-api/docs/projection#projection)_) -> _bool_

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

Whether this machine needs to Apply Feed Settings.

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

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

Notify user if this machine needs to Apply Feed Settings.

#### **outputMode**(self, iGpuPort: _int_) -> _[DisplayMode](/python-api/docs/displaymode#displaymode)_

#### **refreshDisplayAdapters**(self)

#### **resetEdids**(self)

#### **resetHDMI**(self, iSlot: _int_)

#### **runVFCDebugCommand**(self, iSlot: _int_, command: _str_)

#### **setCompatibleQuadResolution**(self)

#### **setVFCTracing**(self, iSlot: _int_, tracing: _bool_)

#### **slotsWithInvalidSFPState**(self) -> _List\[int\]_

#### **streamEnabled**(self, iSlot: _int_, iPort: _int_) -> _bool_

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

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

#### **swapVFCinterlacedField**(self, iSlot: _int_, iPort: _int_)

#### **syncStatus**(self, iSlot: _int_) -> _[OutputSyncState](/python-api/docs/outputsyncstate#outputsyncstate)_

#### **vfcDNSConfig**(self, iSlot: _int_, nvm: _bool_) -> _str_

#### **vfcEthernetLinkStatusCount**(self, iSlot: _int_) -> _int_

#### **vfcEthernetLinkStatuses**(self, iSlot: _int_) -> _List\[[EthernetLinkStatus](/python-api/docs/ethernetlinkstatus#ethernetlinkstatus)\]_

#### **vfcFPGATemperature**(self, iSlot: _int_) -> _float_

#### **vfcFirmwareVersion**(self, iSlot: _int_) -> _[VFCFpgaVersion](/python-api/docs/vfcfpgaversion#vfcfpgaversion)_

#### **vfcGeneration**(self, iSlot: _int_) -> _[VFCGeneration](/python-api/docs/vfcgeneration#vfcgeneration)_

#### **vfcIPNetConfigAddress**(self, iSlot: _int_, eth: _int_, nvm: _bool_) -> _[IPAddress](/python-api/docs/ipaddress#ipaddress)_

#### **vfcMacAddress**(self, iSlot: _int_, eth: _int_) -> _str_

#### **vfcPTPClkID**(self, iSlot: _int_) -> _str_

#### **vfcPTPDomainNbr**(self, iSlot: _int_) -> _int_

#### **vfcPTPGrandmasterCount**(self, iSlot: _int_) -> _int_

#### **vfcPTPGrandmasters**(self, iSlot: _int_) -> _List\[[PTPGrandmaster](/python-api/docs/ptpgrandmaster#ptpgrandmaster)\]_

#### **vfcPTPLockDistance**(self, iSlot: _int_) -> _int_

#### **vfcPTPLockState**(self, iSlot: _int_) -> _[PTPLockStates](/python-api/docs/ptplockstates#ptplockstates)_

#### **vfcPTPPortNbr**(self, iSlot: _int_) -> _int_

#### **vfcPTPProfile**(self, iSlot: _int_) -> _[PTPProfile](/python-api/docs/ptpprofile#ptpprofile)_

#### **vfcPortCurrentDisplayMode**(self, iSlot: _int_, iPort: _int_) -> _[DisplayMode](/python-api/docs/displaymode#displaymode)_

#### **vfcPortDisplayModes**(self, iSlot: _int_, iPort: _int_) -> _List\[[DisplayMode](/python-api/docs/displaymode#displaymode)\]_

#### **vfcPortFsStart**(self, iSlot: _int_, iPort: _int_) -> _int_

#### **vfcPortLed**(self, iSlot: _int_, iPort: _int_) -> _[Colour](/python-api/docs/colour#colour)_

#### **vfcPortSelectedDisplayMode**(self, iSlot: _int_, iPort: _int_) -> _[DisplayMode](/python-api/docs/displaymode#displaymode)_

#### **vfcPortState**(self, iSlot: _int_, iPort: _int_) -> _str_

#### **vfcPortStatus**(self, iSlot: _int_, iPort: _int_) -> _[VFCPortStatus](/python-api/docs/vfcportstatus#vfcportstatus)_

#### **vfcSFPType**(self, iSlot: _int_, sfpIdx: _int_) -> _[SFPType](/python-api/docs/sfptype#sfptype)_

#### **vfcSoftwareVersion**(self, iSlot: _int_) -> _[VFCFpgaVersion](/python-api/docs/vfcfpgaversion#vfcfpgaversion)_

#### **vfcStatus**(self, iSlot: _int_) -> _[VFCDeviceStatus](/python-api/docs/vfcdevicestatus#vfcdevicestatus)_

#### **vfcSysAlertMissingGenlock**(self) -> _[GenlockSyncState](/python-api/docs/genlocksyncstate#genlocksyncstate)_

#### **vfcSysAlertMissingIpVfc**(self) -> _List\[int\]_

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

#### **vfcSysAlertStatusBoardTempExceeded**(self, iSlot: _int_) -> _bool_

#### **vfcSysAlertStatusFPGATempExceeded**(self, iSlot: _int_) -> _bool_

#### **vfcSysAlertStatusPTPStepped**(self, iSlot: _int_) -> _bool_

#### **vfcSysAlertStatusSynError**(self, iSlot: _int_) -> _bool_

#### **vfcSysAlertStatusTime**(self, iSlot: _int_) -> _str_

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

#### **vfcSysSyncFrate**(self, iSlot: _int_) -> _float_

#### **vfcSysSyncMode**(self, iSlot: _int_) -> _[SystemSyncMode](/python-api/docs/systemsyncmode#systemsyncmode)_

#### **vfcSysSyncModeMismatch**(self) -> _List\[int\]_

#### **vfcTemperature**(self, iSlot: _int_) -> _float_

#### **vfcVideoOutputMode**(self, iSlot: _int_) -> _[VideoOutput](/python-api/docs/videooutput#videooutput)_

## Static Methods

#### **captureCardVendor**() -> _str_

#### **localApiEndpoint**() -> _str_

#### **machineRoleToString**(r: _[MachineRole](/python-api/docs/machinerole#machinerole)_) -> _str_

#### **splitMatrixInputs**(input: _str_) -> _List\[str\]_

Split a matrix input string containing one or more matrix inputs separated via a pipe ( | ) operator  
into individual per-matrix inputs

#### **splitMatrixOutputs**(output: _str_) -> _List\[str\]_

Split a matrix output string containing one or more matrix outputs separated via a pipe ( | ) operator  
into individual per-matrix outputs (which may themselves contain multiple comma or semicolon-separated outputs)
