Quote Originally Posted by jchuchla View Post
It's no problem asking these questions. It's curiosity like this that breeds new creations. To keep track of what's going on you have to consider what's happening to the data stream at each step of the process.

In vixen, the data stream for the pixels starts at the output controller module. It is configured to send a given number of channels. There is one "output" or patch point for each channel of data. each of these channels corresponds with a location in the data array. Regardless of whether there is data to go in to a channel, that channel needs to be sent. in other words, you can't have a 2nd channel without a first channel. The actual position of the data in the array is what actually defines it's address. So it doesn't matter if it's patched or not. Something must be sent for each channel.

Secondly, in the data stream, there is no such thing as null. The data stream is an unsigned 8 bit integer array. So it is a value between 0 and 255. It will never be nothing, or null. 0 has a distinct meaning of full off, and this is the default when nothing is influencing it otherwise.

Patching elements to channels is how you connect the stream of intentions created by effects to the output controller channels. Leaving something unpatched will have the simple effect of leaving that channel always at the default value of 0.

When a controller adds provisions for null pixels what it does is inserts 3 extra zero values for each null pixel to the output stream before it starts copying the rest of the data from the sACN buffer to the pixel output buffer (or stream)
Apologies for my delay, at first I was more confused and had to chew on what you said. I finally opened up the Setup Display panel and the visual helped everything click, now it makes sense to me. If I need a null pixel at the beginning of a RGB strip I would add the elements for that strip and leave the first 3 channels unpatched, which results in the first array element always being assigned zero values. [While we are on the subject, I think the terminology for 'Null Pixel' would have been better as a 'Zero Pixel'. It seems more aptly descriptive. Learning the lingo is a little challenging, what with null versus zero & Elements-both pixels and array indices. Hard not to get tripped up sometimes! ;)]

I think if I ever find myself needing a null pixel I will go with Martin's suggestion of that pixel buffer/driver. That seems to be the best way (besides an additional controller) to handle it.

I completely facepalmed myself with the null value statement. I know the difference between NULL and 0 and that they are not the same, I just misspoke, lol.

Thank You jchuchla and everyone for the help! I really do appreciate it.