ArtNet.Packet.ArtMediaControlReply (ArtNet v0.1.0)

View Source

Reports media control state from a media server.

Media servers send this packet in response to media control activity.

Packet layout

PartFieldDescriptionDefaultSizeFormat
Headeridfixed8 bytes"Art-Net\\0"
Headerop_code0x93002 byteslittle-endian OpCode
Headerprot_ver142 bytesprotocol version
Payloadfiller1Reserved byte, transmitted as zero.01 byteunsigned integer (8 bits)
Payloadfiller2Reserved byte, transmitted as zero.01 byteunsigned integer (8 bits)
Payloadfiller3Reserved byte, transmitted as zero.01 byteunsigned integer (8 bits)
Payloadfiller4Reserved byte, transmitted as zero.01 byteunsigned integer (8 bits)
PayloadstreamMedia stream identifier.required1 byteunsigned integer (8 bits)
Payloadreply_commandMedia control reply command code.required1 byteunsigned integer (8 bits)
Payloadmax_clipsMaximum number of clips supported.required2 bytesunsigned integer (16 bits)
Payloadtime_code_dayCurrent media time-code day value.required1 byteunsigned integer (8 bits)
Payloadtime_code_hourCurrent media time-code hour value.required1 byteunsigned integer (8 bits)
Payloadtime_code_minuteCurrent media time-code minute value.required1 byteunsigned integer (8 bits)
Payloadtime_code_secondCurrent media time-code second value.required1 byteunsigned integer (8 bits)
Payloadtime_code_framesCurrent media time-code frame value.required1 byteunsigned integer (8 bits)
Payloadtime_code_modeCurrent media time-code mode.required1 byteunsigned integer (8 bits)
Payloadstatus1Primary media status byte.required1 byteunsigned integer (8 bits)
Payloadstatus2Secondary media status byte.01 byteunsigned integer (8 bits)
Payloadstatus3Tertiary media status byte.01 byteunsigned integer (8 bits)
Payloadstatus4Quaternary media status byte.01 byteunsigned integer (8 bits)
PayloaddataAdditional media reply data bytes.requiredvariable (1 byte each)list of unsigned integer (8 bits)

Summary

Functions

Decodes a complete Art-Net binary as this packet type.

Encodes this packet struct into a complete Art-Net binary.

Builds a validated packet struct from a map or keyword list.

Builds a validated packet struct from a map or keyword list.

Returns the Art-Net OpCode value for this packet module.

Returns whether this packet includes the Art-Net protocol version header.

Returns the packet payload schema in declaration order.

Types

t()

@type t() :: %ArtNet.Packet.ArtMediaControlReply{
  data: [:integer],
  filler1: :integer,
  filler2: :integer,
  filler3: :integer,
  filler4: :integer,
  max_clips: :integer,
  reply_command: :integer,
  status1: :integer,
  status2: :integer,
  status3: :integer,
  status4: :integer,
  stream: :integer,
  time_code_day: :integer,
  time_code_frames: :integer,
  time_code_hour: :integer,
  time_code_minute: :integer,
  time_code_mode: :integer,
  time_code_second: :integer
}

Functions

decode(data)

@spec decode(binary()) :: {:ok, t()} | :error

Decodes a complete Art-Net binary as this packet type.

encode(packet)

@spec encode(t()) :: {:ok, binary()} | :error

Encodes this packet struct into a complete Art-Net binary.

new(attrs)

@spec new(map() | Keyword.t()) :: {:ok, t()} | {:error, ArtNet.EncodeError.t()}

Builds a validated packet struct from a map or keyword list.

new!(attrs)

@spec new!(map() | Keyword.t()) :: t()

Builds a validated packet struct from a map or keyword list.

Raises ArtNet.EncodeError when validation fails.

op_code()

@spec op_code() :: pos_integer()

Returns the Art-Net OpCode value for this packet module.

The OpCode is 0x9300.

require_version_header?()

@spec require_version_header?() :: boolean()

Returns whether this packet includes the Art-Net protocol version header.

schema()

Returns the packet payload schema in declaration order.