File Format Definition

Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

  • ANSI E1.54 2015, PLASA Standard for Color Communication in Entertainment Lighting

  • ANSI/IES TM-30, IES Method for Evaluating Light Source Color Rendition

  • RFC 4122, A Universally Unique IDentifier (UUID) URN Namespace (available at https://www.ietf.org/rfc/rfc4122.txt)

  • IEC 61966-2-1:1999, Multimedia systems and equipment - Colour measurement and management - Part 2-1: Colour management - Default RGB colour space - sRGB

  • ISO 22028-2:2013, Photography and graphic technology - Extended colour encodings for digital image storage, manipulation and interchange - Part 2: Reference output medium metric RGB colour image encoding (ROMM RGB)

  • RFC 4122, A Universally Unique IDentifier (UUID) URN Namespace1

  • OpenSoundControl http://opensoundcontrol.org/index.html

Terms and definitions

For the purposes of this document, the following terms and definitions apply. DIN and DKE maintain terminological databases for use in standardization at the following addresses:

General Device Type Format GDTF

descriptive name of the specification

Fixture Type Attribute

singular mutually exclusive control function Note 1 to entry: Definitions of common attributes can be found in Annex A.

Activation Group

attributes which need to be activated together to gain control over one logical function Note 1 to entry: As example Pan & Tilt are paired to gain control over Position.

Feature

element that’s groups the Fixture Type Attributes into a structured way for easier access and search

Feature Groups

element that’s groups the Fixture Type Features into a logical way for easier access and search

DMXBreak

term used when a fixture needs more than one DMX start address

glTF

file format for three-dimensional scenes and models Note 1 to entry: glTF is the acronym for Graphics Language Transmission Format.

glb

selfcontained binary file format of a glTF scene or model.

Scope

This document specifies the “General Device Type Format”(GDTF), a unified way of listing and describing the hierarchical and logical structure and controls of any type of controllable device (e.g. luminaires, fog machines, etc.) in the lighting and entertainment industry. It will be used as a foundation for the exchange of device data between lighting consoles, CAD and 3D-pre-visualization applications. The purpose of an existing GDTF-file is to reflect the real-world physical components of the devices and to provide control based on this information. It contains and is derived from the 3D geometry (real world or virtual) of the device. This document is only applicable for lighting systems and equipment used in the entertainment industry.

File Format Definition

To describe the device type, a zip file with the extension “*.gdtf” is used. The archive shall contain a description XML file and resource files. Some of the resource files are located in a folder structure. There are two folders defined: “./wheels” and “./models”. The folder “./models” has subfolders for a better structural overview:

  • ./models/3ds
  • ./models/gltf
  • ./models/svg

The description.xml file contains the description of the device type and all DMX modes as well as all firmware revisions of the device.

./description.xml
./thumbnail.png
./thumbnail.svg
./wheels/gobo1.png
./wheels/gobo2.png
./models/3ds/base.3ds
./models/3ds/yoke.3ds
./models/gltf/base.glb
./models/gltf/yoke.glb
./models/3ds_low/base.3ds
./models/3ds_low/yoke.3ds
./models/gltf_low/base.glb
./models/gltf_low/yoke.glb
./models/gltf_high/base.glb
./models/gltf_high/yoke.glb
./models/3ds_high/base.3ds
./models/3ds_high/yoke.3ds
./models/svg/base.svg
./models/svg/yoke.svg
./models/svg_side/base.svg
./models/svg_side/yoke.svg
./models/svg_front/base.svg
./models/svg_front/yoke.svg

The ZIP archive name is specified as follows: <ManufacturerName>@<FixtureTypeName>@<OptionalComment>

Example: generic@led@comment

UTF-8 has to be used to encode the XML file. Each XML file internally consists of XML nodes. Each XML node could have XML attributes and XML children. Each XML attribute has a value. If a XML attribute is not specified, the default value of this XML attribute will be used. If the XML attribute value is specified as a string, the format of the string will depend on the XML attribute type. All XML attribute types are specified in Table 1.

Table 1 — XML Attribute Value Types
Value TypeFormatDescription
UintIntegerUnsigned integer
IntIntegerSigned integer
HexIntegerNumber in hexadecimal notation; Default value: 0
FloatfloatFloating point numeric; Separator: “.”
StringLiteralText
Namerestricted LiteralUnique object names; The allowed characters are listed in Annex C Default value: object type with an index in parent.
Dateyyyy-mm-ddThh:mm:ssDate and time corresponding to UTC +00:00 (Coordinated Universal Time): yyyy – year, mm – month, dd – day, hh – hours (24 format), mm – minutes, ss – seconds. Example: “2016-06-21T11:22:48”
NodeName.Name.Name…Link to an element: “Name” is the value of the attribute “Name” of a defined XML node. The starting point defines each attribute separately.
ColorCIEfloatx, floaty,floatYCIE color representation xyY 1931
Vector3{float,float,float}Vector with 3 float components
Matrix{float,float,float,float}
{float,float,float,float}
{float,float,float,float}
{float,float,float,float}
The transformation matrix consists 4 x 4 floats. Stored in a row-major order. For example, each row of the matrix is stored as a 4- component vector. The mathematical definition of the matrix is in a column-major order. For example, the matrix rotation is stored in the first three columns, and the translation is stored in the 4th column. The metric system consists of the Right- handed Cartesian Coordinates XYZ:
X – from left (-X) to right (+X),
Y – from the outside of the monitor (-Y) to the inside of the monitor (+Y),
Z – from bottom (-Z) to top (+Z). 0,0,0 – center base.
Rotation{float, float, float}
{float, float, float}
{float, float, float}
Rotation matrix, consist of 3*3 floats. Stored as row-major matrix, i.e. each row of the matrix is stored as a 3-component vector. Mathematical definition of the matrix is column-major, i.e. the matrix rotation is stored in the three columns. Metric system, right-handed Cartesian coordinates XYZ:
X – from left (-X) to right (+X),
Y – from the outside of the monitor (-Y) to the inside of the monitor (+Y),
Z – from the bottom (-Z) to the top (+Z).
EnumLiteralPossible values are predefined.
DMXAddressInt, Alternative format: Universe.AddressAbsolute DMX address (size 4 bytes); Alternative format: Universe – integer universe number, starting with 1; Address: address within universe from 1 to 512. Format: integer
DMXValueUint/n for ByteMirroring values
Uint/ns for ByteShifting values
Special type to define DMX value where n is the byte count. The byte count can be individually specified without depending on the resolution of the DMX Channel.
By default byte mirroring is used for the conversion. So 255/1 in a 16 bit channel will result in 65535.
You can use the byte shifting operator to use byte shifting for the conversion. So 255/1s in a 16 bit channel will result in 65280.
GUIDXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXUnique ID corresponding to RFC 4122: X–1 digit in hexadecimal notation. Example: “308EA87D-7164-42DE-8106-A6D273F57A51”.
ResourceStringFile name of the resource file without extension and without subfolder.
PixelPixelInteger value representing one Pixel inside a MediaFile. Pixel count starts with zero in the top left corner.

The first XML node is always the XML description node: <?xml version="1.0" encoding="UTF-8"?>

The second XML node is the GDTF node. The attribute of this node is the DataVersion: <GDTF DataVersion="1.2">

The example above shows the XML node for GDTF version 1.2.

Table 2. GDTF Node Attributes

XML Attribute NameValue TypeDescription
DataVersionUInt.UIntThe DataVersion attribute defines the minimal version of compatibility. The Version format is “Major.Minor”, where major and minor is Uint with size 1 byte.

Fixture Type Node

The FixtureType node is the starting point of the description of the fixture type within the XML file. The defined Fixture Type Node attributes of the fixture type are specified in table 3.

Table 3. Fixture Type Node Attributes

XML Attribute NameValue TypeDescription
NameNameName of the fixture type. As it is based on Name, it is safe for parsing.
ShortNameStringShortened name of the fixture type. Non detailed version or an abbreviation. Can use any characters or symbols.
LongNameStringDetailed, complete name of the fixture type, can include any characters or extra symbols.
ManufacturerStringManufacturer of the fixture type.
DescriptionStringDescription of the fixture type.
FixtureTypeIDGUIDUnique number of the fixture type.
ThumbnailResourceOptional. File name without extension containing description of the thumbnail. Use the following as a resource file:
- png file to provide the rasterized picture. Maximum resolution of picture: 1024x1024
- svg file to provide the vector graphic.
- These resource files are located in the root directory of the zip file.
ThumbnailOffsetXIntHorizontal offset in pixels from the top left of the viewbox to the insertion point on a label. Default value: 0
ThumbnailOffsetYIntVertical offset in pixels from the top left of the viewbox to the insertion point on a label. Default value: 0
RefFTGUIDOptional. GUID of the referenced fixture type.
CanHaveChildrenEnumDescribes if it is possible to mount other devices to this device. Value: “Yes”, “No”. Default value: “Yes”

Fixture type node children are specified in table 4.

Table 4. Fixture Type Node Children

Child NodeMandatoryDescription
AttributeDefinitionsYesDefines all Fixture Type Attributes that are used in the fixture type.
WheelsNoDefines the physical or virtual color wheels, gobo wheels, media server content and others.
PhysicalDescriptionsNoContains additional physical descriptions.
ModelsNoContains models of physically separated parts of the device.
GeometriesYesDescribes physically separated parts of the device.
DMXModesYesContains descriptions of the DMX modes.
RevisionsNoDescribes the history of the fixture type.
FTPresetsNoIs used to transfer user-defined and fixture type specific presets to other show files.
ProtocolsNoIs used to specify supported protocols.

One or more sections could be empty or missing, but the order of sections is mandatory as specified in table 4.

Attribute Definitions

General

This section defines the attribute definitions for the Fixture Type Attributes.

Note 1: More information on the definitions of attributes can be found in Annex A “Attribute Definitions”.

Note 2: All currently defined Fixture Type Attributes can be found in Annex B “Attribute Listing”.

Note 3: All currently defined activation groups can be found in Annex B “Attribute Listing”.

Note 4: All currently defined feature groups can be found in Annex B “Attribute Listing”.

The current attribute definition node does not have any XML attributes (XML node <AttributeDefinitions>). Children of the attribute definition are specified in table 5.

Table 5. Attribute Definition Children

XML nodeMandatoryDescription
ActivationGroupsNoDefines which attributes are to be activated together. For example, Pan and Tilt are in the same activation group.
FeatureGroupsYesDescribes the logical grouping of attributes. For example, Gobo 1 and Gobo 2 are grouped in the feature Gobo of the feature group Gobo.
AttributesYesList of Fixture Type Attributes that are used. Predefindes fixtury type attributes can be found in Annex A.

Activation Groups

General

This section defines groups of Fixture Type Attributes that are intended to be used together.

Example: Usually Pan and Tilt are Fixture Type Attributes that shall be activated together to be able to store and recreate any position.

The current activation groups node does not have any XML attributes (XML node <ActivationGroups>). As children it can have a list of a activation group.

Activation Group

This section defines the activation group Attributes (XML node <ActivationGroup>). Currently defined XML attributes of the activation group are specified in table 6.

Table 6. Activation Group Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the activation group.

The activation group does not have any children.

Feature Groups

General

This section defines the logical grouping of Fixture Type Attributes (XML node <FeatureGroups>).

Note 1: A feature group can contain more than one logical control unit. A feature group Position shall contain PanTilt and XYZ as separate Feature.

Note 2: Usually Pan and Tilt create a logical unit to enable position control, so they must be grouped in a Feature PanTilt.

As children the feature groups has a list of a feature group.

Feature Group

General

This section defines the feature group (XML node <FeatureGroup>). The currently defined XML attributes of the feature group are specified in table 7.

Table 7. Feature Group Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the feature group.
PrettyStringThe pretty name of the feature group.

As children the feature group has a list of a feature.

Feature

This section defines the feature (XML node <Feature>). The currently defined XML attributes of the feature are specified in table 8.

Table 8. Feature Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the feature.

The feature does not have any children.

Attributes

General

This section defines the Fixture Type Attributes (XML node <Attributes>). As children the attributes node has a list of a attributes.

Attribute

This section defines the Fixture Type Attribute (XML node <Attribute>). The currently defined XML attributes of the attribute Node are specified in table 9.

Table 9. XML Attributes of the Attribute

XML Attribute NameValue TypeDescription
NameNameThe unique name of the attribute.
PrettyStringThe pretty name of the attribute .
ActivationGroupNodeOptional link to the activation group. The starting point is the activation groups node.
FeatureNodeLink to the corresponding feature. The starting point is the feature groups node.
MainAttributeNodeOptional link to the main attribute. The starting point is the attribute node.
PhysicalUnitEnumThe currently defined unit values are: “None”, “Percent”, “Length” (m), “Mass” (kg), “Time” (s), “Temperature” (K), “LuminousIntensity”(cd), “Angle” (degree), “Force” (N), “Frequency” (Hz), “Current” (A), “Voltage” (V), “Power” (W), “Energy” (J), “Area” (m2), “Volume” (m3), “Speed” (m/s), “Acceleration” (m/s2), “AngularSpeed” (degree/s), “AngularAccc” (degree/s2), “WaveLength” (nm), “ColorComponent”. Default: “None”.
ColorColorCIEOptional. Defines the color for the attribute.

As children the attribute node has a list of a subphysical units.

Subphysical Unit

This section defines the Attribute Subphysical Unit (XML node <SubPhysicalUnit>). The currently defined XML attributes of the subphysical unit are specified in table 10.

Table 10. XML Attributes of the Subphysical Unit

XML Attribute NameValue TypeDescription
TypeEnumThe currently defined values are: “PlacementOffset”, “Amplitude”, “AmplitudeMin”, “AmplitudeMax”, “Duration”, “DutyCycle”, “TimeOffset”, “MinimumOpening”, “Value”, “RatioHorizontal”, “RatioVertical”.
PhysicalUnitEnumThe currently defined unit values are: “None”, “Percent”, “Length” (m), “Mass” (kg), “Time” (s), “Temperature” (K), “LuminousIntensity”(cd), “Angle” (degree), “Force” (N), “Frequency” (Hz), “Current” (A), “Voltage” (V), “Power” (W), “Energy” (J), “Area” (m2), “Volume” (m3), “Speed” (m/s), “Acceleration” (m/s2), “AngularSpeed” (degree/s), “AngularAccc” (degree/s2), “WaveLength” (nm), “ColorComponent”. Default: “None”.
PhysicalFromFloatThe default physical from of the subphysical unit; Unit: as defined in PhysicalUnit; Default value: 0
PhysicalToFloatThe default physical to of the subphysical unit; Unit: as defined in PhysicalUnit; Default value: 1

The subphysical unit does not have any children.

Wheel Collect

General

This section defines all physical or virtual wheels of the device. It currently does not have any XML attributes (XML node <Wheels>). As children wheel collect can have a list of a wheels.

Note 1: Physical or virtual wheels represent the changes to the light beam within the device. Typically color, gobo, prism, animation, content and others are described by wheels.

Wheel

General

Each wheel describes a single physical or virtual wheel of the fixture type. If the real device has wheels you can change, then all wheel configurations have to be described. Wheel has the following XML node: <Wheel>. The currently defined XML attributes of the wheel are specified in table 11.

Table 11. Wheel Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the wheel

As children, Wheel has a list of wheel slots.

Wheel Slot

General

The wheel slot represents a slot on the wheel (XML node <Slot>). The currently defined XML attributes of the wheel slot are specified in table 12.

Table 12. Wheel Slot Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the wheel slot
ColorColorCIEColor of the wheel slot, Default value: {0.3127, 0.3290, 100.0 } (white) For Y give relative value compared to overall output defined in property Luminous Flux of related Beam Geometry (transmissive case).
FilterNodeOptional. Link to filter in the physical description; Do not define color if filter is used; Starting point: Filter Collect
MediaFileNameResourceOptional. PNG file name without extension containing image for specific gobos etc.
- Maximum resolution of picture: 1024x1024
- Recommended resolution of gobo: 256x256
- Recommended resolution of animation wheel: 256x256
These resource files are located in a folder called ./wheels in the zip archive. Default value: empty.

Note 1: More information on the definitions of images used in wheel slots to visualize gobos, animation wheels or color wheels can be found in Annex E “Wheel Slot Image Definition”.

The link between a slot and a channel set is done via the wheel slot index. The wheel slot index of a slot is derived from the order of a wheel’s slots. The wheel slot index is normalized to 1.

If the wheel slot has a prism, it has to have one or several children called prism facet. If the wheel slot has an AnimationWheel, it has to have one child called Animation Wheel.

Prism Facet

This section can only be defined for the prism wheel slot and has a description for the prism facet (XML node <Facet>). The currently defined XML attributes of the prism facet are specified in table 13.

Table 13. Wheel Slot Attributes

XML Attribute NameValue TypeDescription
ColorColorCIEColor of prism facet, Default value: {0.3127, 0.3290, 100.0 } (white)
RotationRotationSpecify the rotation, translation and scaling for the facet.

The prism facet cannot have any children.

Animation System

This section can only be defined for the animation system disk and it describes the animation system behavior (XML node <AnimationSystem>). The currently defined XML attributes of the AnimationSystem are specified in table 14.

Table 14. AnimationSystem Attributes

XML Attribute NameValue TypeDescription
P1Array of FloatFirst Point of the Spline describing the path of animation system in the beam in relation to the middle of the Media File; Array of two floats; Separator of values is “,”; First Float is X-axis and second is Y-axis.
P2Array of FloatSecond Point of the Spline describing the path of animation system in the beam in relation to the middle of the Media File; Array of two floats; Separator of values is “,”; First Float is X-axis and second is Y-axis.
P3Array of FloatThird Point of the Spline describing the path of animation system in the beam in relation to the middle of the Media File; Array of two floats; Separator of values is “,”; First Float is X-axis and second is Y-axis.
RadiusFloatRadius of the circle that defines the section of the animation system which will be shown in the beam

The AnimationSystem cannot have any children.

Example of an animation system

Physical Descriptions

General

This section describes the physical constitution of the device. It currently does not have any XML Attributes (XML node <PhysicalDescriptions>). Children of Physical Description are specified in table 15.

Table 15. Physical Description Children

XML nodeMandatoryDescription
EmittersNoDescribes device emitters
FiltersNoDescribes device filters
ColorSpaceNoDescribes device default color space
AdditionalColorSpacesNoDescribes additional device color spaces
GamutsNoDescribes device gamuts
DMXProfilesNoDescribes nonlinear correlation between DMX input and physical output of a channel.
CRIsNoDescribes color rendering with IES TM-30-15 (99 color samples).
ConnectorsNoObsolete now. See Geometry Collect, WiringObject. Describes physical connectors of the device.
PropertiesNoDescribes physical properties of the device.

Emitter Collect

General

This section contains the description of the emitters. Emitter Collect defines additive mixing of light sources, such as LEDs and tungsten lamps with permanently fitted filters. It currently does not have any XML Attributes (XML node <Emitters>). As children the emitter collect has a list of a emitter.

Emitter

This section defines the description of the emitter (XML node ). The currently defined XML attributes of the emitter are specified in table 16.

Table 16. Emitter Attributes

XML Attribute NameValue TypeDescription
NameNameUnique Name of the emitter
ColorColorCIEApproximate absolute color point if applicable. Omit for non-visible emitters (eg., UV). For Y give relative value compared to overall output defined in property Luminous Flux of related Beam Geometry (transmissive case).
DominantWaveLengthFloatRequired if color is omitted, otherwise it is optional. Dominant wavelength of the LED.
DiodePartStringOptional. Manufacturer’s part number of the diode.

As children, the Emitter has a list of measurements.

Filter Collect

General

This section contains the description of the filters. The Filter Collect defines subtractive mixing of light sources by filters, such as subtractive mixing flags and media used in physical or virtual Color Wheels. It currently does not have any XML Attributes (XML node <Filters>). As children the filter collect has a list of a filters.

Filter

This section defines the description of the filter (XML node <Filter>). The currently defined XML attributes of the filter are specified in table 17.

Table 17. Filter Attributes

XML Attribute NameValue TypeDescription
NameNameUnique Name of the filter.
ColorColorCIEApproximate absolute color point when this filter is the only item fully inserted into the beam and the fixture is at maximum intensity. For Y give relative value compared to overall output defined in property Luminous Flux of related Beam Geometry (transmissive case).

As children the Filter has a list of measurements.

Measurement

General

The measurement defines the relation between the requested output by a control channel and the physically achieved intensity. XML node for measurement is <Measurement>. The currently defined XML attributes of the measurement are specified in table 18.

Table 18. Measurement Attributes

XML Attribute NameValue TypeDescription
PhysicalFloatFor additive color mixing: uniquely given emitter intensity DMX percentage. Value range between > 0 and <= 100. For subtractive color mixing: uniquely given flag insertion DMX percentage. Value range between 0 and 100.
LuminousIntensityFloatUsed for additive color mixing: overall candela value for the enclosed set of measurement.
TransmissionFloatUsed for subtractive color mixing: total amount of lighting energy passed at this insertion percentage.
InterpolationToEnumInterpolation scheme from the previous value. The currently defined values are: “Linear”, “Step”, “Log”; Default: Linear

The order of the measurements corresponds to their ascending physical values.

Additional definition for additive color mixing: It is assumed that the physical value 0 exists and has zero output.

Additional definition for subtractive color mixing: The flag is removed with physical value 0 and it does not affect the beam. Physical value 100 is maximally inserted and affects the beam.

Note 1: Some fixtures may vary in color response. These fixtures define multiple measurement points and corresponding interpolations.

As children the Measurement Collect has an optional list of a measurement point.

Measurement Point

The measurement point defines the energy of a specific wavelength of a spectrum. The XML node for measurement point is <MeasurementPoint>. The defined XML attributes of the measurement points are specified in table 19.

It is recommended, but not required, that measurement points are evenly spaced. Regions with minimal light energy can be omitted, but the decisive range of spectrum must be included. Recommended measurement spacing is 1 nm. Measurement spacing should not exceed 4 nm.

Table 19. Measurement Point Attributes

XML Attribute NameValue TypeDescription
WaveLengthFloatCenter wavelength of measurement (nm).
EnergyFloatLighting energy (W/m2/nm)

The measurement point does not have any children.

Color Space Collect

General

This section defines color spaces. Currently it does not have any XML attributes (XML node <AdditionalColorSpaces>). As children, color space collect has a list of a ColorSpace.

Color Space

This section defines the color space that is used for color mixing with indirect RGB, Hue/Sat, xyY or CMY control input. (XML node <ColorSpace>). The currently defined XML attributes of the color space are specified in table 20.

Table 20. Color Space Attributes

XML Attribute NameValue TypeDescription
NameNameUnique Name of the Color Space. Default Value: “Default”. Note that the name need to be unique for the default colorspace and all color spaces in the AdditionalColorSpaces node.
ModeEnumDefinition of the Color Space that used for the indirect color mixing. The defined values are “Custom”, “sRGB”, “ProPhoto” and “ANSI”. Default Value: “sRGB”
RedColorCIEOptional. CIE xyY of the Red Primary; this is used only if the ColorSpace is “Custom”.
GreenColorCIEOptional. CIE xyY of the Green Primary; this is used only if the ColorSpace is “Custom”.
BlueColorCIEOptional. CIE xyY of the Blue Primary; this is used only if the ColorSpace is “Custom”.
WhitePointColorCIEOptional. CIE xyY of the White Point; this is used only if the ColorSpace is “Custom”.

The predefined modes for the color space XML Attributes are are specified in table 21.

Table 21. Predefined Modes for Color Space Attribute Mode

ModesRGBProPhotoANSI
DescriptionAdobe sRGB, HDTV IEC 61966-2-1:1999Kodak ProPhoto ROMM RGB ISO 22028-2:2013ANSI E1.54-2015
Red0.6400, 0.3300, 0.21260.7347, 0.26530.7347, 0.2653
Green0.3000, 0.6000, 0.71520.1596, 0.84040.1596, 0.8404
Blue0.1500, 0.0600, 0.07220.0366, 0.00010.0366, 0.001
WhitePoint0.3127, 0.3290, 1.00000.3457, 0.35850.4254, 0.4044

The color space does not have any children.

Gamut Collect

General

This section defines gamuts. Currently it does not have any XML attributes (XML node <Gamuts>). As children, gamut collect has a list of a Gamut.

Gamut

This section defines the color gamut of the fixture (XML node <Gamut>), which is the set of attainable colors by the fixture. The currently defined XML attributes of a gamut are specified in table 22.

Table 22. Gamut Attributes

XML Attribute NameValue TypeDescription
NameNameUnique Name of the Gamut.
PointsArray of ColorCIESet of points defining the vertice of the gamut’s polygon.

The gamut does not have any children.

DMX Profile Collect

General

This section defines DMX profile descriptions. Currently it does not have any XML attributes (XML node <DMXProfiles>). As children DMX profile collect has a list of DMX profiles.

DMX Profile

This section defines the DMX profile description (XML node <DMXProfile>). The currently defined XML attributes of the DMX profile are specified in table 23.

Table 23. DMX Profile Attributes

XML Attribute NameValue TypeDescription
NameNameUnique name of the DMX profile

As children a DMX Profile has a list of point.

Point

This section contains points to define the DMX profile (XML node <Point>). The currently defined XML attributes of a point are specified in table 24.

Table 24. Point Attributes

XML Attribute NameValue TypeDescription
DMXPercentageFloatDMX percentage of the point; Unit: Percentage; Default value: 0
CFC0FloatCubic Function Coefficient for x⁰; Default value: 0
CFC1FloatCubic Function Coefficient for x; Default value: 0
CFC2FloatCubic Function Coefficient for x²; Default value: 0
CFC3FloatCubic Function Coefficient for x³; Default value: 0

Find the Point with the biggest DMXPercentage below or equal x. If there is none, the output is expected to be 0.

Output(x) = CFC3 * (x - DMXPercent)³ + CFC2 * (x - DMXPercent)² + CFC1 * (x - DMXPercent) + CFC0

Here is an example where the output follows a function f for 75% of the DMX Range and another function g for the last 25%. The Point attributes are given to illustrate how they are defined.

Figure 1. DMXProfile example

A Point does not have any children.

Color Rendering Index Collect

General

This section contains TM-30-15 Fidelity Index (Rf) for 99 color samples. Currently it does not have any XML attributes (XML node <CRIs>). As children, CRIs has a list of CRI groups.

Color Rendering Index Group

General

This section contains CRIs for a single color temperature (XML node <CRIGroup>). The currently defined XML attributes of the CRI group are specified in table 25.

Table 25. CRI Group Attributes

XML Attribute NameValue TypeDescription
ColorTemperatureFloatColor temperature; Default value: 6000; Unit: Kelvin

As children, the CRIGroup has an optional list of Color Rendering Index.

Color Rendering Index

This section defines the CRI for one of the 99 color samples (XML node <CRI>). The currently defined XML attributes of the measurement point are specified in table 26.

Table 26. CRI Attributes

XML Attribute NameValue TypeDescription
CESEnumColor sample. The defined values are “CES01”, “CES02”, … “CES99”. Default Value “CES01"
ColorRenderingIndexUIntThe color rendering index for this sample. Size: 1 byte; Default value: 100

The color rendering index does not have any children.

Connector Collect

General

This section defined the physical connectors and is kept for backwards compatibility. From DIN SPEC 15800:2022 or GDTF v1.2 onwards physical connectors shall be decribed as WiringObjects in the Geometry Collect. It currently does not have any XML attributes (XML node <Connectors>). As children, the Connector Collect has a list of a connectors.

Connector

See Geometry Collect WiringObject. For easier transition find below the equivalent of the WiringObject. This section defines the connector (XML node <Connector>). The currently defined XML attributes of the connector are specified in table 27.

Table 27. Connector Attributes

XML Attribute NameValue TypeDescription
NameNameUnique Name of the connector. Now: Geometry Type WiringObject, XML Attribute: Name
TypeNameThe type of the connector. Find a list of predefined types in Annex D. Now: Geometry Type WiringObject, XML Attribute: ConnectorType.
DMXBreakUintOptional. Defines to which DMX Break this connector belongs to. Obsolete now.
GenderIntConnectors where the addition of the Gender value equal 0, can be connected; Default value: 0; Male Connectors are -1, Female are +1, Universal are 0. Obsolete now.
LengthFloatDefines the length of the connector’s wire in meters. “0” means that there is no cable and the connector is build into the housing. Default value “0”. Obsolete now.

The connector does not have any children.

Properties Collect

General

This section defines the general properties of the device type (XML node <Properties>). The Properties Collect currently does not have any XML attributes. The currently defined children nodes of properties collect are specified in table 28.

Table 28. Properties Collect

XML nodeAmountDescription
OperatingTemperature0 or 1Temperature range in which the device can be operated.
Weight0 or 1Weight of the device including all accessories.
PowerConsumptionAnyPower information for a given connector.
LegHeight0 or 1Height of the legs.

OperatingTemperature

This section defines the ambient operating temperature range (XML node <OperatingTemperature>). The currently defined XML attributes of the OperatingTemperature are specified in table 29.

Table 29. Operating Temperature Attributes

XML Attribute NameValue TypeDescription
LowFloatLowest temperature the device can be operated. Unit: °C. Default value: 0
HighFloatHighest temperature the device can be operated. Unit: °C. Default value: 40

The OperatingTemperature currently does not have any children.

Weight

This section defines the overall weight of the device (XML node <Weight>). The currently defined XML attributes of the weight are specified in table 30.

Table 30. Weight Attributes

XML Attribute NameValue TypeDescription
ValueFloatWeight of the device including all accessories. Unit: kilogram. Default value: 0

The weight currently does not have any children.

LegHeight

This section defines the height of the legs (XML node <LegHeight>). The currently defined XML attributes of the LegHeight are specified in table 31.

Table 31. Leg Height Attributes

XML Attribute NameValue TypeDescription
ValueFloatDefines height of the legs - distance between the floor and the bottom base plate. Unit: meter. Default value: 0

The LegHeight currently does not have any children.

Model Collect

General

Each device is divided into smaller parts: body, yoke, head and so on. These are called geometries. Each geometry has a separate model description and a physical description. Model collect contains model descriptions of the fixture parts. The model collect currently does not have any XML attributes (XML node <Models>). As children, Model Collect has a list of model.

Model

This section defines the type and dimensions of the model (XML node <Model>). The currently defined XML attributes of the model are specified in table 32.

Table 32. Model Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the model
LengthFloatUnit: meter; Default value: 0
WidthFloatUnit: meter; Default value: 0
HeightFloatUnit: meter; Default value: 0
PrimitiveTypeEnumType of 3D model; The currently defined values are: “Undefined”, “Cube”, “Cylinder”, “Sphere”, “Base”, “Yoke”, “Head”, “Scanner”, “Conventional”, “Pigtail”, “Base1_1”, “Scanner1_1”, “Conventional1_1”; TODO Default value: “Undefined”
FileResourceOptional. File name without extension and without subfolder containing description of the model. Use the following as a resource file:
- 3DS or GLB to file to provide 3D model.
- SVG file to provide the 2D symbol.
It is possible to add several files with the same name but different formats. Preferable format for the 3D model is GLTF. The resource files are located in subfolders of a folder called ./models. The names of the subfolders correspond to the file format of the resource files (3ds, step, svg). The path for 3ds files would be ./models/3ds. For glb files, it would be ./models/gltf.

Software that is utilizing GDTF files should always be able to read both 3ds and GlTF file formats and should be able to write at least one of these formats. It is preferable that only one type of 3D model file formats is used within one GDTF file.
SVGOffsetXFloatOffset in X from the 0,0 point to the desired insertion point of the top view svg. Unit based on the SVG. Default value: 0
SVGOffsetYFloatOffset in Y from the 0,0 point to the desired insertion point of the top view svg. Unit based on the SVG. Default value: 0
SVGSideOffsetXFloatOffset in X from the 0,0 point to the desired insertion point of the side view svg. Unit based on the SVG. Default value: 0
SVGSideOffsetYFloatOffset in Y from the 0,0 point to the desired insertion point of the side view svg. Unit based on the SVG. Default value: 0
SVGFrontOffsetXFloatOffset in X from the 0,0 point to the desired insertion point of the front view svg. Unit based on the SVG. Default value: 0
SVGFrontOffsetYFloatOffset in Y from the 0,0 point to the desired insertion point of the front view svg. Unit based on the SVG. Default value: 0

The model currently does not have any children.

All models of a device combined should not exceed a maximum vertices count of 1200 for the default mesh level of detail.

There are three level of details that you can define:

Table 33. Mesh level of detail

LODDescriptionFolder 3DS / gltf
LowOptional; This is the mesh for fixtures that are far away from the camera. It should have 30% of the the vertexes from the default mesh vertex count.3ds_low / gltf_low
DefaultThis is the default mesh that is used for real time visualization in preprogramming tool. It should have the minimum vertex count possible, while still looking like the fixture in 3D.3ds / gltf
HighOptional; This is high quality mesh targeting non-realtime applications, where the vertex count is not that important. There is no limit for the vertex count.3ds_high / gltf_high

Low and High meshes definitions are optional. Place the file with the same name in the defined folder.

The device shall be drawn in a hanging position displaying the front view. That results in the pan axis is Z aligned, and the tilt axis is X aligned.

The metric system consists of the Right-handed Cartesian Coordinates XYZ: X – from left (-X) to right (+X), Y – from the outside of the monitor (-Y) to the inside of the monitor (+Y), Z – from bottom (-Z) to top (+Z). 0,0,0 – center base plate. See Figure 2.

media/Models_device_hanging_1.1.png media/Models_device_hanging_1.1.png

Figure 2. Device in a hanging position – front view

The mesh of each fixture part shall be drawn around its own suspension point. The zero point of a device does not necessarily have to contain the offset related to the yoke, but it must be centered on its axis of rotation. The offset is defined by the geometry and has to be related to its parent geometry and not to the base.

Note 1: In general, the offsets are mostly negative, because the device is displayed in a hanging position.

Device Offsets Device Offsets

Figure 3. Offsets of the parts

In Figure 3 the green arrow displays the offset of the yoke related to the base. The magenta arrow displays the offset of the head related to the yoke. The offsets are to be defined by the position matrix of the according geometry (table 32). It is important that the axis of rotation of each device part is exactly positioned (see Figure 4).

media/Models_device_rotation1.png media/Models_device_rotation1.png media/Models_device_rotation2.png media/Models_device_rotation2.png media/Models_device_rotation3.png media/Models_device_rotation3.png

Figure 4. Positions of rotation axis

The dimension XML attributes of model (see table 32) are always used, no matter the scaling and ratio of the mesh file. The mesh is explicitly scaled to this dimension. The length defines the dimension of the model on the X axis, the width on the Y axis and the height on the Z axis.

SVG use viewboxes to align their content. The viewbox is always defined ny the top left of the bounding box. With the attributes SVG_VIEW_Offset_XY you can define the insertion point in relation to the view box.

SVG can have background filling. This filling should have the color #C8C8C8. By this color, any software can replace it with another color.

TypeDescriptionFolder 3DS / gltf
Top ViewView from top in -Z direction.svg
Front ViewView from fron in Y directionsvg_front
Side ViewView from fron in -X directionsvg_side

Base Base

SVG images should be drawn in a 1:1 scale to the actual device. Use mm as base unit. Scaling operation from 3D meshes will not be applied to the SVG informations

Regarding glTF Files

The used glTF files should follow these requirements:

  • Use the glb binary format
  • Only use the 2.0 version
  • Do not use extension
  • Do not use animations
  • Only use jpeg or png texture resource
  • all vertex attributes are GL_FLOAT

Regarding SVG Files

  • Use SVG 1.1 spec
  • Don’t embed bitmap images.
  • Align the viewbox to the top left of the device

Geometry Collect

General

The physical description of the device parts is defined in the geometry collect. Geometry collect can contain a separate geometry or a tree of geometries. The geometry collect currently does not have any XML attributes (XML node <Geometries>). The currently defined children nodes of geometry collect are specified in table 34.

Table 34. Geometry Children Types

XML nodeAmountDescription
GeometryAnyGeneral Geometry.
AxisAnyGeometry with axis.
FilterBeamAnyGeometry with a beam filter.
FilterColorAnyGeometry with color filter.
FilterGoboAnyGeometry with gobo.
FilterShaperAnyGeometry with shaper.
BeamAnyGeometry that describes a light output to project.
MediaServerLayerAnyGeometry that describes a media representation layer of a media device.
MediaServerCameraAnyGeometry that describes a camera or output layer of a media device.
MediaServerMasterAnyGeometry that describes a master control layer of a media device.
DisplayAnyGeometry that describes a surface to display visual media.
GeometryReferenceAnyReference to already described geometries.
LaserAnyGeometry with a laser light output.
WiringObjectAnyGeometry that describes an internal wiring for power or data.
InventoryAnyGeometry that describes an additional item that can be used for a fixture (like a rain cover).
StructureAnyGeometry that describes the internal framing of an object (like members).
SupportAnyGeometry that describes a support like a base plate or a hoist.
MagnetAnyGeometry that describes a point where other geometries should be attached.

Note 1: Position the geometry in it’s “Default” position. This is defined by the Default Value from the DMX Channel that controls the position of that geometry.

General Geometry

It is a basic geometry type without specification (XML node <Geometry>). The currently defined XML attributes of the geometry are specified in table 35.

Table 35. Geometry Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of geometry. Recommendation for conventional is “Body”. Recommendation for a geometry that is representing the base housing of a moving head is “Base”.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The geometry has the same children types as the geometry collect (see table 34).

Geometry Type Axis

This type of geometry defines device parts with a rotation axis (XML node <Axis>). The currently defined XML attributes of the axis are specified in table 36.

Table 36. Axis Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry. Recommendation for an axis-geometry is “Yoke”. Recommendation for an axis-geometry representing the lamp housing of a moving head is “Head”. Note: The Head of a moving head is usually mounted to the Yoke.
ModelNameLink to the corresponding model. Matrix
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The axis has the same children types as the geometry collect (see table 34).

Geometry Type Beam Filter

This type of geometry defines device parts with a beam filter (XML node <FilterBeam>). The currently defined XML attributes of the beam filter are specified in table 37.

Table 37. Beam Filter Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry. Recommendation for beam filter limiting the diffusion of light is “BarnDoor”. Recommendation for beam filter adjusting the diameter of the beam is “Iris”. Note: BarnDoor and Iris are usually mounted to conventional.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The beam filter has the same children types as the geometry collect (see table 34).

Geometry Type Color Filter

This type of geometry is used to describe device parts which have a color filter (XML node <FilterColor>). The currently defined XML attributes of the color filter are specified in table 38.

Table 38. Color Filter Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of geometry. Recommendation for filter of a color or mechanical color changer is “FilterColor”. Note: FilterColor is usually mounted to conventional.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The color filter has the same children types as the geometry collect (see table 34).

Geometry Type Gobo Filter

This type of geometry is used to describe device parts which have gobo wheels (XML node <FilterGobo>). The currently defined XML attributes of the gobo filter are specified in table 39.

Table 39. Gobo Filter Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry. Recommendation for filter of a gobo or mechanical gobo changer is “FilterGobo”. Note: FilterGobo is usually mounted to conventional.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The gobo filter has the same children types as the geometry collect (see table 34).

Geometry Type Shaper Filter

This type of geometry is used to describe device parts which have a shaper (XML node <FilterShaper>). The currently defined XML attributes of the shaper filter are specified in table 40.

Table 40. Shaper Filter Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry; Recommendation for filter used to form the beam to a framed, triangular, or trapezoid shape, is “Shaper”. Note: Shaper is usually mounted to conventional.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The shaper filter has the same children types as the geometry collect (see table 34).

Geometry Type Beam

This type of geometry is used to describe device parts which have a light source (XML node <Beam>). The currently defined XML attributes of the Beam are specified in table 41.

Table 41. Beam Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry. Recommendation for a light source of a conventional or moving head or a projector is “Beam”. Note 1: Beam is usually mounted to Head or Body. Recommendation for a self-emitting single light source is “Pixel”. Note 2: Pixel is usually mounted to Head or Body. Recommendation for a number of Pixel that are controlled at the same time is “Array”. Note 3: Array is usually mounted to Head or Body. Recommendation for a light source of a moving mirror is “Mirror”. Note 4: Mirror is usually mounted to Yoke.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
LampTypeEnumDefines type of the light source; The currently defined types are: Discharge, Tungsten, Halogen, LED; Default value “Discharge”
PowerConsumptionFloatPower consumption; Default value: 1000; Unit: Watt
LuminousFluxFloatIntensity of all the represented light emitters; Default value: 10000; Unit: lumen
ColorTemperatureFloatColor temperature; Default value: 6000; Unit: kelvin
BeamAngleFloatBeam angle; Default value: 25.0; Unit: degree
FieldAngleFloatField angle; Default value: 25.0; Unit: degree
ThrowRatioFloatThrow Ratio of the lens for BeamType Rectangle; Default value: 1; Unit: None
RectangleRatioFloatRatio from Width to Height of the Rectangle Type Beam; Default value: 1.7777; Unit: None
BeamRadiusFloatBeam radius on starting point. Default value: 0.05; Unit: meter.
BeamTypeEnumBeam Type; Specified values: “Wash”, “Spot”, “None”, “Rectangle”, “PC”, “Fresnel”, “Glow”. Default value “Wash”
ColorRenderingIndexUintThe CRI according to TM-30 is a quantitative measure of the ability of the light source showing the object color naturally as it does as daylight reference. Size 1 byte. Default value 100.
EmitterSpectrumNodeOptional link to emitter in the physical description; use this to define the white light source of a subtractive color mixing system. Starting point: Emitter Collect; Default spectrum is a Black-Body with the defined ColorTemperature.

The beam has the same children types as the geometry collect (see table 34).

Use the Geometry Type “Beam” to describe the position of the fixture’s light output (usually the position of the lens) and not the position of the light source inside the device. The origin of the Geometry Type “Beam” is the origin of the rendered beam. The origin of the Geometry Type “Beam” should not be covered by any faces of other geometries in order to not block the rendered beam.

The <BeamType> describes how the Beam will be rendered.

“Wash”, “Fresnel”, “PC”- A conical beam with soft edges and softened field projection.

“Spot” - A conical beam with hard edges.

“Rectangle” - A pyramid-shaped beam with hard edges.

“None”, “Glow” - No beam will be drawn, only the geometry will emit light itself.

The beam geometry emits its light into negative Z direction (and Y-up).

Geometry Type Media Server Layer

This type of geometry is used to describe the layer of a media device that is used for representation of media files (XML node <MediaServerLayer>). The currently defined XML attributes of the media server layer are specified in table 42.

Table 42. Media Server Layer Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model that will be used to display the alignment in media server space.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The media server layer has the same children types as the geometry collect (see table 34).

Geometry Type Media Server Camera

This type of geometry is used to describe the camera or output of a media device (XML node <MediaServerCamera>). The currently defined XML attributes of the media server camera are specified in table 43.

Table 43. Media Server Camera Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model that will be used to display the alignment in media server space.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The media server camera has the same children types as the geometry collect (see table 34).

The media server camera-view points into the positive Y-direction (and Z-up).

Geometry Type Media Server Master

This type of geometry is used to describe the master control of one or several media devices (XML node <MediaServerMaster>). The currently defined XML attributes of the media server master are specified in table 44.

Table 44. Media Server Master Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The media server master has the same children types as the geometry collect (see table 34).

Geometry Type Display

This type of geometry is used to describe a self-emitting surface which is used to display visual media (XML node <Display>). The currently defined XML attributes of the display are specified in table 45.

Table 45. Display Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
TextureResourceName of the mapped texture in Model file that will be swapped out for the media resource.

The display has the same children types as the geometry collect (see table 34).

Geometry Type Laser

General

This type of geometry is used to describe the position of a laser’s light output (XML node <Laser>). The currently defined XML attributes of the laser are specified in table 46.

Table 46. Laser Attributes

XML Attribute NameValue Type
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
ColorType EnumThe currently defined unit values are: “RGB”, “SingleWaveLength”, Default: RGB.
ColorFloatRequired if ColorType is “SingleWaveLength”; Unit:nm (nanometers)
OutputStrengthFloatOutput Strength of the Laser; Unit: Watt
EmitterNodeOptional link to the emitter group. The starting point is the Emitter Collect.
BeamDiameterFloatBeam diameter where it leaves the projector; Unit: meter
BeamDivergenceMinFloatMinimum beam divergence; Unit: mrad (milliradian)
BeamDivergenceMaxFloatMaximum beam divergence; Unit: mrad (milliradian)
ScanAnglePanFloatPossible Total Scan Angle Pan of the beam. Assumes symmetrical output; Unit: Degree
ScanAngleTiltFloatPossible Total Scan Angle Tilt of the beam. Assumes symmetrical output; Unit: Degree
ScanSpeedFloatSpeed of the beam; Unit: kilo point per second

The laser has the same children types as the geometry collect (see table 34).

In addition, it also has a list of supported protocols (XML node <Protocol>) as children.

Protocol

This XML node specifies the protocol for a Laser (XML node <Protocol>). The currently defined XML attributes of the protocol are specified in table 47.

Table 47 Protocol attributes

XML Attribute NameValue TypeDescription
NameStringName of the protocol

The protocol doesn’t have any children.

Geometry Type Reference

General

The Geometry Type Reference is used to describe multiple instances of the same geometry. Example: LED panel with multiple pixels. (XML node ). The currently defined XML attributes of reference are specified in table 48.

Note 1: Geometry Reference also allows easier definition of the DMX Channels for these geometries.

Table 48. Geometry Reference Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of geometry.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
GeometryNameName of the referenced geometry. Only top level geometries are allowed to be referenced.
ModelNameOptional. Link to the corresponding model. The model only replaces the model of the parent of the referenced geometry. The models of the children of the referenced geometry are not affected. The starting point is Models Collect. If model is not set, the model is taken from the referenced geometry.

As children, the Geometry Type Reference has a list of breaks. The count of the children depends on the number of different breaks in the DMX channels of the referenced geometry. If the referenced geometry, for example, has DMX channels with DMX break 2 and 4, the geometry reference has to have 2 children. The first child with DMX offset for DMX break 2 and the second child for DMX break 4. If one or more of the DMX channels of the referenced geometry have the special value “Overwrite” as a DMX break, the DMX break for those channels and the DMX offsets need to be defined.

Break

This XML node specifies the DMX offset for the DMX channel of the referenced geometry (XML node <Break>). The currently defined XML attributes of the break are specified in table 49.

Table 49. Break Attributes

XML Attribute NameValue TypeDescription
DMXOffsetDMXAddressDMX offset; Default value:1 (Means no offset for the corresponding DMX Channel)
DMXBreakUintDefines the unique number of the DMX Break for which the Offset is given. Size: 1 byte; Default value 1.

Geometry Type Wiring Object

General

This type of geometry is used to describe an electrical device that can be wired (XML node <WiringObject>). The currently defined XML attributes of a wiring object geometry are specified in table 50.

Table 50. Wiring Object Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry. The name is also the name of the interface to the outside
ModelNameLink to the corresponding model.
ConnectorType NameThe type of the connector. Find a list of predefined types in Annex D. This is not applicable for Component Types Fuses. Custom type of connector can also be defined, for example “Loose End”.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
ComponentTypeEnumThe type of the electrical component used. Defined values are “Input”, “Output”, “PowerSource”, “Consumer”, “Fuse”, “NetworkProvider”, “NetworkInput”, “NetworkOutput”, “NetworkInOut”.
SignalTypeStringThe type of the signal used. Predefinded values are “Power”, “DMX512”, “Protocol”, “AES”, “AnalogVideo”, “AnalogAudio”. When you have a custom protocol, you can add it here.
PinCountIntThe number of available pins of the connector type to connect internal wiring to it.
ElectricalPayLoadFloatThe electrical consumption in Watts. Only for Consumers. Unit: Watt.
VoltageRangeMaxFloatThe voltage range’s maximum value. Only for Consumers. Unit:volt.
VoltageRangeMinFloatThe voltage range’s minimum value. Only for Consumers. Unit: volt.
FrequencyRangeMaxFloatThe Frequency range’s maximum value. Only for Consumers. Unit: hertz.
FrequencyRangeMinFloatThe Frequency range’s minimum value. Only for Consumers. Unit: hertz.
MaxPayLoadFloatThe maximum electrical payload that this power source can handle. Only for Power Sources. Unit: voltampere.
VoltageFloatThe voltage output that this power source can handle. Only for Power Sources. Unit: volt.
SignalLayerIntegerThe layer of the Signal Type. In one device, all wiring geometry that use the same Signal Layers are connected. Special value 0: Connected to all geometries.
CosPhiFloatThe Power Factor of the device. Only for consumers.
FuseCurrentFloatThe fuse value. Only for fuses. Unit: ampere.
FuseRatingEnumFuse Rating. Defined values are “B”, “C”, “D”, “K”, “Z”.
OrientationEnumWhere the pins are placed on the object. Defined values are “Left”, “Right”, “Top”, “Bottom”.
WireGroupStringName of the group to which this wiring object belong.

The wiring object has the same children types as the geometry collect (see table 34). In addition, it also has pin patch (XML node <PinPatch>) children.

Pin Patch

This XML node (XML node <PinPatch>) specifies how the different sockets of its parent wiring object are connected to the pins of other wiring objects. The currently defined XML attributes of a pin patch are specified in table 51.

Table 51. Pin Patch Attributes

XML Attribute NameValue TypeDescription
ToWiringObjectNodeLink to the wiring object connected through this pin patch.
FromPinIntThe pin number used by the parent wiring object to connect to the targeted wiring object “ToWiringObject”.
ToPinIntThe pin number used by the targeted wiring object “ToWiringObject” to connect to the parent wiring object.

The pin patch doesn’t have any children.

Geometry Type Inventory

This type of geometry is used to describe a geometry used for the inventory (XML node <Inventory>). The currently defined XML attributes of an inventory geometry are specified in table 52.

Table 52. Inventory Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
CountIntThe default count for new objects.

The inventory geometry has the same children types as the geometry collect (see table 34).

Geometry Type Structure

This type of geometry is used to describe a structure (XML node <Structure>). The currently defined XML attributes of a structure geometry are specified in table 53.

Table 53. Structure Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
LinkedGeometryNameThe linked geometry.
StructureTypeEnumThe type of structure. Defined values are “CenterLineBased”, “Detail”.
CrossSectionType EnumThe type of cross section. Defined values are “TrussFramework”, “Tube”.
CrossSectionHeightFloatThe height of the cross section. Only for Tubes. Unit: meter.
CrossSectionWallThicknessFloatThe thickness of the wall of the cross section.Only for Tubes. Unit: meter.
TrussCrossSectionStringThe name of the truss cross section. Only for Trusses.

The structure geometry has the same children types as the geometry collect (see table 34).

Geometry Type Support

This type of geometry is used to describe a support (XML node <Support>). The currently defined XML attributes of a support geometry are specified in table 54.

Table 54. Support Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix
SupportType EnumThe type of support. Defined values are “Rope”, “GroundSupport”.
RopeCrossSectionStringThe name of the rope cross section. Only for Ropes.
RopeOffsetVector3The Offset of the rope from bottom to top. Only for Ropes. Unit: meter.
CapacityXFloatThe allowable force on the X-Axis applied to the object according to the Eurocode. Unit: N.
CapacityYFloatThe allowable force on the Y-Axis applied to the object according to the Eurocode. Unit: N.
CapacityZFloatThe allowable force on the Z-Axis applied to the object according to the Eurocode. Unit: N.
CapacityXXFloatThe allowable moment around the X-Axis applied to the object according to the Eurocode. Unit: N/m.
CapacityYYFloatThe allowable moment around the Y-Axis applied to the object according to the Eurocode. Unit: N/m.
CapacityZZFloatThe allowable moment around the Z-Axis applied to the object according to the Eurocode. Unit: N/m.
ResistanceXFloatThe compression ratio for this support along the X-Axis. Unit N/m. Only for Ground Supports.
ResistanceYFloatThe compression ratio for this support along the Y-Axis. Unit N/m. Only for Ground Supports.
ResistanceZFloatThe compression ratio for this support along the Z-Axis. Unit N/m. Only for Ground Supports.
ResistanceXXFloatThe compression ratio for this support around the X-Axis. Unit N/m. Only for Ground Supports.
ResistanceYYFloatThe compression ratio for this support around the Y-Axis. Unit N/m. Only for Ground Supports.
ResistanceZZFloatThe compression ratio for this support around the Z-Axis. Unit N/m. Only for Ground Supports.

The support geometry has the same children types as the geometry collect (see table 34).

Geometry Type Magnet

This type of geometry is used to describe a magnet, a point where other geometries should be attached (XML node <Magnet>). The currently defined XML attributes of a magnet geometry are specified in table 55.

Table 55. Magnet Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the geometry.
ModelNameLink to the corresponding model.
PositionMatrixRelative position of geometry; Default value: Identity Matrix

The magnet geometry has the same children types as the geometry collect (see table 34).

DMX Mode Collect

General

This section is describes all DMX modes of the device. If firmware revisions change a DMX footprint, then such revisions should be specified as new DMX mode. The DMX mode collect currently does not have any attributes (XML node <DMXModes>). As a child the fixture type DMX mode collect has DMX modes.

DMX Mode

Each DMX mode describes logical control part of the device in a specific mode (XML node <DMXMode>). The currently defined XML attributes of the DMX mode are specified in table 56.

Table 56. DMX Mode Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the DMX mode
DescriptionStringDescription of the DMX mode
GeometryNameName of the first geometry in the device; Only top level geometries are allowed to be linked.

DMX mode children are specified in table 57.

Table 57. DMX Mode Children

XML nodeMandatoryDescription
DMXChannelsYesDescription of all DMX channels used in the mode
RelationsNoDescription of relations between channels
FTMacrosNoIs used to describe macros of the manufacturer.

DMX Channel Collect

General

This section defines the DMX footprint of the device. The DMX channel collect currently does not have any attributes (XML node <DMXChannels>). As children the DMX channel collect has a list of a DMX channels.

DMX Channel
General

This section defines the DMX channel (XML node <DMXChannel>). The name of a DMX channel cannot be user-defined and must consist of a geometry name and the attribute name of the first logical channel with separator “_”. In one DMX Mode, this combination needs to be unique. Currently defined XML attributes of the DMX channel are specified in table 58.

Table 58. DMX Channel Attributes

XML Attribute NameValue TypeDescription
DMXBreakIntNumber of the DMXBreak; Default value: 1; Special value: “Overwrite” – means that this number will be overwritten by Geometry Reference; Size: 4 bytes
OffsetArray of IntRelative addresses of the current DMX channel from highest to least significant; Separator of values is “,”; Special value: “None” – does not have any addresses; Default value: “None”; Size per int: 4 bytes
InitialFunctionNodeLink to the channel function that will be activated by default for this DMXChannel. Default value is the first channel function of the first logical function of this DMX channel.
HighlightDMXValueHighlight value for current channel; Special value: “None”. Default value: “None”.
GeometryNameName of the geometry the current channel controls.

The Geometry should be the place in the tree of geometries where the function of the DMX Channel (as defined by ChannelFunction) is located either physically or logically. If the DMX channel doesn’t have a location, put it in the top level geometry of the geometry tree. Attributes follow a trickle down principle, so they are inherited from top down.

As children the DMX channel has a list of logical channels.

Logical Channel

The Fixture Type Attribute is assigned to a LogicalChannel and defines the function of the LogicalChannel. All logical channels that are children of the same DMX channel are mutually exclusive. In a DMX mode, only one logical channel with the same attribute can reference the same geometry at a time. The name of a Logical Channel cannot be user-defined and is equal to the linked attribute name. The XML node of the logical channel is <LogicalChannel>. The currently defined XML attributes of the logical channel are specified in table 59.

Table 59. Logical Channel Attributes

XML Attribute NameValue TypeDescription
AttributeNodeLink to the attribute; The starting point is the Attribute Collect (see Annex A).
SnapEnumIf snap is enabled, the logical channel will not fade between values. Instead, it will jump directly to the new value.; Value: “Yes”, “No”, “On”, “Off”. Default value: “No”
MasterEnumDefines if all the subordinate channel functions react to a Group Control defined by the control system. Values: “None”, “Grand”, “Group”; Default value: “None”.
MibFadeFloatMinimum fade time for moves in black action. MibFade is defined for the complete DMX range. Default value: 0; Unit: second
DMXChangeTimeLimitFloatMinimum fade time for the subordinate channel functions to change DMX values by the control system. DMXChangeTimeLimit is defined for the complete DMX range. Default value: 0; Unit: second

As a child the logical channel has a list of a channel function.

Channel Function

The Fixture Type Attribute is assigned to a Channel Function and defines the function of its DMX Range. (XML node <ChannelFunction>). The currently defined XML attributes of channel function are specified in table 60.

Table 60. Channel Function Attributes

XML Attribute NameValue TypeDescription
NameNameUnique name; Default value: Name of attribute and number of channel function.
AttributeNodeLink to attribute; Starting point is the attributes node. Default value: “NoFeature”.
OriginalAttributeStringThe manufacturer’s original name of the attribute; Default: empty
DMXFromDMXValueStart DMX value; The end DMX value is calculated as a DMXFrom of the next channel function – 1 or the maximum value of the DMX channel. Default value: “0/1”.
DefaultDMXValueDefault DMX value of channel function when activated by the control system.
PhysicalFromFloatPhysical start value; Default value: 0
PhysicalToFloatPhysical end value; Default value: 1
RealFadeFloatTime in seconds to move from min to max of the Channel Function; Default value: 0
RealAccelerationFloatTime in seconds to accelerate from stop to maximum velocity; Default value: 0
WheelNodeOptional. Link to a wheel; Starting point: Wheel Collect
EmitterNodeOptional. Link to an emitter in the physical description; Starting point: Emitter Collect
FilterNodeOptional. Link to a filter in the physical description; Starting point: Filter Collect
ColorSpaceNodeOptional. Link to a color space in the physical description; Starting point: Physical Descriptions Collect
GamutNodeOptional. Link to a gamut in the physical description; Starting point: Gamut Collect
ModeMasterNodeOptional. Link to DMX Channel or Channel Function; Starting point DMX mode.
ModeFromDMXValueOnly used together with ModeMaster; DMX start value; Default value: 0/1
ModeToDMXValueOnly used together with ModeMaster; DMX end value; Default value: 0/1
DMXProfileNodeOptional link to DMX Profile; Starting point: DMX Profile Collect
MinFloatMinimum Physical Value that will be used for the DMX Profile. Default: Value from PhysicalFrom
MaxFloatMaximum Physical Value that will be used for the DMX Profile. Default: Value from PhysicalTo
CustomNameStringCustom Name that can he used do adress this channel function with other command based protocols like OSC. Default: Node Name of the Channel function Example: Head_Dimmer.Dimmer.Dimmer

Note:
For command based control systems, you can control the fixture by sending it a string in the following style:
"/FIXTURE_ID/CUSTOM_NAME_CHANNELFUCTION ,f FLOAT_VALUE_PHYSICAL"
or
"/FIXTURE_ID/CUSTOM_NAME_CHANNELFUCTION/percent ,f FLOAT_VALUE_PERCENT"

Where:

  • FIXTURE_ID is the fixture ID is the value defined for the fixture instance.
  • CUSTOM_NAME_CHANNELFUCTION is the Custom Name for the ChannelFunction. Note that all “.” Separators can be replaced with “/”.
  • FLOAT_VALUE_PHYSICAL is the physical value that the fixture should adopt. The values will be capped by the fixture by PhysicalFrom and PhysicalTo.
  • FLOAT_VALUE_PERCENT is the percent value that the fixture should adopt. The values can be between 0 and 100.

As children the channel function has list of a channel sets and a sub channel sets.

Channel Set

This section defines the channel sets of the channel function (XML node ). The currently defined XML attributes of the channel set are specified in table 61.

Table 61. Channel Set Attributes

XML Attribute NameValue TypeDescription
NameNameThe name of the channel set. Default: Empty
DMXFromDMXValueStart DMX value; The end DMX value is calculated as a DMXFrom of the next channel set – 1 or the maximum value of the current channel function; Default value: 0/1
PhysicalFromFloatPhysical start value. Default value is the PhysicalFrom from the parent channel function.
PhysicalToFloatPhysical end value. Default value is the PhysicalTo from the parent channel function.
WheelSlotIndexIntIf the channel function has a link to a wheel, a corresponding slot index shall be specified. The wheel slot index results from the order of slots of the wheel which is linked in the channel function. The wheel slot index is normalized to 1. Size: 4 bytes

The channel set does not have any children.

Sub Channel Set

This section defines the sub channel sets of the channel function (XML node ). The currently defined XML attributes of the sub channel set are specified in table 62.

Table 62. Sub Channel Set Attributes

XML Attribute NameValue TypeDescription
NameNameThe name of the sub channel set. Default: Empty
PhysicalFromFloatPhysical start value
PhysicalToFloatPhysical end value
SubPhysicalUnitNodeLink to the sub physical unit; Starting Point: Attribute
DMXProfileNodeOptional link to the DMX Profile; Starting Point: DMX Profile Collect

The sub channel set does not have any children.

Relation Collect

General

This section describes the dependencies between DMX channels and channel functions, such as multiply and override. The relation collect currently does not have any XML attributes (XML node <Relations>). As children the relation collect has a list of a relation.

Relation

This section defines the relation between the master DMX channel and the following logical channel (XML node <Relation>). The currently defined XML attributes of the relations are specified in table 63.

Table 63. Relation Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the relation
MasterNodeLink to the master DMX channel; Starting point: DMX mode
FollowerNodeLink to the following channel function; Starting point: DMX mode
TypeEnumType of the relation; Values: “Multiply”, “Override”

The relation does not have any children. Listing 1 shows an example of a simple DMX mode described in XML.

Listing 1. DMX mode with relations

<DMXMode Name="Default" Geometry="Body">

   <DMXChannels>  
       <DMXChannel Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="Dimmer" Master="Grand">  
               <ChannelFunction Attribute="Dimmer" DMXFrom="0/1">  
                   <ChannelSet Name="closed" DMXFrom="0/1" PhysicalTo="0" />  
                   <ChannelSet DMXFrom="1/1" />  
                   <ChannelSet Name="open" DMXFrom="255/1" PhysicalFrom="1" />  
               </ChannelFunction>  
           </LogicalChannel>  
       </DMXChannel>  
       <DMXChannel DMXBreak="Overwrite" Offset="1" Default="255/1" Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="ColorAdd_R">  
               <ChannelFunction Attribute="ColorAdd_R" DMXFrom="0/1"/>  
           </LogicalChannel>  
       </DMXChannel>  
       <DMXChannel DMXBreak="Overwrite" Offset="2" Default="255/1" Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="ColorAdd_G">  
               <ChannelFunction Attribute="ColorAdd_G" DMXFrom="0/1"/>  
           </LogicalChannel>  
       </DMXChannel>  
       <DMXChannel DMXBreak="Overwrite" Offset="3" Default="255/1" Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="ColorAdd_B">  
               <ChannelFunction Attribute="ColorAdd_B" DMXFrom="0/1"/>  
           </LogicalChannel>  
       </DMXChannel>  
   </DMXChannels>  
   <Relations>  
       <Relation Name="VirtualDimmer" Master="Pixel_Dimmer" Follower="Pixel_ColorAdd_R.ColorAdd_R.ColorAdd_R 1" Type="Multiply" />  
       <Relation Name="VirtualDimmer" Master="Pixel_Dimmer" Follower="Pixel_ColorAdd_G.ColorAdd_G.ColorAdd_G 1" Type="Multiply" />  
       <Relation Name="VirtualDimmer" Master="Pixel_Dimmer" Follower="Pixel_ColorAdd_B.ColorAdd_B.ColorAdd_B 1" Type="Multiply" />  
   </Relations>
</DMXMode> 

Macro Collect

General

This section describes DMX sequences to be executed by the control system. The macro collect currently does not have any XML attributes (XML node <FTMacros>). As children the macro collect has a list of a macro.

Macro
General

This section defines a DMX sequence. (XML node <FTMacro>). The currently defined XML attributes of the macro are specified in table 64.

Table 64. Macro Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the macro.
ChannelFunctionNodeOptional. Link to channel function; Starting point DMX Mode

Macro children are specified in table 65

Table 65. Macro Children

XML nodeMandatoryDescription
MacroDMXNoThis section defines a DMX sequence.
Macro DMX

This section defines the sequence of DMX values which are sent by a control system. (XML node <MacroDMX>). As children the macro DMX has a list of MacroDMXStep.

Macro DMX Step

This section defines a DMX step (XML node <MacroDMXStep>). The currently defined XML attributes of the macro DMX step are specified in table 66.

Table 66. Macro DMX Step Attributes

XML Attribute NameValue TypeDescription
DurationFloatDuration of a step; Default value: 1; Unit: seconds.

As children the macro DMX -Step has a list of a DMX Value.

DMX Value

This section defines the value for DMX channel (XML node ). The currently defined XML attributes of the DMX Value are specified in table 67.

Table 67. DMX Value Attributes

XML Attribute NameValue TypeDescription
ValueDMXValueValue of the DMX channel
DMXChannelNodeLink to a DMX channel. Starting node DMX Channel collect.

The DMX value does not have any children.

DMX Mode Collect

General

This section is describes all DMX modes of the device. If firmware revisions change a DMX footprint, then such revisions should be specified as new DMX mode. The DMX mode collect currently does not have any attributes (XML node <DMXModes>). As a child the fixture type DMX mode collect has DMX modes.

DMX Mode

Each DMX mode describes logical control part of the device in a specific mode (XML node <DMXMode>). The currently defined XML attributes of the DMX mode are specified in table 56.

Table 56. DMX Mode Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the DMX mode
DescriptionStringDescription of the DMX mode
GeometryNameName of the first geometry in the device; Only top level geometries are allowed to be linked.

DMX mode children are specified in table 57.

Table 57. DMX Mode Children

XML nodeMandatoryDescription
DMXChannelsYesDescription of all DMX channels used in the mode
RelationsNoDescription of relations between channels
FTMacrosNoIs used to describe macros of the manufacturer.

DMX Channel Collect

General

This section defines the DMX footprint of the device. The DMX channel collect currently does not have any attributes (XML node <DMXChannels>). As children the DMX channel collect has a list of a DMX channels.

DMX Channel
General

This section defines the DMX channel (XML node <DMXChannel>). The name of a DMX channel cannot be user-defined and must consist of a geometry name and the attribute name of the first logical channel with separator “_”. In one DMX Mode, this combination needs to be unique. Currently defined XML attributes of the DMX channel are specified in table 58.

Table 58. DMX Channel Attributes

XML Attribute NameValue TypeDescription
DMXBreakIntNumber of the DMXBreak; Default value: 1; Special value: “Overwrite” – means that this number will be overwritten by Geometry Reference; Size: 4 bytes
OffsetArray of IntRelative addresses of the current DMX channel from highest to least significant; Separator of values is “,”; Special value: “None” – does not have any addresses; Default value: “None”; Size per int: 4 bytes
InitialFunctionNodeLink to the channel function that will be activated by default for this DMXChannel. Default value is the first channel function of the first logical function of this DMX channel.
HighlightDMXValueHighlight value for current channel; Special value: “None”. Default value: “None”.
GeometryNameName of the geometry the current channel controls.

The Geometry should be the place in the tree of geometries where the function of the DMX Channel (as defined by ChannelFunction) is located either physically or logically. If the DMX channel doesn’t have a location, put it in the top level geometry of the geometry tree. Attributes follow a trickle down principle, so they are inherited from top down.

As children the DMX channel has a list of logical channels.

Logical Channel

The Fixture Type Attribute is assigned to a LogicalChannel and defines the function of the LogicalChannel. All logical channels that are children of the same DMX channel are mutually exclusive. In a DMX mode, only one logical channel with the same attribute can reference the same geometry at a time. The name of a Logical Channel cannot be user-defined and is equal to the linked attribute name. The XML node of the logical channel is <LogicalChannel>. The currently defined XML attributes of the logical channel are specified in table 59.

Table 59. Logical Channel Attributes

XML Attribute NameValue TypeDescription
AttributeNodeLink to the attribute; The starting point is the Attribute Collect (see Annex A).
SnapEnumIf snap is enabled, the logical channel will not fade between values. Instead, it will jump directly to the new value.; Value: “Yes”, “No”, “On”, “Off”. Default value: “No”
MasterEnumDefines if all the subordinate channel functions react to a Group Control defined by the control system. Values: “None”, “Grand”, “Group”; Default value: “None”.
MibFadeFloatMinimum fade time for moves in black action. MibFade is defined for the complete DMX range. Default value: 0; Unit: second
DMXChangeTimeLimitFloatMinimum fade time for the subordinate channel functions to change DMX values by the control system. DMXChangeTimeLimit is defined for the complete DMX range. Default value: 0; Unit: second

As a child the logical channel has a list of a channel function.

Channel Function

The Fixture Type Attribute is assigned to a Channel Function and defines the function of its DMX Range. (XML node <ChannelFunction>). The currently defined XML attributes of channel function are specified in table 60.

Table 60. Channel Function Attributes

XML Attribute NameValue TypeDescription
NameNameUnique name; Default value: Name of attribute and number of channel function.
AttributeNodeLink to attribute; Starting point is the attributes node. Default value: “NoFeature”.
OriginalAttributeStringThe manufacturer’s original name of the attribute; Default: empty
DMXFromDMXValueStart DMX value; The end DMX value is calculated as a DMXFrom of the next channel function – 1 or the maximum value of the DMX channel. Default value: “0/1”.
DefaultDMXValueDefault DMX value of channel function when activated by the control system.
PhysicalFromFloatPhysical start value; Default value: 0
PhysicalToFloatPhysical end value; Default value: 1
RealFadeFloatTime in seconds to move from min to max of the Channel Function; Default value: 0
RealAccelerationFloatTime in seconds to accelerate from stop to maximum velocity; Default value: 0
WheelNodeOptional. Link to a wheel; Starting point: Wheel Collect
EmitterNodeOptional. Link to an emitter in the physical description; Starting point: Emitter Collect
FilterNodeOptional. Link to a filter in the physical description; Starting point: Filter Collect
ColorSpaceNodeOptional. Link to a color space in the physical description; Starting point: Physical Descriptions Collect
GamutNodeOptional. Link to a gamut in the physical description; Starting point: Gamut Collect
ModeMasterNodeOptional. Link to DMX Channel or Channel Function; Starting point DMX mode.
ModeFromDMXValueOnly used together with ModeMaster; DMX start value; Default value: 0/1
ModeToDMXValueOnly used together with ModeMaster; DMX end value; Default value: 0/1
DMXProfileNodeOptional link to DMX Profile; Starting point: DMX Profile Collect
MinFloatMinimum Physical Value that will be used for the DMX Profile. Default: Value from PhysicalFrom
MaxFloatMaximum Physical Value that will be used for the DMX Profile. Default: Value from PhysicalTo
CustomNameStringCustom Name that can he used do adress this channel function with other command based protocols like OSC. Default: Node Name of the Channel function Example: Head_Dimmer.Dimmer.Dimmer

Note:
For command based control systems, you can control the fixture by sending it a string in the following style:
"/FIXTURE_ID/CUSTOM_NAME_CHANNELFUCTION ,f FLOAT_VALUE_PHYSICAL"
or
"/FIXTURE_ID/CUSTOM_NAME_CHANNELFUCTION/percent ,f FLOAT_VALUE_PERCENT"

Where:

  • FIXTURE_ID is the fixture ID is the value defined for the fixture instance.
  • CUSTOM_NAME_CHANNELFUCTION is the Custom Name for the ChannelFunction. Note that all “.” Separators can be replaced with “/”.
  • FLOAT_VALUE_PHYSICAL is the physical value that the fixture should adopt. The values will be capped by the fixture by PhysicalFrom and PhysicalTo.
  • FLOAT_VALUE_PERCENT is the percent value that the fixture should adopt. The values can be between 0 and 100.

As children the channel function has list of a channel sets and a sub channel sets.

Channel Set

This section defines the channel sets of the channel function (XML node ). The currently defined XML attributes of the channel set are specified in table 61.

Table 61. Channel Set Attributes

XML Attribute NameValue TypeDescription
NameNameThe name of the channel set. Default: Empty
DMXFromDMXValueStart DMX value; The end DMX value is calculated as a DMXFrom of the next channel set – 1 or the maximum value of the current channel function; Default value: 0/1
PhysicalFromFloatPhysical start value. Default value is the PhysicalFrom from the parent channel function.
PhysicalToFloatPhysical end value. Default value is the PhysicalTo from the parent channel function.
WheelSlotIndexIntIf the channel function has a link to a wheel, a corresponding slot index shall be specified. The wheel slot index results from the order of slots of the wheel which is linked in the channel function. The wheel slot index is normalized to 1. Size: 4 bytes

The channel set does not have any children.

Sub Channel Set

This section defines the sub channel sets of the channel function (XML node ). The currently defined XML attributes of the sub channel set are specified in table 62.

Table 62. Sub Channel Set Attributes

XML Attribute NameValue TypeDescription
NameNameThe name of the sub channel set. Default: Empty
PhysicalFromFloatPhysical start value
PhysicalToFloatPhysical end value
SubPhysicalUnitNodeLink to the sub physical unit; Starting Point: Attribute
DMXProfileNodeOptional link to the DMX Profile; Starting Point: DMX Profile Collect

The sub channel set does not have any children.

Relation Collect

General

This section describes the dependencies between DMX channels and channel functions, such as multiply and override. The relation collect currently does not have any XML attributes (XML node <Relations>). As children the relation collect has a list of a relation.

Relation

This section defines the relation between the master DMX channel and the following logical channel (XML node <Relation>). The currently defined XML attributes of the relations are specified in table 63.

Table 63. Relation Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the relation
MasterNodeLink to the master DMX channel; Starting point: DMX mode
FollowerNodeLink to the following channel function; Starting point: DMX mode
TypeEnumType of the relation; Values: “Multiply”, “Override”

The relation does not have any children. Listing 1 shows an example of a simple DMX mode described in XML.

Listing 1. DMX mode with relations

<DMXMode Name="Default" Geometry="Body">

   <DMXChannels>  
       <DMXChannel Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="Dimmer" Master="Grand">  
               <ChannelFunction Attribute="Dimmer" DMXFrom="0/1">  
                   <ChannelSet Name="closed" DMXFrom="0/1" PhysicalTo="0" />  
                   <ChannelSet DMXFrom="1/1" />  
                   <ChannelSet Name="open" DMXFrom="255/1" PhysicalFrom="1" />  
               </ChannelFunction>  
           </LogicalChannel>  
       </DMXChannel>  
       <DMXChannel DMXBreak="Overwrite" Offset="1" Default="255/1" Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="ColorAdd_R">  
               <ChannelFunction Attribute="ColorAdd_R" DMXFrom="0/1"/>  
           </LogicalChannel>  
       </DMXChannel>  
       <DMXChannel DMXBreak="Overwrite" Offset="2" Default="255/1" Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="ColorAdd_G">  
               <ChannelFunction Attribute="ColorAdd_G" DMXFrom="0/1"/>  
           </LogicalChannel>  
       </DMXChannel>  
       <DMXChannel DMXBreak="Overwrite" Offset="3" Default="255/1" Highlight="255/1" Geometry="Pixel">  
           <LogicalChannel Attribute="ColorAdd_B">  
               <ChannelFunction Attribute="ColorAdd_B" DMXFrom="0/1"/>  
           </LogicalChannel>  
       </DMXChannel>  
   </DMXChannels>  
   <Relations>  
       <Relation Name="VirtualDimmer" Master="Pixel_Dimmer" Follower="Pixel_ColorAdd_R.ColorAdd_R.ColorAdd_R 1" Type="Multiply" />  
       <Relation Name="VirtualDimmer" Master="Pixel_Dimmer" Follower="Pixel_ColorAdd_G.ColorAdd_G.ColorAdd_G 1" Type="Multiply" />  
       <Relation Name="VirtualDimmer" Master="Pixel_Dimmer" Follower="Pixel_ColorAdd_B.ColorAdd_B.ColorAdd_B 1" Type="Multiply" />  
   </Relations>
</DMXMode> 

Macro Collect

General

This section describes DMX sequences to be executed by the control system. The macro collect currently does not have any XML attributes (XML node <FTMacros>). As children the macro collect has a list of a macro.

Macro
General

This section defines a DMX sequence. (XML node <FTMacro>). The currently defined XML attributes of the macro are specified in table 64.

Table 64. Macro Attributes

XML Attribute NameValue TypeDescription
NameNameThe unique name of the macro.
ChannelFunctionNodeOptional. Link to channel function; Starting point DMX Mode

Macro children are specified in table 65

Table 65. Macro Children

XML nodeMandatoryDescription
MacroDMXNoThis section defines a DMX sequence.
Macro DMX

This section defines the sequence of DMX values which are sent by a control system. (XML node <MacroDMX>). As children the macro DMX has a list of MacroDMXStep.

Macro DMX Step

This section defines a DMX step (XML node <MacroDMXStep>). The currently defined XML attributes of the macro DMX step are specified in table 66.

Table 66. Macro DMX Step Attributes

XML Attribute NameValue TypeDescription
DurationFloatDuration of a step; Default value: 1; Unit: seconds.

As children the macro DMX -Step has a list of a DMX Value.

DMX Value

This section defines the value for DMX channel (XML node ). The currently defined XML attributes of the DMX Value are specified in table 67.

Table 67. DMX Value Attributes

XML Attribute NameValue TypeDescription
ValueDMXValueValue of the DMX channel
DMXChannelNodeLink to a DMX channel. Starting node DMX Channel collect.

The DMX value does not have any children.

Revision Collect

General

This section defines the history of device type. Revision collect currently does not have any XML attributes (XML node <Revisions>). As children the revision collect has a list of a revision.

Revision

This section defines one revision of a the device type (XML node Revision>). Revisions are optional. Every time a GDTF file is uploaded to the database, a revision with the actual time and UserID is created by the database. The currently defined XML attributes of the revision are specified in table 68.

Table 68. Revision Attributes

XML Attribute NameValue TypeDescription
TextStringUser-defined text for this revision; Default value: empty
DateDateRevision date and time
UserIDUintUserID of the user that has uploaded the GDTF file to the database; Default value: 0
ModifiedByStringName of the software that modified this revision; Default value: empty

The revision does not have any children.

Fixture Type Preset Collect

General

This section defines fixture type specific presets. It currently does not have any XML attributes (XML node FTPresets>). As children the Fixture Preset Collect has a list of FTPreset (fixture type preset).

Fixture Type Preset

This section has not yet been defined (XML node <FTPreset>).

Supported Protocol Collect

General

If the device supports one or several additional protocols, these protocol specific information have to be specified. The supported protocol collect currently does not have any XML attributes (XML node <Protocols>). Children of supported protocol collect are specified in table 69.

Table 69. Supported Protocol Collect Children

XML nodeMandatoryDescription
RDMNoDescribes RDM information
Art-NetNoDescribes Art-Net information
sACNNoDescribes sACN information
PosiStageNetNoDescribes PosiStageNet information
OpenSoundControlNoDescribes OpenSoundControl information
CITPNoDescribes CITP information

RDM Section

If the device supports the RDM protocol, this section defines the corresponding information (XML node <FTRDM>). The currently defined XML attributes of RDM are specified in table 70.

Table 70. RDM Attributes

XML Attribute NameValue TypeDescription
ManufacturerIDHexManufacturer ESTA ID
DeviceModelIDHexUnique device model ID

As children the FTRDM has a list of SoftwareVersionID.

SoftwareVersionID

General

For each supported software version add an XML node <SoftwareVersionID>. The currently defined XML attributes are specified in table 71.

Table 71. SoftwareVersionID

XML Attribute NameValue TypeDescription
ValueHexSoftware version ID

As children the SoftwareVersionID has a list of DMXPersonality.

DMXPersonality

To define the supported software versions add an XML node <DMXPersonality>. The currently defined XML attributes are specified in table 72.

Table 72. DMXPersonality

XML Attribute NameValue TypeDescription
ValueHexHex Value of the DMXPersonality
DMXModeNameLink to the DMX Mode that can be used with this software version.

The DMXPersonality does not have any children.

Art-Net Section

General

If the device supports the Art-Net protocol, this section defines the corresponding information (XML node <Art-Net>).

As children the Art-Net has a list of Maps.

To define a custom mapping between Art-Net values and DMX Stream values you can add an XML node <Map> as a child. The currently defined XML attributes are specified in table 73.

By default, it is assumed that all the values are mapped 1:1, so only when you differ from that you can add a custom map.

Map

Table 73. Map Attributes

XML Attribute NameValue TypeDescription
KeyUintValue of the Artnet value.
ValueUintValue of the DMX value.

Streaming ACN Section

General

If the device supports the Streaming ACN protocol, this section defines the corresponding information (XML node <sACN>).

As children the Streaming ACN has a list of Maps.

To define a custom mapping between Streaming ACN values and DMX Stream values you can add an XML node <Map> as a child. The currently defined XML attributes are specified in table 73.

By default, it is assumed that all the values are mapped 1:1, so only when you differ from that you can add a custom map.

Posi Stage Net Section

This section has not yet been defined (XML node <PosiStageNet>).

Open Sound Control Section

This is intentionally left empty. Future settings for custom OpenSoundControl behavior can be defined in later version. (XML node <OpenSoundControl>).

CITP Section

This section has not yet been defined (XML node <CITP>).