Video switching commands

class pyatem.command.VideoModeCommand(mode)

Implementation of the CVdM command. This sets the main video mode for the hardware

Offset

Size

Type

Description

0

1

u8

M/E index

1

1

bool

Preview enabled

2

2

?

unknown

__init__(mode)
Parameters:

mode – The new video mode ID

class pyatem.command.AutoInputVideoModeCommand(enable)

Implementation of the AiVM command. This enables or disables automatic video mode detection based on the video signal.

Offset

Size

Type

Description

0

1

bool

Enable

1

3

?

unknown

__init__(enable)
Parameters:

enable – Set auto mode enabled or disabled

Program / Preview bus

class pyatem.command.ProgramInputCommand(index, source)

Implementation of the CPgI command. This is equivalent to pressing the buttons on the program bus on a control panel.

Offset

Size

Type

Description

0

1

u8

M/E index

1

1

?

unknown

2

2

u16

Source index

__init__(index, source)
Parameters:
  • index – 0-indexed M/E number to control the program bus of

  • source – Source index to activate on the program bus

class pyatem.command.PreviewInputCommand(index, source)

Implementation of the CPvI command. This is equivalent to pressing the buttons on the preview bus on a control panel.

Offset

Size

Type

Description

0

1

u8

M/E index

1

1

?

unknown

2

2

u16

Source index

__init__(index, source)
Parameters:
  • index – 0-indexed M/E number to control the preview bus of

  • source – Source index to activate on the preview bus

Aux routing

class pyatem.command.AuxSourceCommand(index, source)

Implementation of the CAuS command. This selects the source that will be sent to a specific AUX output

Offset

Size

Type

Description

0

1

u8

Mask, always 1

1

1

u8

AUX index

2

2

u16

Source index

__init__(index, source)
Parameters:
  • index – 0-indexed AUX output number

  • source – Source index to send to the aux output

Transitions

class pyatem.command.CutCommand(index)

Implementation of the DCut command. This is equivalent to pressing the CUT button in the UI

Offset

Size

Type

Description

0

1

u8

M/E index

1

3

?

unknown

__init__(index)
Parameters:

index – 0-indexed M/E number to send the CUT to

class pyatem.command.AutoCommand(index)

Implementation of the DAut command. This is equivalent to pressing the AUTO button in the UI

Offset

Size

Type

Description

0

1

u8

M/E index

1

3

?

unknown

__init__(index)
Parameters:

index – 0-indexed M/E number to send the AUTO transition to

class pyatem.command.TransitionPreviewCommand(index, enabled)

Implementation of the CTPr command. This sets the state of the Transition Preview function of the mixer

Offset

Size

Type

Description

0

1

u8

M/E index

1

1

bool

Preview enabled

2

2

?

unknown

__init__(index, enabled)
Parameters:
  • index – 0-indexed M/E number to control the preview bus of

  • enabled – New state of the preview function

class pyatem.command.TransitionSettingsCommand(index, style=None, next_transition=None)

Implementation of the CTTp command. This is setting the transition style for the M/E unit between the Mix, Dip, Wipe, String and DVE transition style.

The style argument takes one of the values from the TransitionSettingsField constants: TransitionSettingsField.STYLE_MXI TransitionSettingsField.STYLE_DIP TransitionSettingsField.STYLE_WIPE TransitionSettingsField.STYLE_STING TransitionSettingsField.STYLE_DVE

The next_transition argument is a bitfield that sets the state of the “Next Transition” buttons, the row with the BKGD button.

Offset

Size

Type

Description

0

1

u8

Mask, bit0=set style, bit1=set next transition

1

1

u8

M/E index

2

1

u8

Style

3

1

u8

Next transition

bit

Next transition button

0

BKGD

1

Key 1

2

Key 2

3

Key 3

4

Key 4

__init__(index, style=None, next_transition=None)
Parameters:
  • index – 0-indexed M/E number to control the preview bus of

  • style – Set new transition style, or None

  • next_transition – Set next transition active layers, or None

class pyatem.command.TransitionPositionCommand(index, position)

Implementation of the CTPs command. This sets the state and position for the transition T-bar control.

Offset

Size

Type

Description

0

1

u8

M/E index

1

1

?

unknown

2

2

u16

Position [0-10000]

__init__(index, position)
Parameters:
  • index – 0-indexed M/E number to control the transition of

  • position – New position for the T-bar [0-10000]

Transition settings

class pyatem.command.MixSettingsCommand(index, rate)

Implementation of the CTMx command. This sets the transition duration for the mix transition panel.

Offset

Size

Type

Description

0

1

u8

M/E index, 0-indexed

1

1

u8

Rate in frames

2

2

?

unknown

__init__(index, rate)
Parameters:
  • index – 0-indexed DSK number to trigger

  • rate – Transition length in frames

class pyatem.command.DipSettingsCommand(index, rate=None, source=None)

Implementation of the CTDp command. This sets the settings for the dip transition panel.

Offset

Size

Type

Description

0

1

u8

Mask, bit0=set rate, bit1=set source

1

1

u8

M/E index

2

1

u8

Rate in frames

3

1

?

unknown

4

2

u16

Source index

6

2

?

unknown

__init__(index, rate=None, source=None)
Parameters:
  • index – 0-indexed M/E number to control the preview bus of

  • rate – Set new transition rate, or None

  • source – Set the dip source, or None

class pyatem.command.WipeSettingsCommand(index, rate=None, pattern=None, width=None, source=None, symmetry=None, softness=None, positionx=None, positiony=None, reverse=None, flipflop=None)

Implementation of the CTWp command. This sets the settings for the wipe transition panel.

Offset

Size

Type

Description

0

2

u16

Mask, see table below

2

1

u8

M/E index

3

1

u8

Rate in frames

4

1

u8

Pattern style [0-17]

5

1

?

unknown

6

2

u16

Border width [0-10000]

8

2

u16

Border fill source

10

2

u16

Symmetry [0-10000]

12

2

u16

Softness [0-10000]

14

2

16

Transition origin x [0-10000]

16

2

16

Transition origin y [0-10000]

18

1

bool

Reverse

19

1

bool

Flip flop

Bit

Mask value

0

Rate

1

Pattern

2

Border width

3

Border fill source

4

Symmetry

5

Softness

6

Position x

7

Position y

8

Reverse

9

Flip flop

__init__(index, rate=None, pattern=None, width=None, source=None, symmetry=None, softness=None, positionx=None, positiony=None, reverse=None, flipflop=None)
Parameters:
  • index – 0-indexed M/E number to control the preview bus of

  • rate – Set new transition rate, or None

  • pattern – Set transition pattern id, or None

  • width – Set transition border width, or None

  • source – Set transition border fill source index, or None

  • symmetry – Set transition symmetry, or None

  • softness – Set transition softness, or None

  • positionx – Set transition origin x, or None

  • positiony – Set transition origin y, or None

  • reverse – Set the reverse flag for the transition, or None

  • flipflop – Set the flipflop flag for the transition, or None

class pyatem.command.DveSettingsCommand(index, rate=None, style=None, fill_source=None, key_source=None, key_enable=None, key_premultiplied=None, key_clip=None, key_gain=None, key_invert=None, reverse=None, flipflop=None)

Implementation of the CTDv command. This sets the settings for the DVE transition panel.

Offset

Size

Type

Description

0

2

u16

Mask, see table below

2

1

u8

M/E index

3

1

u8

Rate in frames

4

1

u8

Pattern style [0-17]

5

1

?

unknown

6

2

u16

Fill source index

8

2

u16

Key source index

10

1

bool

Enable key

11

1

bool

Key is premultiplied

12

2

u16

Key clip [0-1000]

14

2

u16

Key gain [0-1000]

16

1

bool

Invert key

17

1

bool

Reverse transition direction

18

1

bool

Enable flip-flop

19

1

?

unknown

Bit

Mask value

0

Rate

1

?

2

Style

3

Fill source

4

Key source

5

Enable key

6

Key is premultiplied

7

Key clip

8

Key gain

9

Invert key

10

Reverse

11

Flip-flop

__init__(index, rate=None, style=None, fill_source=None, key_source=None, key_enable=None, key_premultiplied=None, key_clip=None, key_gain=None, key_invert=None, reverse=None, flipflop=None)
Parameters:
  • index – 0-indexed M/E number to control the preview bus of

  • rate – Set new transition rate, or None

  • style – Set new transition style, or None

  • fill_source – Set new fill source, or None

  • key_source – Set new key source, or None

  • key_enable – Enable the keyer, or None

  • key_premultiplied – Key is premultiplied alpha, or None

  • key_clip – Key clip, or None

  • key_gain – Key gain, or None

  • key_invert – Invert the key source, or None

  • reverse – Set the reverse flag for the transition, or None

  • flipflop – Set the flipflop flag for the transition, or None

Palettes

class pyatem.command.ColorGeneratorCommand(index, hue=None, saturation=None, luma=None)

Implementation of the CClV command. This sets the color for a color generator

Offset

Size

Type

Description

0

1

u8

Set mask

1

1

u8

Color generator index

2

2

u16

Hue [0-3599]

4

2

u16

Saturation [0-1000]

6

2

u16

Luma [0-1000]

__init__(index, hue=None, saturation=None, luma=None)
Parameters:
  • index – Color generator index

  • hue – New Hue for the generator, or None

  • saturation – New Saturation for the generator, or None

  • luma – New Luma for the generator, or None

Downstream

class pyatem.command.FadeToBlackCommand(index)

Implementation of the FtbA command. This triggers the fade-to-black transition

Offset

Size

Type

Description

0

1

u8

M/E index

1

1

?

unknown

2

1

?

unknown

3

1

?

unknown

__init__(index)
Parameters:

index – 0-indexed M/E number to trigger FtB on

class pyatem.command.DkeyOnairCommand(index, on_air)

Implementation of the CDsL command. This setting the “on-air” state of the downstream keyer on or off panel.

Offset

Size

Type

Description

0

1

u8

Keyer index, 0-indexed

1

1

?

On air

2

2

?

unknown

__init__(index, on_air)
Parameters:
  • index – 0-indexed DSK number to control

  • on_air – The new on-air state for the keyer

class pyatem.command.DkeyTieCommand(index, tie)

Implementation of the CDsT command. This setting the “tie” state of the downstream keyer on or off panel.

Offset

Size

Type

Description

0

1

u8

Keyer index, 0-indexed

1

1

?

Tie

2

2

?

unknown

__init__(index, tie)
Parameters:
  • index – 0-indexed DSK number to control

  • tie – The new tie state for the keyer

class pyatem.command.DkeyAutoCommand(index)

Implementation of the DDsA command. This triggers the auto transition of a downstream keyer panel.

Offset

Size

Type

Description

0

1

u8

Keyer index, 0-indexed

1

3

?

unknown

__init__(index)
Parameters:

index – 0-indexed DSK number to trigger

class pyatem.command.DkeyRateCommand(index, rate)

Implementation of the CDsR command. This sets the transition rate for the downstream keyer panel.

Offset

Size

Type

Description

0

1

u8

Keyer index, 0-indexed

1

1

u8

Rate in frames

2

2

?

unknown

__init__(index, rate)
Parameters:
  • index – 0-indexed DSK number to change

  • rate – New rate for the keyer

class pyatem.command.DkeySetFillCommand(index, source)

Implementation of the CDsF command. This sets the fill source on a downstream keyer panel.

Offset

Size

Type

Description

0

1

u8

Keyer index, 0-indexed

1

1

?

unknown

2

2

u16

Fill source index

__init__(index, source)
Parameters:
  • index – 0-indexed DSK number to control

  • source – The source index to set on the keyer

class pyatem.command.DkeySetKeyCommand(index, source)

Implementation of the CDsC command. This sets the key source on a downstream keyer panel.

Offset

Size

Type

Description

0

1

u8

Keyer index, 0-indexed

1

1

?

unknown

2

2

u16

Key source index

__init__(index, source)
Parameters:
  • index – 0-indexed DSK number to control

  • source – The source index to set on the keyer

class pyatem.command.DkeyGainCommand(index, premultiplied=None, clip=None, gain=None, invert=None)

Implementation of the CDsG command. This controls the gain, clip, premultiplied and invert settings for a downstream keyer.

Offset

Size

Type

Description

0

1

u8

Mask

1

1

u8

Downstream keyer index

2

1

bool

Premultiplied

3

1

?

unknown

4

2

u16

Clip

6

2

u16

Gain

8

1

bool

Invert

9

3

?

unknown

Bit

Mask value

0

Pre-multiplied

1

Clip

2

Gain

3

Invert key

__init__(index, premultiplied=None, clip=None, gain=None, invert=None)
Parameters:
  • index – 0-indexed DSK number to control

  • premultipled – The new premultiplied state for the keyer, or None

  • clip – The new clip value for the keyer, or None

  • gain – The new gain value for the keyer, or None

  • invert – The new invert state for the keyer, or None

class pyatem.command.DkeyMaskCommand(index, enabled=None, top=None, bottom=None, left=None, right=None)

Implementation of the CDsM command. This controls the mask values for a downstream keyer.

Offset

Size

Type

Description

0

1

u8

Mask

1

1

u8

Downstream keyer index

2

1

bool

Mask enabled

3

1

?

unknown

4

2

i16

Mask Top

6

2

i16

Mask bottom

8

2

i16

Mask left

10

2

i16

Mask right

Bit

Mask value

0

Mask enabled

1

Top

2

Bottom

3

Left

4

Right

__init__(index, enabled=None, top=None, bottom=None, left=None, right=None)
Parameters:
  • index – 0-indexed DSK number to control

  • enabled – Enable or disable the mask, or None

  • top – The new top offset for the mask, or None

  • bottom – The new bottom offset for the mask, or None

  • left – The new left offset for the mask, or None

  • right – The new right offset for the mask, or None

class pyatem.command.CaptureStillCommand

Implementation of the Capt command. This saves the current frame of the program output into the media slots

Offset

Size

Type

Description

Upstream keyers

class pyatem.command.KeyOnAirCommand(index, keyer, enabled)

Implementation of the CKOn command. This enables an upstream keyer without having a transition.

Offset

Size

Type

Description

0

1

u8

M/E index, 0-indexed

1

1

u8

Keyer index

2

1

bool

Enabled

4

1

?

unknown

__init__(index, keyer, enabled)
Parameters:
  • index – 0-indexed DSK number to trigger

  • keyer – 0-indexed keyer number

  • enabled – Set the keyer on-air or disabled

class pyatem.command.KeyTypeCommand(index, keyer, type=None, fly_enabled=None)

Implementation of the CKTp command. This sets the type of an upstream keyer.

Offset

Size

Type

Description

0

1

u8

Mask

1

1

u8

M/E index, 0-indexed

2

1

u8

Keyer index

3

1

u8

Keyer type

4

1

bool

Fly enabled

5

3

?

unknown

Bit

Mask value

0

Key type

1

Fly enabled

__init__(index, keyer, type=None, fly_enabled=None)
Parameters:
  • index – 0-indexed DSK number to trigger

  • keyer – 0-indexed keyer number

  • source – Source index for the keyer fill

class pyatem.command.KeyFillCommand(index, keyer, source)

Implementation of the CKeF command. This enables an upstream keyer without having a transition.

Offset

Size

Type

Description

0

1

u8

M/E index, 0-indexed

1

1

u8

Keyer index

2

2

u16

Source index

__init__(index, keyer, source)
Parameters:
  • index – 0-indexed DSK number to trigger

  • keyer – 0-indexed keyer number

  • source – Source index for the keyer fill

class pyatem.command.KeyCutCommand(index, keyer, source)

Implementation of the CKeC command. This sets the key source for an upstream keyer.

Offset

Size

Type

Description

0

1

u8

M/E index, 0-indexed

1

1

u8

Keyer index

2

2

u16

Source index

__init__(index, keyer, source)
Parameters:
  • index – 0-indexed DSK number to trigger

  • keyer – 0-indexed keyer number

  • source – Source index for the keyer fill

class pyatem.command.KeyPropertiesLumaCommand(index, keyer, premultiplied=None, clip=None, gain=None, invert_key=None)

Implementation of the CKLm command. This sets the key source for an upstream keyer.

Offset

Size

Type

Description

0

1

u8

Mask

1

1

u8

M/E index, 0-indexed

2

1

u8

Keyer index

3

1

bool

Pre-multiplied

4

2

u16

Clip

6

2

u16

Gain

8

1

bool

Invert key

9

3

?

unknown

Bit

Mask value

0

Pre-multiplied

1

Clip

2

Gain

3

Invert key

__init__(index, keyer, premultiplied=None, clip=None, gain=None, invert_key=None)
Parameters:
  • index – 0-indexed DSK number to trigger

  • keyer – 0-indexed keyer number

  • source – Source index for the keyer fill

class pyatem.command.KeyPropertiesDveCommand(index, keyer, size_x=None, size_y=None, pos_x=None, pos_y=None, rotation=None, border_enabled=None, shadow_enabled=None, border_bevel_enabled=None, outer_width=None, inner_width=None, outer_softness=None, inner_softness=None, bevel_softness=None, bevel_position=None, border_opacity=None, border_hue=None, border_saturation=None, border_luma=None, angle=None, altitude=None, mask_enabled=None, mask_top=None, mask_bottom=None, mask_left=None, mask_right=None, rate=None)

Implementation of the CKDV command. This sets the settings of the DVE in an upstream keyer

Offset

Size

Type

Description

0

1

u32

Mask

4

1

u8

M/E index, 0-indexed

5

1

u8

Keyer index

6

2

?

unknown

8

4

i32

Size x [0 - 9900]

12

4

i32

Size y [0 - 9900]

16

4

i32

Position x [-16000 - 16000]

20

4

i32

Position y [-9000 - 9000]

24

4

i32

Rotation

28

1

bool

Border enabled

29

1

bool

Shadow enabled

30

1

u8

Border bevel mode

31

1

?

unknown

32

2

u16

Border outer width [0 - 1600]

34

2

u16

Border inner width [0 - 1600]

36

1

u8

Border outer softness [0 - 100]

37

1

u8

Border inner softness [0 - 100]

38

1

u8

Border bevel softness [0 - 100]

39

1

u8

Border bevel position [0 - 100]

40

1

u8

Border opacity [0-100]

41

1

?

unknown

42

2

u16

Border color hue [0 - 3599]

44

2

u16

Border color saturation [0 - 1000]

46

2

u16

Border color luma [0 - 1000]

48

2

u16

Shadow light source angle [0 - 3590]

50

1

u8

Shadow light source altitude [10-100]

51

1

bool

Mask enabled

52

2

i16

Mask top [-9000 - 9000]

54

2

i16

Mask bottom [-9000 - 9000]

56

2

i16

Mask left [-16000 - 16000]

58

2

i16

Mask right [-16000 - 16000]

60

1

u8

Rate

61

3

?

unknown

Bit

Mask value

0

Size x

1

Size y

2

Position x

3

Position y

4

Rotation

5

Border enabled

6

Shadow enabled

7

Border bevel mode

8

Outer width

9

Inner width

10

Outer softness

11

Inner softness

12

Bevel softness

13

Bevel position

14

Border opacity

15

Border hue

16

Border saturation

17

Border luma

18

Shadow angle

19

Shadow altitude

20

Mask enabled

21

Mask top

22

Mask bottom

23

Mask left

24

Mask right

25

Rate

__init__(index, keyer, size_x=None, size_y=None, pos_x=None, pos_y=None, rotation=None, border_enabled=None, shadow_enabled=None, border_bevel_enabled=None, outer_width=None, inner_width=None, outer_softness=None, inner_softness=None, bevel_softness=None, bevel_position=None, border_opacity=None, border_hue=None, border_saturation=None, border_luma=None, angle=None, altitude=None, mask_enabled=None, mask_top=None, mask_bottom=None, mask_left=None, mask_right=None, rate=None)
Parameters:

index – 0-indexed M/E number to control the preview bus of

class pyatem.command.KeyerKeyframeSetCommand(index, keyer, keyframe)

Implementation of the SFKF command. This sets the A or B keyframe for the flying key in the keyer.

Offset

Size

Type

Description

0

1

u8

M/E index, 0-indexed

1

1

u8

Keyer index

2

1

u8

keyframe, A = 1, B = 2

3

1

?

unknown

__init__(index, keyer, keyframe)
Parameters:
  • index – M/E index

  • keyer – 0-indexed keyer number

  • keyframe – wether to store the A or B frame, set to ‘A’ or ‘B’

class pyatem.command.KeyerKeyframeRunCommand(index, keyer, run_to=None, set_infinite=None)

Implementation of the RFlK command. This makes the flying key run to full, A or B

Offset

Size

Type

Description

0

1

u8

Mask

1

1

u8

M/E index, zero indexed

2

1

u8

Keyer index, zero indexed

3

1

?

unknown

4

1

u8

Keyframe, 1=A, 2=B, 3=Full, 4=Infinite

5

1

u8

Ininite run index

6

2

?

unknown

__init__(index, keyer, run_to=None, set_infinite=None)
Parameters:
  • index – M/E index

  • keyer – 0-indexed keyer number

  • slot – wether to store the A or B frame, set to ‘A’ or ‘B’

Mediaplayer

class pyatem.command.MediaplayerSelectCommand(index, still=None, clip=None)

Implementation of the MPSS command. This sets the still or clip from the media pool to load into a mediaplayer

Offset

Size

Type

Description

0

1

u8

Mask

1

1

u8

Mediaplayer index

2

1

u8

Source type, 1=still, 2=clip

3

1

u8

Still index

4

1

u8

Clip index

5

3

?

padding

__init__(index, still=None, clip=None)
Parameters:
  • index – Mediaplayer index

  • still – Still index to load

  • clip – Clip index to load

Fade to black

class pyatem.command.FadeToBlackConfigCommand(index, frames)

Implementation of the FtbC command. This sets the duration for the fade-to-black block

Offset

Size

Type

Description

0

1

u8

Mask, always 1

1

1

u8

M/E index

2

1

u8

frames

3

1

?

unknown

__init__(index, frames)
Parameters:
  • index – 0-indexed M/E number to configure

  • index – Number of frames in the FTB transition