Some thoughts and ideas for Art-Net, part 2
Following my last blog post I have received some feedback that I would like to start with addressing.
What about the StVisual style code?
Yes, the 'ArtPollReply' message does contain a "style code" field which allows for a value of 0x06 = StVisual, "A visualiser". I had completely forgotten about this and after a proper dig through my old e-mails (or rather: a fast Google) it turns out it was added as per my own suggestion back in 2005. When this was added it wasn't so much a resolution to the issues of modern unicast distribution as a fix for the lack of a proper style code for visualizers to use.
However, I will update my advice to manufacturers: when you receive an 'ArtPollReply' from a node with the style code set to StVisual, consider automatically (or after asking the user) sending all DMX to that node.
Wouldn't it be better to use sACN instead?
Well, this article series is about Art-Net so that's kind of beside the point. Streaming ACN might seem like the better choice but it does have its own problems, such as discoverability. Let's talk about that another day.
Gang of four
So, assuming that we've got all that broadcasting, polling and replying stuff out of the way, are we fine then? Yeah, sort of. But before we move one, the magical number four has prepared an extra appearance for us.
As part of a clever (but not unique in the field of network protocols) scheme, there is a "slow refresh" aspect to Art-Net. When DMX data isn't changing, it is only to be transmitted once every four seconds:
I don't disagree with using slow refresh schemes, but four seconds is a lot if you ask me. If your DMX distribution unit looses power for a split-second and this causes it to loose its DMX buffer, you may have to wait up to four seconds before its proper output is restored. And if you hook up a visualizer to your network, you may need to wait up to 4 seconds before all Art-Net universes have appeared. Unless an 'ArtDmx' packet is lost of course, in which case you're looking at double the time.
So if you hook things up and don't see something right away - give it a few seconds and relax!