clj-artnet.impl.protocol.codec.domain.dmx

Encode/decode for DMX family packets: ArtDmx, ArtNzs, ArtVlc, ArtSync. These are the hot-path packets that use flyweight types for zero allocation.

decode-artdmx

(decode-artdmx buf)

Decode ArtDmx packet from buffer.

decode-artnzs

(decode-artnzs buf)

Decode ArtNzs packet from buffer (including VLC detection).

decode-artsync

(decode-artsync buf)

Decode ArtSync packet from buffer.

encode-artdmx!

(encode-artdmx! buf {:keys [sequence physical net sub-net universe data], :or {sequence 0, physical 0, net 0, sub-net 0, universe 1}})

Encode ArtDmx packet into buffer.

encode-artnzs!

(encode-artnzs! buf {:keys [sequence start-code net sub-net universe data], :or {sequence 0, net 0, sub-net 0, universe 1}})

Encode ArtNzs packet into buffer.

encode-artvlc!

(encode-artvlc! buf {:keys [sequence net sub-net universe vlc], :or {sequence 0, net 0, sub-net 0, universe 1}, :as packet})

Encode ArtVlc packet (transmitted as ArtNzs with start code 0x91).