Skip to content

Segments

Adam Honse requested to merge segments into mr_1092

Loosely based on !220 (closed)

I like the name "segments" better than "subzones", but the idea is the same. Segments are members of the zone type and are basically just a named start index and length. This is basically just a cue for the UI and effect engines to split up the zone accordingly, allowing daisy chained ARGB devices to be controlled independently.

I did not bring in the concept of shapes, because shapes go against the core zone types - single, linear, and matrix. I would prefer simplicity over fancy UI, especially when all shapes is affecting is the device view. We have the Visual Map plugin to do more complex things.

Because segments are just mini-zones, it shouldn't be too difficult for existing SDK apps and plugins to implement support for them. I've already done it in Keyboard Visualizer.

This PR revs the protocol version to 4, but I haven't messed with plugins yet, so they will crash at the moment.

The Resize box will be updated to Edit and the dialog will include options for creating segments. Controllers will also be able to automatically create segments (such as NZXT Hue, which can detect what devices are connected on an ARGB chain). Probably should add a zone/device flags field while I'm modifying the RGBController API, a flag would be useful to indicate that segments have been manually configured vs. provided by the controller, allowing for manual overrides to save.

image

Merge request reports