ArtCommand
The ArtCommand packet is used to send property set style commands. The packet can be unicast or broadcast, the decision being application specific.
The syntax of the command strings that form this packet’s payload is defined by Art-Net. Also, some specific commands that are of general use are defined. More commands will be added in the future as developers request registration of commands that have wide use. The packet can also be used for transport of proprietary commands.
No specific reply is mandated by Art-Net, however devices should broadcast an ArtPollReply if the command result is a change in the data encoded within ArtPollReply.
ArtCommand – Packet Definition
ID
The ID field is 8 bytes in length and contains the null terminated string of ASCII characters:
A r t – N e t
The purpose of the field is to identify the packet as an Art-Net protocol packet. All Art-Net packets start with this field. Receivers must check this field is correct and discard the packet if it is not.
OpCode
The OpCode field is a 16-bit word transmitted low byte first. The OpCode identifies the packet type. In the ArtCommand packet this field is set to ‘OpCommand’.
ProtVer
The ProtVer field is a 16-bit word transmitted high byte first. It identifies the version of the Art-Net protocol. The protocol version is not related to Art-Net 1, II, 3 or 4. Only one protocol version has ever existed in production equipment which is 1410. Receivers should use the following good packet test:
ProtVer >= 14
The ProtVer may be increased in a future releases to identify significant functionality changes.
EstaMan
The EstaMan field can optionally be set to the ESTA Manufacturer code of the manufacturer which should action the commands. ESTA (more properly PLASA North America) codes are 16-bit numbers which uniquely identify a specific manufacturer.
Commands defined by Art-Net should be sent with the EstaMan = FFFF16. That indicates that all devices should accept the command.
Length
The Length field is a 16-bit number transmitted most significant byte first. It defines the size in bytes of the Data field.
It can be set to zero, although that makes the packet superfluous. The maximum value is 512 which indicates that the data area is full of text.
Data
The Data field contains the command text. The text is ASCII encoded and is null terminated and is case insensitive. It is legal, although inefficient, to set the Data array size to the maximum of 512 and null pad unused entries.
The command text may contain multiple commands and adheres to the following syntax:
Command=Data&
The ampersand is a break between commands. Also note that the text is capitalised for readability; it is case insensitive.
Thus far, two commands are defined by Art-Net. It is anticipated that additional commands will be added as other manufacturers register commands which have industry wide relevance.
These commands should be transmitted with EstaMan = FFFF16.
Example 1
The screen capture below shows the DMX-Workshop network viewer. Node 1 is an Artistic Licence Two-Play product which has issued am ArtCommand packet to re-programme the default ‘Output’ and ‘Input’ names to read ‘Playback’ and ‘Record’.
The Two-Play product is a real-time recorder of lighting data. As such, it is easier to describe output and input universes in terms of the more logical playback and record universes.
The above is achieved by sending an ArtCommand packet with EstaMan = FFFF16 containing command string:
SwoutText=Playback& SwinText=Record&