GLDF Release v1.0.rc3
Today we have published the third release candidate of version 1.0. The changelog can be found on Github as always: GLDF v1.0.rc3.
Below is a short guide on how to migrate existing GLDFs from rc.2 to the new rc.3 version. We have kept the changes to a minimum.
How to upgrade
Reference the new XSD and update the FormatVersion
element as follows:
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/1.0.0-rc.3/gldf.xsd">
<Header>
<Manufacturer>Acme</Manufacturer>
<FormatVersion major="1" minor="0" pre-release="3" />
...
Possible breaking changes
Cylinder plane
attribute removed
Should you use the Cylinder simple geometry element with its plane
attribute set, then you have to remove this attribute. The default Cylinder plane orientation is now the same as in Eulumdat.
<GeneralDefinitions>
<Geometries>
<SimpleGeometry id="cylinder200">
<Cylinder>
<Diameter>200</Diameter>
<Height>500</Height>
</Cylinder>
<CircularEmitter>
<Diameter>190</Diameter>
</CircularEmitter>
</SimpleGeometry>
</Geometries>
</GeneralDefinitions>
New features
LightSource combinations
With the new version, the different types within LightSources can now be combined. This was not possible till now, so that a GLDF had to consist of 1-n ChangeableLightSource
or 1-n FixedLightSource
exclusively. This has been extended to depict luminaires with combinations of changeable light sources with fixed LEDs - or even multi channel light sources now, see below.
Multi channel luminaires
With release candidate 3, the GLDF now supports multi channel luminaires. For this purpose, a new LightSource element called MultiChannelLightSource
has been introduced. As well as a corresponding emitter called MultiChannelLightEmitter
, which references this LightSource. The documentation for both will follow soon here (LightSource) and here (Emitters).
XML example
<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://gldf.io/xsd/gldf/1.0.0-rc.3/gldf.xsd">
<Header>
<Manufacturer>Acme</Manufacturer>
<FormatVersion major="1" minor="0" pre-release="3"/>
<CreatedWithApplication>Visual Studio Code</CreatedWithApplication>
<GldfCreationTimeCode>2023-06-23T08:00:00Z</GldfCreationTimeCode>
<UniqueGldfId>1d485787-7eee-4e75-aba4-e4c4875e69f9</UniqueGldfId>
</Header>
<GeneralDefinitions>
<Files>
<File id="photometryRedFile" contentType="ldc/eulumdat"
type="url">http://example.org/photometryRed.ldt</File>
<File id="photometryGreenFile" contentType="ldc/eulumdat"
type="url">http://example.org/photometryGreen.ldt</File>
<File id="photometryBlueFile" contentType="ldc/eulumdat"
type="url">http://example.org/photometryBlue.ldt</File>
<File id="spectrumRedFile" contentType="spectrum/text"
type="url">http://example.org/spectrumRed.txt</File>
<File id="spectrumGreenFile" contentType="spectrum/text"
type="url">http://example.org/spectrumGreen.txt</File>
<File id="spectrumBlueFile" contentType="spectrum/text"
type="url">http://example.org/spectrumBlue.txt</File>
<File id="lightSourceImage" contentType="image/jpg"
type="url">http://example.org/image.jpg</File>
</Files>
<Photometries>
<Photometry id="photometryRed">
<PhotometryFileReference fileId="photometryRedFile"/>
</Photometry>
<Photometry id="photometryGreen">
<PhotometryFileReference fileId="photometryGreenFile"/>
</Photometry>
<Photometry id="photometryBlue">
<PhotometryFileReference fileId="photometryBlueFile"/>
</Photometry>
</Photometries>
<Spectrums>
<Spectrum id="spectrumRed">
<SpectrumFileReference fileId="spectrumRedFile"/>
</Spectrum>
<Spectrum id="spectrumGreen">
<SpectrumFileReference fileId="spectrumGreenFile"/>
</Spectrum>
<Spectrum id="spectrumBlue">
<SpectrumFileReference fileId="spectrumBlueFile"/>
</Spectrum>
</Spectrums>
<LightSources>
<MultiChannelLightSource id="multiChannelLightSource">
<Name>
<Locale language="en">RGB MultiChannel</Locale>
</Name>
<RatedInputPower>50</RatedInputPower>
<LightSourceImages>
<Image fileId="lightSourceImage" imageType="Product Picture"/>
</LightSourceImages>
<Channels>
<Channel type="Red">
<DisplayName>
<Locale language="en">Red channel</Locale>
<Locale language="de">Roter Kanal</Locale>
</DisplayName>
<SpectrumReference spectrumId="spectrumRed"/>
<PhotometryReference photometryId="photometryRed"/>
<RatedLuminousFlux>150</RatedLuminousFlux>
</Channel>
<Channel type="Green">
<DisplayName>
<Locale language="en">Green channel</Locale>
<Locale language="de">Grüner Kanal</Locale>
</DisplayName>
<SpectrumReference spectrumId="spectrumGreen"/>
<PhotometryReference photometryId="photometryGreen"/>
<RatedLuminousFlux>160</RatedLuminousFlux>
</Channel>
<Channel type="Blue">
<DisplayName>
<Locale language="en">Blue channel</Locale>
<Locale language="de">Blauer Kanal</Locale>
</DisplayName>
<SpectrumReference spectrumId="spectrumBlue"/>
<PhotometryReference photometryId="photometryBlue"/>
<RatedLuminousFlux>140</RatedLuminousFlux>
</Channel>
</Channels>
</MultiChannelLightSource>
</LightSources>
<ControlGears>
<ControlGear id="controlGear">
<Name>
<Locale language="en">Electronic ballast</Locale>
</Name>
<NominalVoltage>
<VoltageRange>
<Min>220</Min>
<Max>230</Max>
</VoltageRange>
</NominalVoltage>
<StandbyPower>5</StandbyPower>
<Dimmable>true</Dimmable>
<ColorControllable>true</ColorControllable>
</ControlGear>
</ControlGears>
<Emitters>
<Emitter id="emitter">
<MultiChannelLightEmitter>
<LightSourceReference multiChannelLightSourceId="multiChannelLightSource"/>
<ControlGearReference controlGearId="controlGear"/>
</MultiChannelLightEmitter>
</Emitter>
</Emitters>
</GeneralDefinitions>
<ProductDefinitions>
<ProductMetaData>
<UniqueProductId>6a911f84-b812-4e29-9622-6b971f6ae202</UniqueProductId>
<ProductNumber>
<Locale language="en">123</Locale>
</ProductNumber>
<Name>
<Locale language="en">MultiChannel example</Locale>
</Name>
</ProductMetaData>
<Variants>
<Variant id="variant1">
<Name>
<Locale language="en">MultiChannel example variant</Locale>
</Name>
<Geometry>
<EmitterReference emitterId="emitter"/>
</Geometry>
</Variant>
</Variants>
</ProductDefinitions>
</Root>