heronarts / LXStudio

LXStudio Digital Lighting Workstation
http://lx.studio
Other
103 stars 4 forks source link

White only custom JSON fixtures #2

Closed Toby66 closed 2 years ago

Toby66 commented 3 years ago

Hi there, I'm trying to programme a white only custom fixture and hoped that I could just use "byteOrder":"w" in a custom fixture, however I get an unrecognized byte order type error.

image

What would be the best way of trying to do this?

Thanks!

mcslee commented 3 years ago

Hi Toby - unfortunately I haven't yet implemented white-only as an option for the JSON fixture types. It is pretty high on my list for a future update (along with other output improvements) - but I can't guarantee a date on that (have a young one at home so programming time is erratic right now).

In the mean-time, if you are desperate to get something working, some hack-options.

(1) If you can set your hardware to read every 3 pixels, and you animate in full-white... sending RGB byte-order should be fine. The red byte will be the same as the "white" value assuming R=G=B

(2a) Alternately, you can use 3x fewer pixels for your JUST WHITE fixture. And send as RGB. As long as you animate the pixels in all-white, then R=G=B=W will hold. Unfortunately, this will mean that 3 adjacent pixels are always doing the same thing... e.g. no smooth fades across three neighbors. Def not ideal.

(2b) If you are writing custom pattern code, rather than using in-built patterns, you could compensate for that issue in 2a by actually just packing three white values together. The colors[] array is all ARGB, so you can pack three white values as (w1 << 16) | (w2 << 8) | (w3).

This is hacky and terrible, so again not something I really recommend but if you're desperate for progress on this in the short-term, it's a possible hack.

Toby66 commented 3 years ago

Thanks for the work arounds, I started off trying them out but fortunately the lights I've been sent, they've just replaced the RGB diodes with three white ones so each pixel still has three channels - lucky break for now!

mcslee commented 3 years ago

Ah nice - well that is very good fortune to just get away with sending RGB! Nice.

mcslee commented 2 years ago

Hi Toby - sounds like you don't actually need this anymore, but I have just pushed the 0.2.2 release update which includes the option to specify just W as a byte order.