User:Mateuszokroj1/sandbox

= General Device Type Format =

The General Device Type Format is a file format that is used to describe fixtures of the entertainment industry. This allows to define the geometry and how it reacts to DMX input.

A GDTF file consists of an XML file that contains the description and several resource files such as geometry data and gobo images. The format for 3D data is 3DS and for images PNG. These files are bundled in a ZIP archive without compression.

The General Device Type Format (GDTF) creates a unified data exchange definition for the operation of intelligent luminaires, such as moving lights. By creating a manufacturer-supported, unified standard, customers/users of lighting control systems, CAD systems, and pre-visualizers benefit by knowing the tools they use to perform their job will work consistently and dependably. The file format is developed using open source formats, and luminaire manufacturers in the entertainment design, production, and performance industries are welcome to use this open source technology.

Structure
To describe the device type, use the uncompressed zip file with the extension. The archive contains a  file (with the description of the device type and all DMX modes and all firmware revisions of this device) and resource files. Some of the resource files are located in a folder structure. A characteristic GDTF file looks like this:

Zip archive name is to be specified as follows:  Example:

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

More details on GDTF wiki.

Implementation
First GDTF file support has been added in the MA GrandMA 3 console with the first software version. At the same time, the option to convert the GDTF file to a format supported by older consoles from this manufacturer has been added to the Fixture Share platform. In December 2019, ChamSys, the MagicQ software manufacturer, announced the addition of the option to import the GDTF format to its consoles.

Version 1.0

 * Geometry Type Axis: Removed xml attributes "From", "To" and "Speed";
 * Changed enumeration of attribute names;
 * Node Revision: added XML attribute "UserID";
 * Revisions are optional now. Every time a GDTF file is uploaded to GDTF-Share.com a revision with the actual time and UserID is created by the GDTF-Share;
 * Geometry Type Geometry Reference: XML attribute "Model" added.
 * All Geometry Nodes: XML attribute "Model" now uses value type "Name".
 * Node Model: Changed description of XML attribute "File";
 * ChannelFunction: removed XML attribute DMXInvert;
 * DMX Mode Children: Removed RDM Personality;
 * Node DMXPersonality: Changed Value type of XML attribute DMXMode;
 * Physical Description: Updated definition of emitters;
 * Physical Description: Added definition of filters;
 * Channel Function: Added XML attribute "Filter";
 * Wheel Slot: Added XML attribute "Filter";
 * Physical Description: Added definition of color space for indirect color mixing;
 * Updated suggested names for Geometry Type "Geometry" and "Axis";
 * Updated appendix A and B due to rework and addition of attributes;
 * DMXChannel: Removed XML attributes "Coarse", "Fine", "Ultra" and "Uber" and added XML attribute "Offset" instead.
 * Fixture Type Node: Added XML attribute "LongName";
 * Fixture Type Node: Changed description of XML attribute "ShortName";
 * Fixture Type Node: Changed description of XML attribute "Manufacturer";

Version 0.9

 * Geometries are now always referenced by Name and not by Node Link;
 * Fixed glitch in spec regarding ZIP-archive;
 * Updated example for Data Version;
 * Updated description of Model Node - Replaced wheel slot by model;
 * Geometry type Beam: Changed name of xml attribute "LuminousIntensity" to "LuminousFlux";
 * Changed definition of value type "Date" corresponding to UTC;
 * Maximum count of vertices is now defined per device and not per model;
 * Removed optional checksum per file;
 * Fixture type node: Added .svg as additional resource type for thumbnail;
 * Changed maximum resolution of png files for thumbnail and wheel slot to 1024x1024;
 * Updated format of value type "GUID" corresponding to RFC 4122 ;
 * Defined folder structure for resource files;
 * Links to all resource files do not have a file extension any longer;
 * Added first iteration of media server attributes;
 * Added table for allowable UTF-8 chars for Names;
 * Node ChannelSet: Changed description of xml attribute "WheelSlotIndex";
 * Defined more clearly how the wheel slot index is created;
 * Updated RDM Section;
 * Node DMXChannel: The xml attribute "Frequency" was removed;
 * Node ChannelFunction: The xml attribute "EncoderInvert" was removed;
 * Moved xml attributes "MibFade" and "DMXChangeTimeLimit" from the DMXChannel to the LogicalChannel;

Version 0.88

 * Node ChannelSet: Removed defaults in xml attributes PhysicalFrom and PhysicalTo;
 * Node ChannelSet: Changed description of xml attributes Name and DMXFrom;
 * Node DMXChannel: Changed description of xml attribute Default;
 * Node Relation: Renamed xml attribute Slave to Follower;
 * Node Relation: Removed xml attributes DMXFrom and DMXTo;
 * Node Relation: Removed relation type “Mode”;
 * Node ChannelFunction: Added xml attributes ModeMaster, ModeFrom and ModeTo;
 * Added attributes CIE_X, CIE_Y and CIE_Brightness;
 * Reworked and added further attributes for gobo wheel, color wheel, color mixing and prism.
 * Updated Appendix A and Appendix B as per changes made in attributes.

Version 0.87

 * Changing format of type Matrix and Rotation;
 * New xml attribute of DMX Channel - Uber;
 * Attribute has no more Special xml attribute;
 * Pigtail position should not be specified in 2D or 3D files anymore. Instead of it should be created a general geometry and linked to a model with primitive type “Pigtail”;
 * Measurement point does not have DMX and Color xml properties anymore;
 * Added specification to 3D mesh;
 * Added new part Color rendering index collect;
 * Added new part Supported protocol collect and moved RDM section to this part;
 * GDTF file should have extension “.gdtf”;
 * Subattributes are no more part of GDTF. Instead Attributes get a new xml attribute “MainAttribute”;
 * Macro Collect moved into DMX Mode and is defined;
 * Channel Set has no more xml attribute Real Fade;
 * Defined measurement resolution for Emitters;
 * Logical Channel and DMX Channel has an automatically generated name, which cannot be specified in xml.

Version 0.86

 * Changing xml tag for Emitter collect;
 * XML node “Master” moved from Channel Function to Logical Channel;
 * New predefined values for primitive type of model;
 * Lamp geometry type is renamed to Beam;
 * New name suggestion of General Geometry;
 * Attribute has new xml attribute – “Special”;
 * Default SubAttribute for Channel Function is NoFeature;
 * Fixture Type has new xml attribute “RefFT”;
 * RealFade xml attribute has type float;
 * Renaming of xml Attribute MibFadeFrame to MibFade, type float;
 * Changing type of xml attribute DMXChangeTimeLimit to float;
 * Beam has new xml attribute FieldAngle;
 * Wheel no longer has the xml attribute “SubAttribute”;
 * Changing xml tags of EmitterCollect to Emitters; DMXProfileCollect to DMXProfiles;
 * New Type “DMXValue”, used to specify DMX values like Default or DMXFrom;
 * Adjusted names of predefined ActivationGroups, Attributes and Subattributes;
 * Removed predefined Attributes “MasterIntensity”, REDALL, GREENALL, BLUEALL, AMBERALL, WHITEALL;
 * Removed ActivationGroup “ColorRGBALL”.

Version 0.85

 * Internal xml file has a static name “description.xml”.
 * DMX mode collect should contain all modes and all firmware revisions.