-
Notifications
You must be signed in to change notification settings - Fork 19
Support multi-branch pixel controllers and abstract downstream pixel topology in GDTF / MVR #304
Description
Is your feature request related to a problem?
Pixel controllers like Advatek PixLite are increasingly common in professional entertainment workflows, but they do not fit neatly into a fixture-centric GDTF model.
These devices are better understood as multi-branch control devices: one hardware unit with multiple independently patched pixel outputs, each with its own addressing, pixel count, protocol, and mapping behaviour.
A typical pixel controller configuration contains strong control metadata, such as:
- output port number
- pixel quantity per output
- If RGB/RGBW pixels aare being used - 8bit or 16bit pixels are connected.
- start universe per output
- start channel per output
- grouping / effective controllable pixel count
- zig zag / serpentine behaviour
- reverse order
- output pixel protocol
To use an Advatek controller config and API structure as an example, it exposes per-output values such as pixCount, startUni, startCh, nullPix, zigZag, group, reverse, colorOrder, and desc, plus global pixel settings such as colorType, inFormat, and pixsSpanUni.
However, this data does not generally contain enough information to describe the attached LED product as a true GTDF fixture, including:
- physical form factor
- dimensions
- pixel spacing
- orientation
- 3D placement
This creates a standards gap. Pixel controllers are:
- not conventional luminaires
- not merely passive infrastructure
- not complete models of the downstream LED installation, since every deployment may differ
As a result, exporters are forced into awkward approximations such as:
- one large custom fixture
- several custom per-output fixtures
- many per-pixel fixtures
- or a generic infrastructure object with limited semantic value
The gap is visible where the current GDTF version has concepts for geometries, DMX modes, inventory/structure/support objects, and protocol sections such as Art-Net and sACN, but no obvious first-class abstraction for controller-managed pixel branches.
Describe the solution you'd like
It would be useful if GDTF / MVR could support a clearer model for multi-branch pixel controllers. There could be a couple of ways to do this.
In practice, that could mean support for:
-
One hardware device containing multiple logical output branches
-
Per-branch metadata such as:
- logical pixel count
- physical pixel count
- addressing / patching information
- channel footprint
- controller-side mapping metadata
-
Standardised remapping fields such as:
- grouping
- null pixels
- zig zag
- reverse order
- per-output color order
- split-across-universes behaviour
-
a way to mark outputs / branches as abstract or topology-unknown where the physical downstream LED geometry is unresolved.
-
Optional topology hints where available, such as dimensions, traversal direction, pitch, spacing, or estimated length
On the MVR side, it would be helpful if exports could cleanly represent:
- The controller device itself
- Its logical output branches (even if this takes the form of multiple individual data only GDTF RGB LED emitters)
- Optional generic downstream pixel instances where needed for patching workflows
- Unresolved downstream geometry where real placement is not known
This would allow exports to stay honest when a controller knows patching and mapping data, but not the actual installed LED form factor.
Describe alternatives you've considered
Current workarounds tend to be:
- Exporting one large custom fixture
- Exporting one fixture per output
- Exporting large numbers of generic per-pixel fixtures inside MVR
- or representing the controller only as a generic infrastructure object
All of these can work in some situations, but none feels like a clean general model for pixel controllers.
Additional context
This seems like a good indication that “controller with multiple mapped pixel branches” is a real and useful abstraction to support more explicitly.
Projects with significant quanties of pixels require multiple pixel controllers on the network. True GDTF/MVR support would significantly reduce human error, by reducing the workload in the visualisation and deployment process.