EchoLab

Docs – Methods – Init

Creating an ATEMMax object

Simply import the PyATEMMax library and create a new PyATEMMax.ATEMMax object:

import PyATEMMax

 

switcher = PyATEMMax.ATEMMax()

Creating multiple ATEMMax objects

You can create as many ATEMMax objects as you want:

import PyATEMMax

 

switcher1 = PyATEMMax.ATEMMax()

switcher2 = PyATEMMax.ATEMMax()

switcher3 = PyATEMMax.ATEMMax()

switcher4 = PyATEMMax.ATEMMax()

switcher5 = PyATEMMax.ATEMMax()

You’ll be able to connect each of these objects to a different switcher and command them all from a single point 🙂

Docs – Methods – Connect

Connecting to a switcher

switcher.connect(“192.168.1.111”)

This will start the connection process with the switcher. Once the connection process is started, the ATEMMax object will try to connect to the switcher until it succeeds. While it’s connected it will automatically try to reconnect if it detects a connection loss.

switcher.connect(“192.168.1.111”, connTimeout=30)

The connTimeout parameter can be used to specify a connection timeout in seconds (5 if not specified). When the ATEMMax object sees no activity in this time it assumes a connection loss and tries to reconnect.

Waiting for connection

You can choose the way to wait for connection:

Wait: using events

You can register a handler for the connect event and it will be called every time the connection is established (also after connection losses). This is the recommended method for GUI programs (when you don’t control the main loop).

See the Events section.

Wait: using waitForConnection()

With no parameters, waitForConnection() will keep on waiting until the switcher is connected.

switcher.connect(“192.168.1.111”)

switcher.waitForConnection()

If you specify infinite=False, the method will use default timeout values to check if the connection is established in an acceptable time.

switcher.connect(“192.168.1.111”)

connected = switcher.waitForConnection(infinite=False)

If you just want to wait for the initial handshake (e.g. to check if the switcher is alive), you can use the waitForFullHandshake parameter:

switcher.connect(“192.168.1.111”)

connected = switcher.waitForConnection(infinite=False, waitForFullHandshake=False)

If you want to change the timeout value, use the timeout parameter, or change the default values (see below). Note that when timeout is specified, infinite is assumed to be False

switcher.connect(“192.168.1.111”)

connected = switcher.waitForConnection(timeout=2.5)

Changing default wait timeouts

The default values for wait timeouts are:

  • ATEMProtocol.defaultConnectionTimeout: full connection: 1.0 seconds
  • ATEMProtocol.defaultHandshakeTimeout: basic handshake: 0.1 seconds

If you experience problems with these values, you can always change them before calling connect()

switcher = PyATEMMax.ATEMMax()

switcher.atem.defaultConnectionTimeout = 2.5

switcher.connect(“192.168.1.111”)

Wait: checking it for yourself

After calling connect() you can manually check switcher.connected to watch connection status.

See the connection state variables in the Data – Switcher State section.

Pinging a switcher

If you only want to check if your switcher is alive you can use ping() instead of connect() and then use waitForConnection with no parameters.

switcher = PyATEMMax.ATEMMax()

switcher.ping(“192.168.1.111”)

alive = switcher.waitForConnection()

ping() also accepts a timeout parameter:

switcher = PyATEMMax.ATEMMax()

switcher.ping(“192.168.1.111”, timeout=10)

alive = switcher.waitForConnection()

Disconnecting from a switcher

After finishing your work with a switcher (even for ping) you should close the connection.

switcher = PyATEMMax.ATEMMax()

switcher.connect(“192.168.1.111”)

switcher.waitForConnection()

# Whatever your program does

switcher.disconnect()

If your script connects to the switcher, changes some settings and then exits, it’s safe to forget calling disconnect() as the connection will be dropped when your script exits.

Docs – Methods – Set

The set methods allow changing switcher settings.

List of set methods

setAudioLevelsEnable

setAudioLevelsEnable(enable:bool) -> None

Set Audio Levels Enable

   Args:

        enable (bool): On/Off

setAudioMixerInputBalance

setAudioMixerInputBalance(audioSource:ATEMConstant, balance:float) -> None

Set Audio Mixer Input Balance

   Args:

        audioSource: see ATEMAudioSources

        balance (float): -1.0-1.0: Left/Right Extremes

setAudioMixerInputMixOption

setAudioMixerInputMixOption(audioSource:ATEMConstant, mixOption:ATEMConstant) -> None

Set Audio Mixer Input Mix Option

   Args:

        audioSource: see ATEMAudioSources

        mixOption: see ATEMAudioMixerInputMixOptions

setAudioMixerInputVolume

setAudioMixerInputVolume(audioSource:ATEMConstant, db:float) -> None

Set Audio Mixer Input Volume

   Args:

        audioSource: see ATEMAudioSources

        db (float): volume in dB

setAudioMixerMasterVolume

setAudioMixerMasterVolume(db:float) -> None

Set Audio Mixer Master Volume

   Args:

        db (float): volume in dB

setAudioMixerMonitorDim

setAudioMixerMonitorDim(dim:bool) -> None

Set Audio Mixer Monitor Dim

   Args:

        dim (bool): On/Off

setAudioMixerMonitorMonitorAudio

setAudioMixerMonitorMonitorAudio(monitorAudio:bool) -> None

Set Audio Mixer Monitor Monitor Audio

   Args:

        monitorAudio (bool): On/Off

setAudioMixerMonitorMute

setAudioMixerMonitorMute(mute:bool) -> None

Set Audio Mixer Monitor Mute

   Args:

        mute (bool): On/Off

setAudioMixerMonitorSolo

setAudioMixerMonitorSolo(solo:bool) -> None

Set Audio Mixer Monitor Solo

   Args:

        solo (bool): On/Off

setAudioMixerMonitorSoloInput

setAudioMixerMonitorSoloInput(soloInput:ATEMConstant) -> None

Set Audio Mixer Monitor Solo Input

   Args:

        soloInput: see ATEMAudioSources

setAudioMixerMonitorVolume

setAudioMixerMonitorVolume(db:float) -> None

Set Audio Mixer Monitor Volume

   Args:

        db (float): volume in dB

setAuxSourceInput

setAuxSourceInput(auxChannel:ATEMConstant, input_:ATEMConstant) -> None

Set Aux Source Input

   Args:

        auxChannel: see ATEMAUXChannels

        input_: see ATEMVideoSources

setCameraControlAutoFocus

setCameraControlAutoFocus(camera:ATEMConstant) -> None

Set Camera Control Auto focus

   Args:

        camera: see ATEMCameras

setCameraControlAutoIris

setCameraControlAutoIris(camera:ATEMConstant) -> None

Set Camera Control Auto iris

   Args:

        camera: see ATEMCameras

setCameraControlColorbars

setCameraControlColorbars(camera:ATEMConstant, colorbars:int) -> None

Set Camera Control Colorbars

   Args:

        camera: see ATEMCameras

        colorbars: duration in secs (0=disable)

setCameraControlComponentGain

setCameraControlComponentGain(camera:ATEMConstant, gainR:float, gainG:float, gainB:float, gainY:float) -> None

Set Camera Control Component Gain

   Args:

        camera: see ATEMCameras

        gainR (float): 0.0-16.0

        gainG (float): 0.0-16.0

        gainB (float): 0.0-16.0

        gainY (float): 0.0-16.0

setCameraControlContrast

setCameraControlContrast(camera:ATEMConstant, contrast:float) -> None

Set Camera Control Contrast

   Args:

        camera: see ATEMCameras

        contrast (float): 0.0-100.0 (%)

setCameraControlFocus

setCameraControlFocus(camera:ATEMConstant, focus:int) -> None

Set Camera Control Focus

   Args:

        camera: see ATEMCameras

        focus (int): 0-65535

setCameraControlGain

setCameraControlGain(camera:ATEMConstant, gain:int) -> None

Set Camera Control Gain

   Args:

        camera: see ATEMCameras

        gain (int): 512: 0db, 1024: 6db, 2048: 12db, 4096: 18db

setCameraControlGainB

setCameraControlGainB(camera:ATEMConstant, gainB:float) -> None

Set Camera Control Gain B

   Args:

        camera: see ATEMCameras

        gainB (float): 0.0-16.0

setCameraControlGainG

setCameraControlGainG(camera:ATEMConstant, gainG:float) -> None

Set Camera Control Gain G

   Args:

        camera: see ATEMCameras

        gainG (float): 0.0-16.0

setCameraControlGainR

setCameraControlGainR(camera:ATEMConstant, gainR:float) -> None

Set Camera Control Gain R

   Args:

        camera: see ATEMCameras

        gainR (float): 0.0-16.0

setCameraControlGainY

setCameraControlGainY(camera:ATEMConstant, gainY:float) -> None

Set Camera Control Gain Y

   Args:

        camera: see ATEMCameras

        gainY (float): 0.0-16.0

setCameraControlGamma

setCameraControlGamma(camera:ATEMConstant, gammaR:float, gammaG:float, gammaB:float, gammaY:float) -> None

Set Camera Control Gamma

   Args:

        camera: see ATEMCameras

        gammaR (float): -1.0-1.0

        gammaG (float): -1.0-1.0

        gammaB (float): -1.0-1.0

        gammaY (float): -1.0-1.0

setCameraControlGammaB

setCameraControlGammaB(camera:ATEMConstant, gammaB:float) -> None

Set Camera Control Gamma B

   Args:

        camera: see ATEMCameras

        gammaB (float): -1.0-1.0

setCameraControlGammaG

setCameraControlGammaG(camera:ATEMConstant, gammaG:float) -> None

Set Camera Control Gamma G

   Args:

        camera: see ATEMCameras

        gammaG (float): -1.0-1.0

setCameraControlGammaR

setCameraControlGammaR(camera:ATEMConstant, gammaR:float) -> None

Set Camera Control Gamma R

   Args:

        camera: see ATEMCameras

        gammaR (float): -1.0-1.0

setCameraControlGammaY

setCameraControlGammaY(camera:ATEMConstant, gammaY:float) -> None

Set Camera Control Gamma Y

   Args:

        camera: see ATEMCameras

        gammaY (float): -1.0-1.0

setCameraControlHue

setCameraControlHue(camera:ATEMConstant, hue:float) -> None

Set Camera Control Hue

   Args:

        camera: see ATEMCameras

        hue (float): 0.0-359.9 degrees

setCameraControlHueSaturation

setCameraControlHueSaturation(camera:ATEMConstant, hue:float, saturation:float) -> None

Set Camera Control Hue/Saturation

   Args:

        camera: see ATEMCameras

        hue (float): 0.0-359.9 degrees

        saturation (float): 0.0-100.0 (%)

setCameraControlIris

setCameraControlIris(camera:ATEMConstant, iris:int) -> None

Set Camera Control Iris

   Args:

        camera: see ATEMCameras

        iris (int): 0-2048

setCameraControlLift

setCameraControlLift(camera:ATEMConstant, liftR:float, liftG:float, liftB:float, liftY:float) -> None

Set Camera Control Lift

   Args:

        camera: see ATEMCameras

        liftR (float): -1.0-1.0

        liftG (float): -1.0-1.0

        liftB (float): -1.0-1.0

        liftY (float): -1.0-1.0

setCameraControlLiftB

setCameraControlLiftB(camera:ATEMConstant, liftB:float) -> None

Set Camera Control Lift B

   Args:

        camera: see ATEMCameras

        liftB (float): -1.0-1.0

setCameraControlLiftG

setCameraControlLiftG(camera:ATEMConstant, liftG:float) -> None

Set Camera Control Lift G

   Args:

        camera: see ATEMCameras

        liftG (float): -1.0-1.0

setCameraControlLiftR

setCameraControlLiftR(camera:ATEMConstant, liftR:float) -> None

Set Camera Control Lift R

   Args:

        camera: see ATEMCameras

        liftR (float): -1.0-1.0

setCameraControlLiftY

setCameraControlLiftY(camera:ATEMConstant, liftY:float) -> None

Set Camera Control Lift Y

   Args:

        camera: see ATEMCameras

        liftY (float): -1.0-1.0

setCameraControlLumMix

setCameraControlLumMix(camera:ATEMConstant, lumMix:float) -> None

Set Camera Control Lum Mix

   Args:

        camera: see ATEMCameras

        lumMix (float):  0.0-100.0 (%)

setCameraControlResetAll

setCameraControlResetAll(camera:ATEMConstant) -> None

Set Camera Control Reset all

   Args:

        camera: see ATEMCameras

setCameraControlSaturation

setCameraControlSaturation(camera:ATEMConstant, saturation:float) -> None

Set Camera Control Saturation

   Args:

        camera: see ATEMCameras

        saturation (float):  0.0-100.0 (%)

setCameraControlSharpeningLevel

setCameraControlSharpeningLevel(camera:ATEMConstant, detail:ATEMConstant) -> None

Set Camera Control Detail level

   Args:

        camera: see ATEMCameras

        detail: see ATEMCamerControlSharpeningLevels

setCameraControlShutter

setCameraControlShutter(camera:ATEMConstant, shutter:float) -> None

Set Camera Control Shutter

   Args:

        camera: see ATEMCameras

        shutter (float): 1/50, 1/60, 1/75, 1/90, 1/100, 1/120, 1/150, 1/180, 1/250, 1/360, 1/500, 1/750, 1/1000, 1/1450, 1/2000

setCameraControlVideomode

setCameraControlVideomode(camera:ATEMConstant, fps:int, resolution:int, interlaced:int) -> None

Set Camera Control Video Mode

   Args:

        camera: see ATEMCameras

        fps (int): ?

        resolution (int): ?

        interlaced (int): ?

setCameraControlWhiteBalance

setCameraControlWhiteBalance(camera:ATEMConstant, whiteBalance:int) -> None

Set Camera Control White Balance

   Args:

        camera: see ATEMCameras

        whiteBalance(int): 3200: 3200K, 4500: 4500K, 5000: 5000K, 5600: 5600K, 6500: 6500K, 7500: 7500K

setCameraControlZoomNormalized

setCameraControlZoomNormalized(camera:ATEMConstant, zoomNormalized:float) -> None

Set Camera Control Zoom Normalized

   Args:

        camera: see ATEMCameras

        zoomNormalized (float): ?

setCameraControlZoomSpeed

setCameraControlZoomSpeed(camera:ATEMConstant, zoomSpeed:float) -> None

Set Camera Control Zoom

   Args:

        camera: see ATEMCameras

        zoomSpeed (float): -1.0-1.0

setClipPlayerAtBeginning

setClipPlayerAtBeginning(mediaPlayer:ATEMConstant, atBeginning:bool) -> None

Set Clip Player At Beginning

   Args:

        mediaPlayer: see ATEMMediaPlayers

        atBeginning (bool): On/Off

setClipPlayerClipFrame

setClipPlayerClipFrame(mediaPlayer:ATEMConstant, clipFrame:int) -> None

Set Clip Player Clip Frame

   Args:

        mediaPlayer: see ATEMMediaPlayers

        clipFrame (int): frame

setClipPlayerLoop

setClipPlayerLoop(mediaPlayer:ATEMConstant, loop:bool) -> None

Set Clip Player Loop

   Args:

        mediaPlayer: see ATEMMediaPlayers

        loop (bool): On/Off

setClipPlayerPlaying

setClipPlayerPlaying(mediaPlayer:ATEMConstant, playing:bool) -> None

Set Clip Player Playing

   Args:

        mediaPlayer: see ATEMMediaPlayers

        playing (bool): On/Off

setColorGeneratorHue

setColorGeneratorHue(colorGenerator:ATEMConstant, hue:float) -> None

Set Color Generator Hue

   Args:

        colorGenerator: see ATEMColorGenerators

        hue (float): 0.0-359.9 (degrees)

setColorGeneratorLuma

setColorGeneratorLuma(colorGenerator:ATEMConstant, luma:float) -> None

Set Color Generator Luma

   Args:

        colorGenerator: see ATEMColorGenerators

        luma (float): 0.0-100.0 (%)

setColorGeneratorSaturation

setColorGeneratorSaturation(colorGenerator:ATEMConstant, saturation:float) -> None

Set Color Generator Saturation

   Args:

        colorGenerator: see ATEMColorGenerators

        saturation (float): 0.0-100.0 (%)

setDownConverterMode

setDownConverterMode(mode:ATEMConstant) -> None

Set Down Converter Mode

   Args:

        mode: see ATEMDownConverterModes

setDownstreamKeyerBottom

setDownstreamKeyerBottom(keyer:ATEMConstant, bottom:float) -> None

Set Downstream Keyer Bottom

   Args:

        keyer: see ATEMKeyers

        bottom (float): -9.0-9.0

setDownstreamKeyerClip

setDownstreamKeyerClip(keyer:ATEMConstant, clip:float) -> None

Set Downstream Keyer Clip

   Args:

        keyer: see ATEMKeyersr 1-4

        clip (float): 0.0-100.0 (%)

setDownstreamKeyerFillSource

setDownstreamKeyerFillSource(keyer:ATEMConstant, fillSource:ATEMConstant) -> None

Set Downstream Keyer Fill Source

   Args:

        keyer: see ATEMKeyers

        fillSource: see ATEMVideoSources

setDownstreamKeyerGain

setDownstreamKeyerGain(keyer:ATEMConstant, gain:float) -> None

Set Downstream Keyer Gain

   Args:

        keyer: see ATEMKeyersr 1-4

        gain (float): 0.0-100.0 (%)

setDownstreamKeyerInvertKey

setDownstreamKeyerInvertKey(keyer:ATEMConstant, invertKey:bool) -> None

Set Downstream Keyer Invert Key(??)

   Args:

        keyer: see ATEMKeyers

        invertKey (bool): On/Off

setDownstreamKeyerKeySource

setDownstreamKeyerKeySource(keyer:ATEMConstant, keySource:ATEMConstant) -> None

Set Downstream Keyer Source

   Args:

        keyer: see ATEMKeyers

        keySource: see ATEMVideoSources

setDownstreamKeyerLeft

setDownstreamKeyerLeft(keyer:ATEMConstant, left:float) -> None

Set Downstream Keyer Left

   Args:

        keyer: see ATEMKeyers

        left (float): -9.0-9.0

setDownstreamKeyerMasked

setDownstreamKeyerMasked(keyer:ATEMConstant, masked:bool) -> None

Set Downstream Keyer Masked

   Args:

        keyer: see ATEMKeyers 1-4

        masked (bool): On/Off

setDownstreamKeyerOnAir

setDownstreamKeyerOnAir(keyer:ATEMConstant, onAir:bool) -> None

Set Downstream Keyer On Air

   Args:

        keyer: see ATEMKeyers

        onAir (bool): On/Off

setDownstreamKeyerPreMultiplied

setDownstreamKeyerPreMultiplied(keyer:ATEMConstant, preMultiplied:bool) -> None

Set Downstream Keyer Pre Multiplied

   Args:

        keyer: see ATEMKeyers

        preMultiplied (bool): On/Off

setDownstreamKeyerRate

setDownstreamKeyerRate(keyer:ATEMConstant, rate:int) -> None

Set Downstream Keyer Rate

   Args:

        keyer: see ATEMKeyers

    rate (int): 1-250 (frames)

setDownstreamKeyerRight

setDownstreamKeyerRight(keyer:ATEMConstant, right:float) -> None

Set Downstream Keyer Right

   Args:

        keyer: see ATEMKeyers

        right (float): -9.0-9.0

setDownstreamKeyerTie

setDownstreamKeyerTie(keyer:ATEMConstant, tie:bool) -> None

Set Downstream Keyer Tie

   Args:

        keyer: see ATEMKeyers

        tie (bool): On/Off

setDownstreamKeyerTop

setDownstreamKeyerTop(keyer:ATEMConstant, top:float) -> None

Set Downstream Keyer Top

   Args:

        keyer: see ATEMKeyers

        top (float): -9.0-9.0

setFadeToBlackRate

setFadeToBlackRate(mE:ATEMConstant, rate:int) -> None

Set Fade-To-Black Rate

   Args:

        mE: see ATEMMixEffects

        rate (int): 1-250 (frames)

setInputExternalPortType

setInputExternalPortType(videoSource:ATEMConstant, externalPortType:ATEMConstant) -> None

Set Input Properties External Port Type

   Args:

        videoSource: see ATEMVideoSources

        externalPortType: see ATEMExternalPortTypes

setInputLongName

setInputLongName(videoSource:ATEMConstant, longName:str) -> None

Set Input Properties Long Name

   Args:

        videoSource: see ATEMVideoSources

        longName(str): long name

setInputShortName

setInputShortName(videoSource:ATEMConstant, shortName:str) -> None

Set Input Properties Short Name

   Args:

        videoSource: see ATEMVideoSources

        shortName(str): short name

setKeyChromaGain

setKeyChromaGain(mE:ATEMConstant, keyer:ATEMConstant, gain:float) -> None

Set Key Chroma Gain

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        gain (float): 0.0-100.0 (%)

setKeyChromaHue

setKeyChromaHue(mE:ATEMConstant, keyer:ATEMConstant, hue:float) -> None

Set Key Chroma Hue

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        hue (float): 0.0-359.9 (degrees)

setKeyChromaLift

setKeyChromaLift(mE:ATEMConstant, keyer:ATEMConstant, lift:float) -> None

Set Key Chroma Lift

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        lift (float): 0.0-100.0 (%)

setKeyChromaNarrow

setKeyChromaNarrow(mE:ATEMConstant, keyer:ATEMConstant, narrow:bool) -> None

Set Key Chroma Narrow

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        narrow (bool): On/Off

setKeyChromaYSuppress

setKeyChromaYSuppress(mE:ATEMConstant, keyer:ATEMConstant, ySuppress:float) -> None

Set Key Chroma Y Suppress

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        ySuppress (float): 0.0-100.0 (%)

setKeyDVEBorderBevel

setKeyDVEBorderBevel(mE:ATEMConstant, keyer:ATEMConstant, borderBevel:ATEMConstant) -> None

Set Key DVE Border Bevel

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderBevel: see ATEMBorderBevels

setKeyDVEBorderBevelPosition

setKeyDVEBorderBevelPosition(mE:ATEMConstant, keyer:ATEMConstant, borderBevelPosition:float) -> None

Set Key DVE Border Bevel Position

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderBevelPosition (float): 0.0-1.0

setKeyDVEBorderBevelSoftness

setKeyDVEBorderBevelSoftness(mE:ATEMConstant, keyer:ATEMConstant, borderBevelSoftness:float) -> None

Set Key DVE Border Bevel Softness

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderBevelSoftness (float): 0.0-1.0

setKeyDVEBorderEnabled

setKeyDVEBorderEnabled(mE:ATEMConstant, keyer:ATEMConstant, borderEnabled:bool) -> None

Set Key DVE Border Enabled

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderEnabled (bool): On/Off

setKeyDVEBorderHue

setKeyDVEBorderHue(mE:ATEMConstant, keyer:ATEMConstant, borderHue:float) -> None

Set Key DVE Border Hue

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderHue (float): 0.0-359.9 (degrees)

setKeyDVEBorderInnerSoftness

setKeyDVEBorderInnerSoftness(mE:ATEMConstant, keyer:ATEMConstant, borderInnerSoftness:int) -> None

Set Key DVE Border Inner Softness

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderInnerSoftness (int): 0-100 (%)

setKeyDVEBorderInnerWidth

setKeyDVEBorderInnerWidth(mE:ATEMConstant, keyer:ATEMConstant, borderInnerWidth:float) -> None

Set Key DVE Border Inner Width

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderInnerWidth (float): 0.0-16.0

setKeyDVEBorderLuma

setKeyDVEBorderLuma(mE:ATEMConstant, keyer:ATEMConstant, borderLuma:float) -> None

Set Key DVE Border Luma

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderLuma (float): 0.0-100.0 (%)

setKeyDVEBorderOpacity

setKeyDVEBorderOpacity(mE:ATEMConstant, keyer:ATEMConstant, borderOpacity:int) -> None

Set Key DVE Border Opacity

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderOpacity (int): 0-100 (%)

setKeyDVEBorderOuterSoftness

setKeyDVEBorderOuterSoftness(mE:ATEMConstant, keyer:ATEMConstant, borderOuterSoftness:int) -> None

Set Key DVE Border Outer Softness

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderOuterSoftness (int): 0-100 (%)

setKeyDVEBorderOuterWidth

setKeyDVEBorderOuterWidth(mE:ATEMConstant, keyer:ATEMConstant, borderOuterWidth:float) -> None

Set Key DVE Border Outer Width

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderOuterWidth (float): 0.0-16.0

setKeyDVEBorderSaturation

setKeyDVEBorderSaturation(mE:ATEMConstant, keyer:ATEMConstant, borderSaturation:float) -> None

Set Key DVE Border Saturation

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        borderSaturation (float): 0.0-100.0 (%)

setKeyDVEBottom

setKeyDVEBottom(mE:ATEMConstant, keyer:ATEMConstant, bottom:float) -> None

Set Key DVE Bottom

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        bottom (float): -9.0-9.0

setKeyDVELeft

setKeyDVELeft(mE:ATEMConstant, keyer:ATEMConstant, left:float) -> None

Set Key DVE Left

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        left (float): -9.0-9.0

setKeyDVELightSourceAltitude

setKeyDVELightSourceAltitude(mE:ATEMConstant, keyer:ATEMConstant, lightSourceAltitude:int) -> None

Set Key DVE Light Source Altitude

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        lightSourceAltitude (int): 10-100

setKeyDVELightSourceDirection

setKeyDVELightSourceDirection(mE:ATEMConstant, keyer:ATEMConstant, lightSourceDirection:float) -> None

Set Key DVE Light Source Direction

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        lightSourceDirection (float): 0.0-359.9 (degrees)

setKeyDVEMasked

setKeyDVEMasked(mE:ATEMConstant, keyer:ATEMConstant, masked:bool) -> None

Set Key DVE Masked

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        masked (bool): On/Off

setKeyDVEPositionX

setKeyDVEPositionX(mE:ATEMConstant, keyer:ATEMConstant, positionX:float) -> None

Set Key DVE Position X

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        positionX (float): 0.0-1.0

setKeyDVEPositionY

setKeyDVEPositionY(mE:ATEMConstant, keyer:ATEMConstant, positionY:float) -> None

Set Key DVE Position Y

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        positionY (float): 0.0-1.0

setKeyDVERate

setKeyDVERate(mE:ATEMConstant, keyer:ATEMConstant, rate:int) -> None

Set Key DVE Rate

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers-4

        rate (int): 1-250 (frames)

setKeyDVERight

setKeyDVERight(mE:ATEMConstant, keyer:ATEMConstant, right:float) -> None

Set Key DVE Right

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        right (float): -9.0-9.0

setKeyDVERotation

setKeyDVERotation(mE:ATEMConstant, keyer:ATEMConstant, rotation:float) -> None

Set Key DVE Rotation

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        rotation (float): 0.0-359.9 (degrees)

setKeyDVEShadow

setKeyDVEShadow(mE:ATEMConstant, keyer:ATEMConstant, shadow:bool) -> None

Set Key DVE Shadow

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        shadow (bool): On/Off

setKeyDVESizeX

setKeyDVESizeX(mE:ATEMConstant, keyer:ATEMConstant, sizeX:float) -> None

Set Key DVE Size X

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        sizeX (float): 0.0-1.0

setKeyDVESizeY

setKeyDVESizeY(mE:ATEMConstant, keyer:ATEMConstant, sizeY:float) -> None

Set Key DVE Size Y

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        sizeY (float): 0.0-1.0

setKeyDVETop

setKeyDVETop(mE:ATEMConstant, keyer:ATEMConstant, top:float) -> None

Set Key DVE Top

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        top (float): -9.0-9.0

setKeyLumaClip

setKeyLumaClip(mE:ATEMConstant, keyer:ATEMConstant, clip:float) -> None

Set Key Luma Clip

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        clip (float): 0.0-100.0 (%)

setKeyLumaGain

setKeyLumaGain(mE:ATEMConstant, keyer:ATEMConstant, gain:float) -> None

Set Key Luma Gain

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        gain (float): 0.0-100.0 (%)

setKeyLumaInvertKey

setKeyLumaInvertKey(mE:ATEMConstant, keyer:ATEMConstant, invertKey:bool) -> None

Set Key Luma Invert Key

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        invertKey (bool): On/Off

setKeyLumaPreMultiplied

setKeyLumaPreMultiplied(mE:ATEMConstant, keyer:ATEMConstant, preMultiplied:bool) -> None

Set Key Luma Pre Multiplied

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        preMultiplied (bool): On/Off

setKeyPatternInvertPattern

setKeyPatternInvertPattern(mE:ATEMConstant, keyer:ATEMConstant, invertPattern:bool) -> None

Set Key Pattern Invert Pattern

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        invertPattern (bool): On/Off

setKeyPatternPattern

setKeyPatternPattern(mE:ATEMConstant, keyer:ATEMConstant, pattern:ATEMConstant) -> None

Set Key Pattern Pattern

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        pattern: see ATEMPatternStyles

setKeyPatternPositionX

setKeyPatternPositionX(mE:ATEMConstant, keyer:ATEMConstant, positionX:float) -> None

Set Key Pattern Position X

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        positionX (float): 0.0-1.0

setKeyPatternPositionY

setKeyPatternPositionY(mE:ATEMConstant, keyer:ATEMConstant, positionY:float) -> None

Set Key Pattern Position Y

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        positionY (float): 0.0-1.0

setKeyPatternSize

setKeyPatternSize(mE:ATEMConstant, keyer:ATEMConstant, size:float) -> None

Set Key Pattern Size

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        size (float): 0.0-100.0 (%)

setKeyPatternSoftness

setKeyPatternSoftness(mE:ATEMConstant, keyer:ATEMConstant, softness:float) -> None

Set Key Pattern Softness

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        softness (float): 0.0-100.0 (%)

setKeyPatternSymmetry

setKeyPatternSymmetry(mE:ATEMConstant, keyer:ATEMConstant, symmetry:float) -> None

Set Key Pattern Symmetry

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        symmetry (float): 0.0-100.0 (%)

setKeyerBottom

setKeyerBottom(mE:ATEMConstant, keyer:ATEMConstant, bottom:float) -> None

Set Key Mask Bottom

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        bottom (float): -9.0-9.0

setKeyerFillSource

setKeyerFillSource(mE:ATEMConstant, keyer:ATEMConstant, fillSource:ATEMConstant) -> None

Set Key Fill Fill Source

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        fillSource: see ATEMVideoSources

setKeyerFlyEnabled

setKeyerFlyEnabled(mE:ATEMConstant, keyer:ATEMConstant, flyEnabled:bool) -> None

Set Key Type Fly Enabled

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        flyEnabled (bool): On/Off

setKeyerFlyKeyFrame

setKeyerFlyKeyFrame(mE:ATEMConstant, keyer:ATEMConstant, keyFrame:ATEMConstant) -> None

Set Keyer Fly Key Frame

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        keyFrame: see ATEMKeyFrames

setKeyerKeySource

setKeyerKeySource(mE:ATEMConstant, keyer:ATEMConstant, keySource:ATEMConstant) -> None

Set Key Cut Key Source

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        keySource: see ATEMVideoSources

setKeyerLeft

setKeyerLeft(mE:ATEMConstant, keyer:ATEMConstant, left:float) -> None

Set Key Mask Left

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        left (float): -9.0-9.0

setKeyerMasked

setKeyerMasked(mE:ATEMConstant, keyer:ATEMConstant, masked:bool) -> None

Set Key Mask Masked

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        masked (bool): On/Off

setKeyerOnAirEnabled

setKeyerOnAirEnabled(mE:ATEMConstant, keyer:ATEMConstant, enabled:bool) -> None

Set Keyer On Air Enabled

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        enabled (bool): On/Off

setKeyerRight

setKeyerRight(mE:ATEMConstant, keyer:ATEMConstant, right:float) -> None

Set Key Mask Right

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        right (float): -9.0-9.0

setKeyerTop

setKeyerTop(mE:ATEMConstant, keyer:ATEMConstant, top:float) -> None

Set Key Mask Top

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        top (float): -9.0-9.0

setKeyerType

setKeyerType(mE:ATEMConstant, keyer:ATEMConstant, type_:ATEMConstant) -> None

Set Key Type Type

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        type_: see ATEMKeyerTypes

setMacroAction

setMacroAction(macro:ATEMConstant, action:ATEMConstant) -> None

Set Macro Action Action

   Args:

        macro: see ATEMMacros (to stop, use macros.stop)

        action: see ATEMMacroActions

setMacroAddPauseFrames

setMacroAddPauseFrames(frames:int) -> None

Set Macro Add Pause Frames

   Args:

        frames (int): number of frames

setMacroRunChangePropertiesLooping

setMacroRunChangePropertiesLooping(looping:bool) -> None

Set Macro Run Change Properties Looping

   Args:

        looping (bool): On/Off

setMediaPlayerSourceClipIndex

setMediaPlayerSourceClipIndex(mediaPlayer:ATEMConstant, clipIndex:int) -> None

Set Media Player Source Clip Index

   Args:

        mediaPlayer: see ATEMMediaPlayers

        clipIndex (int): 0-x: Clip 1-x

setMediaPlayerSourceStillIndex

setMediaPlayerSourceStillIndex(mediaPlayer:ATEMConstant, stillIndex:int) -> None

Set Media Player Source Still Index

   Args:

        mediaPlayer: see ATEMMediaPlayers

        stillIndex (int): 0-x: Still 1-x

setMediaPlayerSourceType

setMediaPlayerSourceType(mediaPlayer:ATEMConstant, type_:ATEMConstant) -> None

Set Media Player Source Type

   Args:

        mediaPlayer: see ATEMMediaPlayers

        type_: see ATEMMediaPlayerSourceTypes

setMediaPoolStorageClip1MaxLength

setMediaPoolStorageClip1MaxLength(clip1MaxLength:int) -> None

Set Media Pool Storage Clip 1 Max Length

   Args:

        clip1MaxLength (int): frames

setMultiViewerInputVideoSource

setMultiViewerInputVideoSource(multiViewer:ATEMConstant, window:ATEMConstant, videoSource:ATEMConstant) -> None

Set MultiViewer Properties Video Source

   Args:

        multiViewer: see ATEMMultiViewers

        window: see ATEMWindows

        videoSource: see ATEMVideoSources

setMultiViewerPropertiesLayout

setMultiViewerPropertiesLayout(multiViewer:ATEMConstant, layout:ATEMConstant) -> None

Set MultiViewer Properties Layout

   Args:

        videoSource: see ATEMVideoSources

        layout: see ATEMMultiViewerLayouts

setPreviewInputVideoSource

setPreviewInputVideoSource(mE:ATEMConstant, videoSource:ATEMConstant) -> None

Set Preview Input Video Source

   Args:

        mE: see ATEMMixEffects

        videoSource: see ATEMVideoSources

setProgramInputVideoSource

setProgramInputVideoSource(mE:ATEMConstant, videoSource:ATEMConstant) -> None

Set Program Input Video Source

   Args:

        mE: see ATEMMixEffects

        videoSource: see ATEMVideoSources

setResetAudioMixerPeaksInputSource

setResetAudioMixerPeaksInputSource(inputSource:ATEMConstant) -> None

Set Reset Audio Mixer Peaks Input Source

   Args:

        inputSource: see ATEMAudioSources

setResetAudioMixerPeaksMaster

setResetAudioMixerPeaksMaster(master:bool) -> None

Set Reset Audio Mixer Peaks Master

   Args:

        master (bool): Yes/No

setRunFlyingKeyKeyFrame

setRunFlyingKeyKeyFrame(mE:ATEMConstant, keyer:ATEMConstant, keyFrame:ATEMConstant) -> None

Set Run Flying Key Key Frame

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyers

        keyFrame: see ATEMKeyFrames

setRunFlyingKeyRuntoInfiniteindex

setRunFlyingKeyRuntoInfiniteindex(mE:ATEMConstant, keyer:ATEMConstant, runtoInfiniteindex:int) -> None

Set Run Flying Key Run-to-Infinite-index

   Args:

        mE: see ATEMMixEffects

        keyer: see ATEMKeyerser 1-4

        runtoInfiniteindex (int): index

setSuperSourceBorderBevel

setSuperSourceBorderBevel(borderBevel:ATEMConstant) -> None

Set Super Source Border Bevel

   Args:

        borderBevel: see ATEMBorderBevels

setSuperSourceBorderBevelPosition

setSuperSourceBorderBevelPosition(borderBevelPosition:float) -> None

Set Super Source Border Bevel Position

   Args:

        borderBevelPosition (float): 0.0-1.0

setSuperSourceBorderBevelSoftness

setSuperSourceBorderBevelSoftness(borderBevelSoftness:float) -> None

Set Super Source Border Bevel Softness

   Args:

        borderBevelSoftness (float): 0.0-1.0

setSuperSourceBorderEnabled

setSuperSourceBorderEnabled(borderEnabled:bool) -> None

Set Super Source Border Enabled

   Args:

        borderEnabled (bool): On/Off

setSuperSourceBorderHue

setSuperSourceBorderHue(borderHue:float) -> None

Set Super Source Border Hue

   Args:

        borderHue (float): 0.0-359.9 (degrees)

setSuperSourceBorderInnerSoftness

setSuperSourceBorderInnerSoftness(borderInnerSoftness:int) -> None

Set Super Source Border Inner Softness

   Args:

        borderInnerSoftness (int): 0-100 (%)

setSuperSourceBorderInnerWidth

setSuperSourceBorderInnerWidth(borderInnerWidth:float) -> None

Set Super Source Border Inner Width

   Args:

        borderInnerWidth (float): 0.0-16.0

setSuperSourceBorderLuma

setSuperSourceBorderLuma(borderLuma:float) -> None

Set Super Source Border Luma

   Args:

        borderLuma (float): 0.0-100.0 (%)

setSuperSourceBorderOuterSoftness

setSuperSourceBorderOuterSoftness(borderOuterSoftness:int) -> None

Set Super Source Border Outer Softness

   Args:

        borderOuterSoftness (int): 0-100 (%)

setSuperSourceBorderOuterWidth

setSuperSourceBorderOuterWidth(borderOuterWidth:float) -> None

Set Super Source Border Outer Width

   Args:

        borderOuterWidth (float): 0.0-16.0

setSuperSourceBorderSaturation

setSuperSourceBorderSaturation(borderSaturation:float) -> None

Set Super Source Border Saturation

   Args:

        borderSaturation (float): 0.0-100.0 (%)

setSuperSourceBoxParametersCropBottom

setSuperSourceBoxParametersCropBottom(box:ATEMConstant, cropBottom:float) -> None

Set Super Source Box Parameters Crop Bottom

   Args:

        box: see ATEMBoxes

        cropBottom (float): 0.0-18.0

setSuperSourceBoxParametersCropLeft

setSuperSourceBoxParametersCropLeft(box:ATEMConstant, cropLeft:float) -> None

Set Super Source Box Parameters Crop Left

   Args:

        box: see ATEMBoxes

        cropLeft (float): 0.0-32.0

setSuperSourceBoxParametersCropRight

setSuperSourceBoxParametersCropRight(box:ATEMConstant, cropRight:float) -> None

Set Super Source Box Parameters Crop Right

   Args:

        box: see ATEMBoxes

        cropRight (float): 0.0-32.0

setSuperSourceBoxParametersCropTop

setSuperSourceBoxParametersCropTop(box:ATEMConstant, cropTop:float) -> None

Set Super Source Box Parameters Crop Top

   Args:

        box: see ATEMBoxes

        cropTop (float): 0.0-18.0

setSuperSourceBoxParametersCropped

setSuperSourceBoxParametersCropped(box:ATEMConstant, cropped:bool) -> None

Set Super Source Box Parameters Cropped

   Args:

        box: see ATEMBoxes

        cropped (bool): On/Off

setSuperSourceBoxParametersEnabled

setSuperSourceBoxParametersEnabled(box:ATEMConstant, enabled:bool) -> None

Set Super Source Box Parameters Enabled

   Args:

        box: see ATEMBoxes

        enabled (bool): On/Off

setSuperSourceBoxParametersInputSource

setSuperSourceBoxParametersInputSource(box:ATEMConstant, inputSource:ATEMConstant) -> None

Set Super Source Box Parameters Input Source

   Args:

        box: see ATEMBoxes

        inputSource: see ATEMVideoSources

setSuperSourceBoxParametersPositionX

setSuperSourceBoxParametersPositionX(box:ATEMConstant, positionX:float) -> None

Set Super Source Box Parameters Position X

   Args:

        box: see ATEMBoxes

        positionX (float): -48.0-48.0

setSuperSourceBoxParametersPositionY

setSuperSourceBoxParametersPositionY(box:ATEMConstant, positionY:float) -> None

Set Super Source Box Parameters Position Y

   Args:

        box: see ATEMBoxes

        positionY (float): -27.0-27.0

setSuperSourceBoxParametersSize

setSuperSourceBoxParametersSize(box:ATEMConstant, size:float) -> None

Set Super Source Box Parameters Size

   Args:

        box: see ATEMBoxes

        size (float): 0.07-1.0

setSuperSourceClip

setSuperSourceClip(clip:float) -> None

Set Super Source Clip

   Args:

        clip (float): 0.0-100.0 (%)

setSuperSourceFillSource

setSuperSourceFillSource(fillSource:ATEMConstant) -> None

Set Super Source Fill Source

   Args:

        fillSource: see ATEMVideoSources

setSuperSourceForeground

setSuperSourceForeground(foreground:bool) -> None

Set Super Source Foreground

   Args:

        foreground (bool): On/Off

setSuperSourceGain

setSuperSourceGain(gain:float) -> None

Set Super Source Gain

   Args:

        gain (float): 0.0-100.0 (%)

setSuperSourceInvertKey

setSuperSourceInvertKey(invertKey:bool) -> None

Set Super Source Invert Key

   Args:

        invertKey (bool): On/Off

setSuperSourceKeySource

setSuperSourceKeySource(keySource:ATEMConstant) -> None

Set Super Source Key Source

   Args:

        keySource: see ATEMVideoSources

setSuperSourceLightSourceAltitude

setSuperSourceLightSourceAltitude(lightSourceAltitude:int) -> None

Set Super Source Light Source Altitude

   Args:

        lightSourceAltitude (int): 10-100

setSuperSourceLightSourceDirection

setSuperSourceLightSourceDirection(lightSourceDirection:float) -> None

Set Super Source Light Source Direction

   Args:

        lightSourceDirection (float): 0.0-359.9 (degrees)

setSuperSourcePreMultiplied

setSuperSourcePreMultiplied(preMultiplied:bool) -> None

Set Super Source Pre Multiplied

   Args:

        preMultiplied (bool): On/Off

setTransitionDVEClip

setTransitionDVEClip(mE:ATEMConstant, clip:float) -> None

Set Transition DVE Clip

   Args:

        mE: see ATEMMixEffects

        clip (float): 0.0-100.0 (%)

setTransitionDVEEnableKey

setTransitionDVEEnableKey(mE:ATEMConstant, enableKey:bool) -> None

Set Transition DVE Enable Key

   Args:

        mE: see ATEMMixEffects

        enableKey (bool): On/Off

setTransitionDVEFillSource

setTransitionDVEFillSource(mE:ATEMConstant, fillSource:ATEMConstant) -> None

Set Transition DVE Fill Source

   Args:

        mE: see ATEMMixEffects

        fillSource: see ATEMVideoSources

setTransitionDVEFlipFlop

setTransitionDVEFlipFlop(mE:ATEMConstant, flipFlop:bool) -> None

Set Transition DVE FlipFlop

   Args:

        mE: see ATEMMixEffects

        flipFlop (bool): On/Off

setTransitionDVEGain

setTransitionDVEGain(mE:ATEMConstant, gain:float) -> None

Set Transition DVE Gain

   Args:

        mE: see ATEMMixEffects

        gain (float): 0.0-100.0 (%)

setTransitionDVEInvertKey

setTransitionDVEInvertKey(mE:ATEMConstant, invertKey:bool) -> None

Set Transition DVE Invert Key

   Args:

        mE: see ATEMMixEffects

        invertKey (bool): On/Off

setTransitionDVEKeySource

setTransitionDVEKeySource(mE:ATEMConstant, keySource:ATEMConstant) -> None

Set Transition DVE Key Source

   Args:

        mE: see ATEMMixEffects

        keySource: see ATEMVideoSources

setTransitionDVEPreMultiplied

setTransitionDVEPreMultiplied(mE:ATEMConstant, preMultiplied:bool) -> None

Set Transition DVE Pre Multiplied

   Args:

        mE: see ATEMMixEffects

        preMultiplied (bool): On/Off

setTransitionDVERate

setTransitionDVERate(mE:ATEMConstant, rate:int) -> None

Set Transition DVE Rate

   Args:

        mE: see ATEMMixEffects

        rate (int): 1-250 (frames)

setTransitionDVEReverse

setTransitionDVEReverse(mE:ATEMConstant, reverse:bool) -> None

Set Transition DVE Reverse

   Args:

        mE: see ATEMMixEffects

        reverse (bool): On/Off

setTransitionDVEStyle

setTransitionDVEStyle(mE:ATEMConstant, style:ATEMConstant) -> None

Set Transition DVE Style

   Args:

        mE: see ATEMMixEffects

        style: see ATEMDVETransitionStyles

setTransitionDipInput

setTransitionDipInput(mE:ATEMConstant, input_:ATEMConstant) -> None

Set Transition Dip Input

   Args:

        mE: see ATEMMixEffects

        input_: see ATEMVideoSources

setTransitionDipRate

setTransitionDipRate(mE:ATEMConstant, rate:int) -> None

Set Transition Dip Rate

   Args:

        mE: see ATEMMixEffects

        rate (int): 1-250 (frames)

setTransitionMixRate

setTransitionMixRate(mE:ATEMConstant, rate:int) -> None

Set Transition Mix Rate

   Args:

        mE: see ATEMMixEffects

        rate (int): 1-250 (frames)

setTransitionNextTransition

setTransitionNextTransition(mE:ATEMConstant, nextTransition:int) -> None

Set Transition Style Next Transition

   Args:

        mE: see ATEMMixEffects

        nextTransition: see ATEMTransitionStyles

setTransitionPosition

setTransitionPosition(mE:ATEMConstant, position:int) -> None

Set Transition Preview Enabled

   Args:

        mE: see ATEMMixEffects

        position (int): 0-9999

setTransitionPreviewEnabled

setTransitionPreviewEnabled(mE:ATEMConstant, enabled:bool) -> None

Set Transition Preview Enabled

   Args:

        mE: see ATEMMixEffects

        enabled (bool): On/Off

setTransitionStingerClip

setTransitionStingerClip(mE:ATEMConstant, clip:float) -> None

Set Transition Stinger Clip

   Args:

        mE: see ATEMMixEffects

        clip (float): 0.0-100.0 (%)

setTransitionStingerClipDuration

setTransitionStingerClipDuration(mE:ATEMConstant, clipDuration:int) -> None

Set Transition Stinger Clip Duration

   Args:

        mE: see ATEMMixEffects

        clipDuration (int): frames

setTransitionStingerGain

setTransitionStingerGain(mE:ATEMConstant, gain:float) -> None

Set Transition Stinger Gain

   Args:

        mE: see ATEMMixEffects

        gain (float): 0.0-100.0 (%)

setTransitionStingerInvertKey

setTransitionStingerInvertKey(mE:ATEMConstant, invertKey:bool) -> None

Set Transition Stinger Invert Key

   Args:

        mE: see ATEMMixEffects

        invertKey (bool): On/Off

setTransitionStingerMixRate

setTransitionStingerMixRate(mE:ATEMConstant, mixRate:int) -> None

Set Transition Stinger Mix Rate

   Args:

        mE: see ATEMMixEffects

        mixRate (int): frames

setTransitionStingerPreMultiplied

setTransitionStingerPreMultiplied(mE:ATEMConstant, preMultiplied:bool) -> None

Set Transition Stinger Pre Multiplied

   Args:

        mE: see ATEMMixEffects

        preMultiplied (bool): On/Off

setTransitionStingerPreRoll

setTransitionStingerPreRoll(mE:ATEMConstant, preRoll:int) -> None

Set Transition Stinger Pre Roll

   Args:

        mE: see ATEMMixEffects

        preRoll (int): frames

setTransitionStingerSource

setTransitionStingerSource(mE:ATEMConstant, source:ATEMConstant) -> None

Set Transition Stinger Source

   Args:

        mE: see ATEMMixEffects

        source: see ATEMMediaPlayers

setTransitionStingerTriggerPoint

setTransitionStingerTriggerPoint(mE:ATEMConstant, triggerPoint:int) -> None

Set Transition Stinger Trigger Point

   Args:

        mE: see ATEMMixEffects

        triggerPoint (int): frames

setTransitionStyle

setTransitionStyle(mE:ATEMConstant, style:ATEMConstant) -> None

Set Transition Style

   Args:

        mE: see ATEMMixEffects

        style: see ATEMTransitionStyles

setTransitionWipeFillSource

setTransitionWipeFillSource(mE:ATEMConstant, fillSource:ATEMConstant) -> None

Set Transition Wipe Fill Source

   Args:

        mE: see ATEMMixEffects

        fillSource: see ATEMVideoSources

setTransitionWipeFlipFlop

setTransitionWipeFlipFlop(mE:ATEMConstant, flipFlop:bool) -> None

Set Transition Wipe FlipFlop

   Args:

        mE: see ATEMMixEffects

        flipFlop (bool): On/Off

setTransitionWipePattern

setTransitionWipePattern(mE:ATEMConstant, pattern:ATEMConstant) -> None

Set Transition Wipe Pattern

   Args:

        mE: see ATEMMixEffects

        pattern: see ATEMPatternStyles

setTransitionWipePositionX

setTransitionWipePositionX(mE:ATEMConstant, positionX:float) -> None

Set Transition Wipe Position X

   Args:

        mE: see ATEMMixEffects

        positionX (float): 0.0-1.0

setTransitionWipePositionY

setTransitionWipePositionY(mE:ATEMConstant, positionY:float) -> None

Set Transition Wipe Position Y

   Args:

        mE: see ATEMMixEffects

        positionY (float): 0.0-1.0

setTransitionWipeRate

setTransitionWipeRate(mE:ATEMConstant, rate:int) -> None

Set Transition Wipe Rate

   Args:

        mE: see ATEMMixEffects

        rate (int): 1-250 (frames)

setTransitionWipeReverse

setTransitionWipeReverse(mE:ATEMConstant, reverse:bool) -> None

Set Transition Wipe Reverse

   Args:

        mE: see ATEMMixEffects

        reverse (bool): On/Off

setTransitionWipeSoftness

setTransitionWipeSoftness(mE:ATEMConstant, softness:float) -> None

Set Transition Wipe Softness

   Args:

        mE: see ATEMMixEffects

        softness (float): 0.0-100.0 (%)

setTransitionWipeSymmetry

setTransitionWipeSymmetry(mE:ATEMConstant, symmetry:float) -> None

Set Transition Wipe Symmetry

   Args:

        mE: see ATEMMixEffects

        symmetry (float): 0.0-100.0 (%)

setTransitionWipeWidth

setTransitionWipeWidth(mE:ATEMConstant, width:float) -> None

Set Transition Wipe Width

   Args:

        mE: see ATEMMixEffects

        width (float): 0.0-100.0 (%)

setVideoModeFormat

setVideoModeFormat(format_:ATEMConstant) -> None

Set Video Mode Format

   Args:

        format_: see ATEMVideoModeFormats



Docs – Methods – Exec

The exec methods allow executing actions on the switcher.

List of exec methods

execCutME

execCutME(mE: ATEMConstant) -> None

Execute: Cut

   Args:

        mE: see ATEMMixEffects

execAutoME

execAutoME(mE: ATEMConstant) -> None

Execute: AutoMixEffect

   Args:

        mE: see ATEMMixEffects

execDownstreamKeyerAutoKeyer

execDownstreamKeyerAutoKeyer(dsk: Union[ATEMConstant, int]) -> None

Execute: DownstreamKeyer AutoKeyer

   Args:

        dsk: see ATEMDSKs

execFadeToBlackME

execFadeToBlackME(mE: ATEMConstant) -> None

Execute: FadeToBlack

   Args:

        mE: see ATEMMixEffects

execMacroRecord

execMacroRecord(macro: ATEMConstant) -> None

Execute: Macro Record (use macro.stop to stop recording)

   Args:

        macro: see ATEMMacros

execMacroStopRecording

execMacroStopRecording() -> None

Execute: Macro Stop Recording

Docs – Data – Protocol constants

The atem member in ATEMMax is an ATEMProtocol object, containing constant value definitions for the ATEM protocol.

>>> print(switcher.atem.UDPPort.value)

9910

>>> print(switcher.atem.videoSources.mediaPlayer1.value)

3010

>>> print(switcher.atem.videoModeFormats.f1080p50.value)

12

Value enumerations

A lot of efforts have been put into making the library Intellisense friendly and helping the library user with the overwhelming amount of setting values you can find in the protocol.

Instead of using numbers extracted from the ATEM Potocol to identify cameras, videoSources, etc… you can use things like:

  • Video sources
    • switcher.atem.videoSources.input1
    • switcher.atem.videoSources.colorBars
    • switcher.atem.videoSources.mediaPlayer1
  • Audio sources
    • switcher.atem.audioSources.input1
    • switcher.atem.audioSources.xlr
    • switcher.atem.audioSources.mic1
  • Video mode formats
    • switcher.atem.videoModeFormats.f525i59_94_ntsc_16_9
    • switcher.atem.videoModeFormats.f720p50
    • switcher.atem.videoModeFormats.f1080p50
  • Down converter modes
    • switcher.atem.downConverterModes.centerCut
    • switcher.atem.downConverterModes.letterBox
    • switcher.atem.downConverterModes.anamorphic

As you start typing the collection name, your editor should show you a list of valid value names.

ATEMConstant

All these protocol values are stored as ATEMConstant objects.

  • An ATEMConstant object consists of a name and a value.
  • If you print an ATEMConstant you will get its name (string)
  • If you want to get the raw numeric value, use ATEMConstant.value

With these ATEMConstants you can choose how you want to provide parameters for methods:

  • Using the provided protocol constants

switcher.setProgramInputVideoSource(switcher.atem.mixEffects.mixEffect1, switcher.atem.videoSources.mediaPlayer1)

  • Using ATEM protocol integer values

switcher.setProgramInputVideoSource(0, 3010)

  • Using strings representing the values in the respective lists

switcher.setProgramInputVideoSource(“mixEffect1”, “mediaPlayer1”)

It works the same way when getting data values:

  • Using the provided protocol constants

switcher.programInput[switcher.atem.mixEffects.mixEffect1].videoSource

  • Using ATEM protocol integer values

switcher.programInput[0].videoSource

  • Using strings representing the values in the respective lists

switcher.programInput[“mixEffect1”].videoSource

Note about enumerated values

In the following value lists there are some enumerated values, like: switcher.atem.videoSources.input1switcher.atem.videoSources.input40

Please keep in mind that the associated numeric value does not need to be the same as the number in the value name.

As an example, you can see some values match:

  • switcher.atem.videoSources.input1 == 1
  • switcher.atem.cameras.camera1 == 1

While some others don’t:

  • switcher.atem.videoSources.color1 == 2001
  • switcher.atem.videoSources.mediaPlayer1 == 3010
  • switcher.atem.videoSources.key1Mask == 4010
  • switcher.atem.videoSources.dsk1Mask == 5010
  • switcher.atem.videoSources.cleanFeed1 == 7001
  • switcher.atem.videoSources.auxilary1 == 8001
  • switcher.atem.mixEffects.mixEffect1 == 0
  • switcher.atem.multiViewers.multiViewer1 == 0
  • switcher.atem.windows.window1 == 0
  • switcher.atem.keyers.keyer1 == 0
  • switcher.atem.dsks.dsk1 == 0
  • switcher.atem.colorGenerators.colorGenerator1 == 0
  • switcher.atem.auxChannels.auxChannel1 == 0
  • switcher.atem.mediaPlayers.mediaPlayer1 == 0
  • switcher.atem.clipBanks.clipBank1 == 0
  • switcher.atem.stillBanks.stillBank1 == 0
  • switcher.atem.macros.macro1 == 0
  • switcher.atem.boxes.box1 == 0

Value lists

switcher.atem.videoSources (ATEMVideoSources)

  • black
  • input1..40
  • colorBars
  • color1
  • color2
  • mediaPlayer1
  • mediaPlayer1..4Key
  • key1..16Mask
  • dsk1..4Mask
  • superSource
  • superSource2
  • cleanFeed1..4
  • auxilary1..24
  • mE1..4Prog
  • mE1..4Prev
  • input1Direct

switcher.atem.audioSources (ATEMAudioSources)

  • input1..20
  • xlr
  • aes_ebu
  • rca
  • mic1..2
  • mp1..4

switcher.atem.downConverterModes (ATEMDownConverterModes)

  • centerCut
  • letterBox
  • anamorphic

switcher.atem.videoModeFormats (ATEMVideoModeFormats)

  • f525i59_94_ntsc
  • f625i_50_pal
  • f525i59_94_ntsc_16_9
  • f625i_50_pal_16_9
  • f720p50
  • f720p59_94
  • f1080i50
  • f1080i59_94
  • f1080p23_98
  • f1080p24
  • f1080p25
  • f1080p29_97
  • f1080p50
  • f1080p59_94
  • f2160p23_98
  • f2160p24
  • f2160p25
  • f2160p29_97

switcher.atem.externalPortTypes (ATEMExternalPortTypes)

  • internal
  • sdi
  • hdmi
  • composite
  • component
  • sVideo

switcher.atem.switcherPortTypes (ATEMSwitcherPortTypes)

  • external
  • black
  • colorBars
  • colorGenerator
  • mediaPlayerFill
  • mediaPlayerKey
  • superSource
  • externalDirect
  • mEOutput
  • auxiliary
  • mask
  • multiViewer

switcher.atem.multiViewerLayouts (ATEMMultiViewerLayouts)

  • top
  • bottom
  • left
  • right

switcher.atem.transitionStyles (ATEMTransitionStyles)

  • mix
  • dip
  • wipe
  • dVE
  • sting

switcher.atem.keyerTypes (ATEMKeyerTypes)

  • luma
  • chroma
  • pattern
  • dVE

switcher.atem.borderBevels (ATEMBorderBevels)

  • no
  • inOut
  • in_
  • out

switcher.atem.mediaPlayerSourceTypes (ATEMMediaPlayerSourceTypes)

  • still
  • clip

switcher.atem.audioMixerInputTypes (ATEMAudioMixerInputTypes)

  • externalVideo
  • mediaPlayer
  • externalAudio

switcher.atem.audioMixerInputPlugTypes (ATEMAudioMixerInputPlugTypes)

  • internal
  • sdi
  • hdmi
  • component
  • composite
  • sVideo
  • xlr
  • aes_ebu
  • rca

switcher.atem.audioMixerInputMixOptions (ATEMAudioMixerInputMixOptions)

  • off
  • on
  • afv

switcher.atem.dVETransitionStyles (ATEMDVETransitionStyles)

  • swooshTopLeft
  • swooshTop
  • swooshTopRight
  • swooshLeft
  • swooshRight
  • swooshBottomLeft
  • swooshBottom
  • swooshBottomRight
  • spinCCWTopRight
  • spinCWTopLeft
  • spinCCWBottomRight
  • spinCWBottomLeft
  • spinCWTopRight
  • spinCCWTopLeft
  • spinCWBottomRight
  • spinCCWBottomLeft
  • squeezeTopLeft
  • squeezeTop
  • squeezeTopRight
  • squeezeLeft
  • squeezeRight
  • squeezeBottomLeft
  • squeezeBottom
  • squeezeBottomRight
  • pushTopLeft
  • pushTop
  • pushTopRight
  • pushLeft
  • pushRight
  • pushBottomLeft
  • pushBottom
  • pushBottomRight
  • graphicCWSpin
  • graphicCCWSpin
  • graphicLogoWipe

switcher.atem.patternStyles (ATEMPatternStyles)

  • leftToRightBar
  • topToBottomBar
  • horizontalBarnDoor
  • verticalBarnDoor
  • cornersInFourBox
  • rectangleIris
  • diamondIris
  • circleIris
  • topLeftBox
  • topRightBox
  • bottomRightBox
  • bottomLeftBox
  • topCentreBox
  • rightCentreBox
  • bottomCentreBox
  • leftCentreBox
  • topLeftDiagonal
  • topRightDiagonal

switcher.atem.camerControlSharpeningLevels (ATEMCamerControlSharpeningLevels)

  • off
  • low
  • medium
  • high

switcher.atem.macroActions (ATEMMacroActions)

  • runMacro
  • stopMacro
  • stopRecording
  • insertWaitForUser
  • continueMacro
  • deleteMacro

switcher.atem.keyFrames (ATEMKeyFrames)

  • a
  • b
  • full
  • runToInfinite

switcher.atem.mixEffects (ATEMMixEffects)

  • mixEffect1..4

switcher.atem.multiViewers (ATEMMultiViewers)

  • multiViewer1..2

switcher.atem.windows (ATEMWindows)

  • window1..10

switcher.atem.keyers (ATEMKeyers)

  • keyer1..4

switcher.atem.dSKs (ATEMDSKs)

  • dsk1..2

switcher.atem.colorGenerators (ATEMColorGenerators)

  • colorGenerator1..2

switcher.atem.auxChannels (ATEMAuxChannels)

  • auxChannel1..6

switcher.atem.cameras (ATEMCameras)

  • camera1..20

switcher.atem.mediaPlayers (ATEMMediaPlayers)

  • mediaPlayer1..4

switcher.atem.clipBanks (ATEMClipBanks)

  • clipBank1..2

switcher.atem.stillBanks (ATEMStillBanks)

  • stillBank1..32

switcher.atem.macros (ATEMMacros)

  • stop
  • macro1..100

switcher.atem.boxes (ATEMBoxes)

  • box1..4

Docs – Data – Switcher State

The ATEMMax object provides information about both the connection status and the switcher state.

Switcher connection

  • started (bool): True if connect() has been called.
  • switcherAlive (bool): Set to True on first UDP packet reception from the switcher.
  • handshakeStarted (bool): Set to True when ATEMMax closes the HELLO interaction and starts waiting for the initial data snapshot.
  • connected (bool): Set to True when the initial data snapshot is finished and normal operation starts.
  • ip (str): IP address of the switcher.

Switcher state

Data structure

Settings are organized in a tree-like structure, for easier access. Examples:

  • switcher.videoMode.format
  • switcher.audioMixer.master.volume
  • switcher.audioMixer.input[audioSource].volume
  • switcher.cameraControl[camera].lift.r
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.outer.softness

Value lists

When a node in the value tree is a list, it can be indexed using an ATEMConstant.

These 3 statements are equivalent:

switcher.audioMixer.input[switcher.atem.audioSources.mic1].volume

switcher.audioMixer.input[1301].volume

switcher.audioMixer.input[“mic1”].volume

See the Data – Protocol – ATEMConstant section for more info.

Mapped values

In most cases the raw values received from the switcher are converted to real world values. Examples:

Audio volumes are expressed in dB, no conversions required:

switcher.setAudioMixerMasterVolume(1.8)

decibels = switcher.audioMixer.master.volume

Gamma values in cameraControl are interpreted as float values ranging from -1.0 to 1.0, instead of the original -8192 to 8192 raw range:

switcher.setCameraControlGammaR(“camera1”, 0.7)

gamma = self.data.cameraControl[“camera1”].gamma.r

Hue value in cameraControl is interpreted as a float value ranging from 0.0 to 359.9 degrees, instead of the original -2048 to 2048 raw range:

switcher.setCameraControlHue(“camera1”, 90.5)

hue = self.data.cameraControl[“camera1”].hue

Enumerated values

When a setting corresponds to an enumerated value, the option name can be extracted by converting it to a string or getting its name member:

formatname = f“Current video format: {switcher.videoMode.format}”

formatname = “Current video format: “ + str(switcher.videoMode.format)

formatname = “Current video format: “ + switcher.videoMode.format.name

State tree

This is the complete list of settings stored in the ATEMMax object:

general

  • switcher.atemModel
  • switcher.warningText

audioMixer

  • switcher.audioMixer.config.audioChannels
  • switcher.audioMixer.config.hasMonitor
  • switcher.audioMixer.input[audioSource].balance
  • switcher.audioMixer.input[audioSource].fromMediaPlayer
  • switcher.audioMixer.input[audioSource].mixOption
  • switcher.audioMixer.input[audioSource].plugtype
  • switcher.audioMixer.input[audioSource].type
  • switcher.audioMixer.input[audioSource].volume
  • switcher.audioMixer.levels.master.left
  • switcher.audioMixer.levels.master.peak.left
  • switcher.audioMixer.levels.master.peak.right
  • switcher.audioMixer.levels.master.right
  • switcher.audioMixer.levels.monitor
  • switcher.audioMixer.levels.numSources
  • switcher.audioMixer.levels.sources[audioSources[a]].left
  • switcher.audioMixer.levels.sources[audioSources[a]].peak.left
  • switcher.audioMixer.levels.sources[audioSources[a]].peak.right
  • switcher.audioMixer.levels.sources[audioSources[a]].right
  • switcher.audioMixer.master.volume
  • switcher.audioMixer.monitor.dim
  • switcher.audioMixer.monitor.monitorAudio
  • switcher.audioMixer.monitor.mute
  • switcher.audioMixer.monitor.solo
  • switcher.audioMixer.monitor.soloInput
  • switcher.audioMixer.monitor.volume
  • switcher.audioMixer.tally.numSources
  • switcher.audioMixer.tally.sources[audioSource].isMixedIn

auxSource

  • switcher.auxSource[aUXChannel].input

cameraControl

  • switcher.cameraControl[camera].colorbars
  • switcher.cameraControl[camera].contrast
  • switcher.cameraControl[camera].focus
  • switcher.cameraControl[camera].gain.b
  • switcher.cameraControl[camera].gain.g
  • switcher.cameraControl[camera].gain.r
  • switcher.cameraControl[camera].gain.value
  • switcher.cameraControl[camera].gain.y
  • switcher.cameraControl[camera].gamma.b
  • switcher.cameraControl[camera].gamma.g
  • switcher.cameraControl[camera].gamma.r
  • switcher.cameraControl[camera].gamma.y
  • switcher.cameraControl[camera].hue
  • switcher.cameraControl[camera].iris
  • switcher.cameraControl[camera].lift.b
  • switcher.cameraControl[camera].lift.g
  • switcher.cameraControl[camera].lift.r
  • switcher.cameraControl[camera].lift.y
  • switcher.cameraControl[camera].lumMix
  • switcher.cameraControl[camera].saturation
  • switcher.cameraControl[camera].sharpeningLevel
  • switcher.cameraControl[camera].shutter
  • switcher.cameraControl[camera].whiteBalance
  • switcher.cameraControl[camera].zoom.normalized
  • switcher.cameraControl[camera].zoom.speed

clipPlayer

  • switcher.clipPlayer[mediaPlayer].atBeginning
  • switcher.clipPlayer[mediaPlayer].clipFrame
  • switcher.clipPlayer[mediaPlayer].loop
  • switcher.clipPlayer[mediaPlayer].playing

colorGenerator

  • switcher.colorGenerator[colorGenerator].hue
  • switcher.colorGenerator[colorGenerator].luma
  • switcher.colorGenerator[colorGenerator].saturation

downConverter

  • switcher.downConverter.mode

downstreamKeyer

  • switcher.downstreamKeyer[dsk].bottom
  • switcher.downstreamKeyer[dsk].clip
  • switcher.downstreamKeyer[dsk].fillSource
  • switcher.downstreamKeyer[dsk].framesRemaining
  • switcher.downstreamKeyer[dsk].gain
  • switcher.downstreamKeyer[dsk].inTransition
  • switcher.downstreamKeyer[dsk].invertKey
  • switcher.downstreamKeyer[dsk].isAutoTransitioning
  • switcher.downstreamKeyer[dsk].keySource
  • switcher.downstreamKeyer[dsk].left
  • switcher.downstreamKeyer[dsk].masked
  • switcher.downstreamKeyer[dsk].onAir
  • switcher.downstreamKeyer[dsk].preMultiplied
  • switcher.downstreamKeyer[dsk].rate
  • switcher.downstreamKeyer[dsk].right
  • switcher.downstreamKeyer[dsk].tie
  • switcher.downstreamKeyer[dsk].top

fadeToBlack

  • switcher.fadeToBlack[mE].rate
  • switcher.fadeToBlack[mE].state.framesRemaining
  • switcher.fadeToBlack[mE].state.fullyBlack
  • switcher.fadeToBlack[mE].state.inTransition

inputProperties

  • switcher.inputProperties[videoSource].availability.auxiliary
  • switcher.inputProperties[videoSource].availability.keySourcesEverywhere
  • switcher.inputProperties[videoSource].availability.multiviewer
  • switcher.inputProperties[videoSource].availability.superSourceArt
  • switcher.inputProperties[videoSource].availability.superSourceBox
  • switcher.inputProperties[videoSource].availableExternalPortTypes.component
  • switcher.inputProperties[videoSource].availableExternalPortTypes.composite
  • switcher.inputProperties[videoSource].availableExternalPortTypes.hdmi
  • switcher.inputProperties[videoSource].availableExternalPortTypes.sdi
  • switcher.inputProperties[videoSource].availableExternalPortTypes.sVideo
  • switcher.inputProperties[videoSource].externalPortType
  • switcher.inputProperties[videoSource].longName
  • switcher.inputProperties[videoSource].mEAvailability.mE1FillSources
  • switcher.inputProperties[videoSource].mEAvailability.mE2FillSources
  • switcher.inputProperties[videoSource].portType
  • switcher.inputProperties[videoSource].shortName

key

  • switcher.key[mE][keyer].chroma.gain
  • switcher.key[mE][keyer].chroma.hue
  • switcher.key[mE][keyer].chroma.lift
  • switcher.key[mE][keyer].chroma.narrow
  • switcher.key[mE][keyer].chroma.ySuppress
  • switcher.key[mE][keyer].dVE.border.bevel.position
  • switcher.key[mE][keyer].dVE.border.bevel.softness
  • switcher.key[mE][keyer].dVE.border.bevel.type
  • switcher.key[mE][keyer].dVE.border.enabled
  • switcher.key[mE][keyer].dVE.border.hue
  • switcher.key[mE][keyer].dVE.border.inner.softness
  • switcher.key[mE][keyer].dVE.border.inner.width
  • switcher.key[mE][keyer].dVE.border.luma
  • switcher.key[mE][keyer].dVE.border.opacity
  • switcher.key[mE][keyer].dVE.border.outer.softness
  • switcher.key[mE][keyer].dVE.border.outer.width
  • switcher.key[mE][keyer].dVE.border.saturation
  • switcher.key[mE][keyer].dVE.bottom
  • switcher.key[mE][keyer].dVE.left
  • switcher.key[mE][keyer].dVE.lightSource.altitude
  • switcher.key[mE][keyer].dVE.lightSource.direction
  • switcher.key[mE][keyer].dVE.masked
  • switcher.key[mE][keyer].dVE.position.x
  • switcher.key[mE][keyer].dVE.position.y
  • switcher.key[mE][keyer].dVE.rate
  • switcher.key[mE][keyer].dVE.right
  • switcher.key[mE][keyer].dVE.rotation
  • switcher.key[mE][keyer].dVE.shadow
  • switcher.key[mE][keyer].dVE.size.x
  • switcher.key[mE][keyer].dVE.size.y
  • switcher.key[mE][keyer].dVE.top
  • switcher.key[mE][keyer].luma.clip
  • switcher.key[mE][keyer].luma.gain
  • switcher.key[mE][keyer].luma.invertKey
  • switcher.key[mE][keyer].luma.preMultiplied
  • switcher.key[mE][keyer].pattern.invertPattern
  • switcher.key[mE][keyer].pattern.pattern
  • switcher.key[mE][keyer].pattern.position.x
  • switcher.key[mE][keyer].pattern.position.y
  • switcher.key[mE][keyer].pattern.size
  • switcher.key[mE][keyer].pattern.softness
  • switcher.key[mE][keyer].pattern.symmetry

keyer

  • switcher.keyer[mE][keyer].bottom
  • switcher.keyer[mE][keyer].fillSource
  • switcher.keyer[mE][keyer].fly.enabled
  • switcher.keyer[mE][keyer].fly.isASet
  • switcher.keyer[mE][keyer].fly.isAtKeyFrame.a
  • switcher.keyer[mE][keyer].fly.isAtKeyFrame.b
  • switcher.keyer[mE][keyer].fly.isAtKeyFrame.full
  • switcher.keyer[mE][keyer].fly.isAtKeyFrame.runToInfinite
  • switcher.keyer[mE][keyer].fly.isBSet
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.bevel.position
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.bevel.softness
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.hue
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.inner.softness
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.inner.width
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.luma
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.opacity
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.outer.softness
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.outer.width
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].border.saturation
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].bottom
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].left
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].lightSource.altitude
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].lightSource.direction
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].position.x
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].position.y
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].right
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].rotation
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].size.x
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].size.y
  • switcher.keyer[mE][keyer].fly.keyFrame[keyFrame].top
  • switcher.keyer[mE][keyer].fly.runtoInfiniteindex
  • switcher.keyer[mE][keyer].keySource
  • switcher.keyer[mE][keyer].left
  • switcher.keyer[mE][keyer].masked
  • switcher.keyer[mE][keyer].onAir.enabled
  • switcher.keyer[mE][keyer].right
  • switcher.keyer[mE][keyer].top
  • switcher.keyer[mE][keyer].type

lastStateChange

  • switcher.lastStateChange.timeCode.frame
  • switcher.lastStateChange.timeCode.hour
  • switcher.lastStateChange.timeCode.minute
  • switcher.lastStateChange.timeCode.second

macro

  • switcher.macro.pool.banks
  • switcher.macro.properties[macroIndex].isUsed
  • switcher.macro.properties[macroIndex].name
  • switcher.macro.recordingStatus.index
  • switcher.macro.recordingStatus.isRecording
  • switcher.macro.runStatus.index
  • switcher.macro.runStatus.isLooping
  • switcher.macro.runStatus.state.running
  • switcher.macro.runStatus.state.waiting

mediaPlayer

  • switcher.mediaPlayer.audioSource[clipBank].fileName
  • switcher.mediaPlayer.audioSource[clipBank].isUsed
  • switcher.mediaPlayer.clipBanks
  • switcher.mediaPlayer.clipSource[clipBank].fileName
  • switcher.mediaPlayer.clipSource[clipBank].frames
  • switcher.mediaPlayer.clipSource[clipBank].isUsed
  • switcher.mediaPlayer.source[mediaPlayer].clipIndex
  • switcher.mediaPlayer.source[mediaPlayer].stillIndex
  • switcher.mediaPlayer.source[mediaPlayer].type
  • switcher.mediaPlayer.stillBanks
  • switcher.mediaPlayer.stillFile[stillBank].fileName
  • switcher.mediaPlayer.stillFile[stillBank].isUsed

mediaPoolStorage

  • switcher.mediaPoolStorage.clip1MaxLength
  • switcher.mediaPoolStorage.clip2MaxLength

mixEffect

  • switcher.mixEffect.config[mE].keyers

multiViewer

  • switcher.multiViewer.config.multiViewers
  • switcher.multiViewer.input[multiViewer][windowIndex].videoSource
  • switcher.multiViewer.properties[multiViewer].layout

power

  • switcher.power.status.backup
  • switcher.power.status.main

previewInput

  • switcher.previewInput[mE].videoSource

programInput

  • switcher.programInput[mE].videoSource

protocolVersion

  • switcher.protocolVersion.major
  • switcher.protocolVersion.minor

superSource

  • switcher.superSource.border.bevel.position
  • switcher.superSource.border.bevel.softness
  • switcher.superSource.border.bevel.value
  • switcher.superSource.border.enabled
  • switcher.superSource.border.hue
  • switcher.superSource.border.inner.softness
  • switcher.superSource.border.inner.width
  • switcher.superSource.border.luma
  • switcher.superSource.border.outer.softness
  • switcher.superSource.border.outer.width
  • switcher.superSource.border.saturation
  • switcher.superSource.boxParameters[box].crop.bottom
  • switcher.superSource.boxParameters[box].crop.left
  • switcher.superSource.boxParameters[box].crop.right
  • switcher.superSource.boxParameters[box].crop.top
  • switcher.superSource.boxParameters[box].cropped
  • switcher.superSource.boxParameters[box].enabled
  • switcher.superSource.boxParameters[box].inputSource
  • switcher.superSource.boxParameters[box].position.x
  • switcher.superSource.boxParameters[box].position.y
  • switcher.superSource.boxParameters[box].size
  • switcher.superSource.clip
  • switcher.superSource.config.boxes
  • switcher.superSource.fillSource
  • switcher.superSource.foreground
  • switcher.superSource.gain
  • switcher.superSource.invertKey
  • switcher.superSource.keySource
  • switcher.superSource.lightSource.altitude
  • switcher.superSource.lightSource.direction
  • switcher.superSource.preMultiplied

tally

  • switcher.tally.byIndex.flags[a].preview
  • switcher.tally.byIndex.flags[a].program
  • switcher.tally.byIndex.sources
  • switcher.tally.bySource.flags[videoSource].preview
  • switcher.tally.bySource.flags[videoSource].program
  • switcher.tally.bySource.sources
  • switcher.tally.channelConfig.tallyChannels

topology

  • switcher.topology.auxBusses
  • switcher.topology.colorGenerators
  • switcher.topology.downstreamKeyers
  • switcher.topology.dVEs
  • switcher.topology.hasSDOutput
  • switcher.topology.mEs
  • switcher.topology.sources
  • switcher.topology.stingers
  • switcher.topology.superSources

transition

  • switcher.transition[mE].dip.input
  • switcher.transition[mE].dip.rate
  • switcher.transition[mE].dVE.clip
  • switcher.transition[mE].dVE.enableKey
  • switcher.transition[mE].dVE.fillSource
  • switcher.transition[mE].dVE.flipFlop
  • switcher.transition[mE].dVE.gain
  • switcher.transition[mE].dVE.invertKey
  • switcher.transition[mE].dVE.keySource
  • switcher.transition[mE].dVE.preMultiplied
  • switcher.transition[mE].dVE.rate
  • switcher.transition[mE].dVE.reverse
  • switcher.transition[mE].dVE.style
  • switcher.transition[mE].framesRemaining
  • switcher.transition[mE].inTransition
  • switcher.transition[mE].mix.rate
  • switcher.transition[mE].nextTransition.background
  • switcher.transition[mE].nextTransition.key1
  • switcher.transition[mE].nextTransition.key2
  • switcher.transition[mE].nextTransition.key3
  • switcher.transition[mE].nextTransition.key4
  • switcher.transition[mE].nextTransitionNext.background
  • switcher.transition[mE].nextTransitionNext.key1
  • switcher.transition[mE].nextTransitionNext.key2
  • switcher.transition[mE].nextTransitionNext.key3
  • switcher.transition[mE].nextTransitionNext.key4
  • switcher.transition[mE].position
  • switcher.transition[mE].preview.enabled
  • switcher.transition[mE].stinger.clip
  • switcher.transition[mE].stinger.clipDuration
  • switcher.transition[mE].stinger.gain
  • switcher.transition[mE].stinger.invertKey
  • switcher.transition[mE].stinger.mixRate
  • switcher.transition[mE].stinger.preMultiplied
  • switcher.transition[mE].stinger.preRoll
  • switcher.transition[mE].stinger.source
  • switcher.transition[mE].stinger.triggerPoint
  • switcher.transition[mE].style
  • switcher.transition[mE].styleNext
  • switcher.transition[mE].wipe.fillSource
  • switcher.transition[mE].wipe.flipFlop
  • switcher.transition[mE].wipe.pattern
  • switcher.transition[mE].wipe.position.x
  • switcher.transition[mE].wipe.position.y
  • switcher.transition[mE].wipe.rate
  • switcher.transition[mE].wipe.reverse
  • switcher.transition[mE].wipe.softness
  • switcher.transition[mE].wipe.symmetry
  • switcher.transition[mE].wipe.width

videoMixer

  • switcher.videoMixer.config.modes.f1080i50
  • switcher.videoMixer.config.modes.f1080i59_94
  • switcher.videoMixer.config.modes.f1080p23_98
  • switcher.videoMixer.config.modes.f1080p24
  • switcher.videoMixer.config.modes.f1080p25
  • switcher.videoMixer.config.modes.f1080p29_97
  • switcher.videoMixer.config.modes.f1080p50
  • switcher.videoMixer.config.modes.f1080p59_94
  • switcher.videoMixer.config.modes.f2160p23_98
  • switcher.videoMixer.config.modes.f2160p24
  • switcher.videoMixer.config.modes.f2160p25
  • switcher.videoMixer.config.modes.f2160p29_97
  • switcher.videoMixer.config.modes.f525i59_94_NTSC
  • switcher.videoMixer.config.modes.f525i59_94_NTSC_16_9
  • switcher.videoMixer.config.modes.f625i_50_PAL
  • switcher.videoMixer.config.modes.f625i_50_PAL_16_9
  • switcher.videoMixer.config.modes.f720p50
  • switcher.videoMixer.config.modes.f720p59_94

videoMode

  • switcher.videoMode.format