Skip to content

Support multi-branch pixel controllers and abstract downstream pixel topology in GDTF / MVR #304

@JamesAdvatek

Description

@JamesAdvatek

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions