Skip to content

DMX Fixture Types

DmxFixtureType objects define how a DmxScreen turns a pixel into a set of DMX channels and back again. They allow the user to choose a set of DMX channels of standard types, along with some whole-pixel colour options.

DmxFixtureTypes are intended for LED fixtures that accept RGB, CMY or luminance only signals and have no extra control channels. There is a ‘Padding’ channel type to enable these fixtures to be sent colour data without triggering control functions.

DmxFixtureTypes can be created by clicking the ‘DMX fixture type’ field in a DmxScreen.

Multiple DmxScreens can reference the same DmxFixtureType.

DmxFixtureType Editor

Each DmxFixtureType consists of a list of DmxChannelAttributes, each of which defines an 8- or 16-bit logical DMX channel. These are shown in a table along with their corresponding DMX channel, and can be added, removed and reordered.

As well as the DmxChannelAttributes, the DmxFixtureType also has some further options which apply to the whole pixel; these are listed under the ‘Pixel Properties’ dropdown.

Finally, the editor also displays the fixture type’s overall DMX footprint and a text representation of the type.

At present, Designer supports DmxChannelAttributes for the following common DMX channel types:

  • Red
  • Green
  • Blue
  • White
  • Amber
  • Cyan
  • Magenta
  • Yellow
  • Mono Weighted Sum Luminance
  • Mono Max Luminance
  • Padding

Apart from ‘Padding’, there are 8- and 16-bit versions of each attribute.

This is calculated as (0.3 * Red) + (0.59 * Green) + (0.11 * Blue) of the colour channels of the input pixel.

This is calculated as the highest value of the Red, Green or Blue channels of the input pixel.

Padding is used for DMX channels which you don’t wish to send colour data to. It is always sent zero when outputting to DMX, and ignored when inputting from DMX.

These fields define options for the entire pixel, not single DMX channels. If the relevant DMX channels don’t exist they’re ignored.

If this is set, the White channel value is subtracted from any Red, Green or Blue channels.

The White channel is the minimum of the Red, Green or Blue channels, so with this set an RGBW fixture given the colour (255, 245, 205) as an input would output (50, 40, 0, 205) over DMX.

If this is set, the output of any Mono Max Luminance channels is inverted.

If this is set, the output of any Mono Max Luminance channels is always either 0 if the ‘raw’ value would be less than 128 (8-bit) or 32768 (16-bit), or 255 (8-bit) or 65535 (16-bit) otherwise.

In previous versions of Designer, DmxScreens had to pick from a limited set of predefined fixture types, which were:

  • RGB (8-bit)
  • RGBW (8-bit)
  • RGBA (8-bit)
  • RGBAW (8-bit)
  • RBG (8-bit)
  • GRB (8-bit)
  • GBR (8-bit)
  • BRG (8-bit)
  • BGR (8-bit)
  • GRBW (8-bit)
  • BRGW (8-bit)
  • RrGgBb (16-bit)
  • RrGgBbWw (16-bit)
  • CMY (8-bit)
  • CcMmYy (16-bit)
  • WA (White+Amber, 8-bit)
  • Monochrome (8-bit)
  • Monochrome Max (8-bit)
  • Monochrome Max Inverted (8-bit)
  • Monochrome Bi-Level (8-bit)
  • Monochrome Bi-Level Inverted (8-bit)

On upgrading a project from these previous versions, a new DmxFixtureType corresponding to each in-use legacy type is created. The new DmxFixtureType is guaranteed to give the same output as the legacy type for matching inputs.

Please note that the old RGBW/GRBW/BRGW/RrGgBbWw types used White subtraction, but RGBAW did not.

While the DmxFixtureType can be used to create any possibly combination of channels, this flexibility can incur a performance cost. Because of this, under the hood Designer delegates pixels-to-dmx conversion for common combinations of channels to predefined conversion functions for better performance.

The following combinations of channels (in any order) utilise these optimised conversion functions:

  • RGB
  • RGBW
  • RGBA
  • RGBAW
  • RrGgBb
  • RrGgBbWw
  • CMY
  • CcMmYy
  • Mono Weighted Sum Luminance
  • Mono Max Luminance

These cover all of the legacy predefined fixture types, plus all fixture types which use the same combination of channels (for example, there is a legacy fixture type for RGBW but not GBRW - both are supported by the optimised conversion functions).

All other combinations of channels use a custom conversion function which is around half as fast.