-
Notifications
You must be signed in to change notification settings - Fork 0
Network Protocol
Mixer sources and sinks can be piped over a network (for example, to decouple the mixer from an output device, or to have a permanent mixer and transient sources such as guest laptops).
Communications is via UDP. At the moment, sink traffic is broadcast from the mixer on port 3020. When source listening is implemented, the mixer will listen on port 3010. External sources should address the mixer directly and not use broadcast.
The messages are a byte array following a simple format:
<command> <data-length> <data>
command
is 1 byte, data-length
is 2 bytes (unsigned network-order), and there are data-length
bytes of data
.
Command byte: 0x20
Data length: 1
Data byte: Set to 0x01
to enable blackout, 0x00
to disable.
Command byte: 0x21
Data length: 3
Data bytes: R, G, B
Command byte: 0x22
Data length: 4
Data bytes: Strand, R, G, B
Command byte: 0x23
Data length: 5
Data bytes: Strand, Fixture, R, G, B
Command byte: 0x24
Data length: 6
Data bytes: Strand, Fixture, Pixel, R, G, B
Command byte: 0x25
Data length: 1 + (3 * num_pixels
)
Data bytes: Strand, [R, G, B] for each pixel
Note: Pixel data extending beyond the end of the strand will be discarded.
Command byte: 0x26
Data length: 2 + (3 * num_pixels
)
Data bytes: Strand, Fixture, [R, G, B] for each pixel
Note: Pixel data extending beyond the configured num_pixels
of the fixture will be discarded.
Command byte: 0x27
Data length: 6 * num_pixels
Data bytes: [Strand, Fixture, Pixel, R, G, B] for each pixel