<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="g_hyphen">
        <xs:restriction base="xs:string">
            <xs:pattern value="-"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_float_or_hyphen">
        <xs:union memberTypes="xs:float g_hyphen"/>
    </xs:simpleType>

    <xs:simpleType name="g_vector_float">
        <xs:list itemType="g_float_or_hyphen"/>
    </xs:simpleType>

    <xs:simpleType name="g_string">
        <xs:annotation><xs:appinfo><typeStr>String</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_l10n_string">
        <xs:annotation><xs:appinfo><typeStr>String or l10n key</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_float">
        <xs:annotation><xs:appinfo><typeStr>Float</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:float"/>
    </xs:simpleType>

    <xs:simpleType name="g_angle">
        <xs:annotation><xs:appinfo><typeStr>Angle</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:float"/>
    </xs:simpleType>

    <xs:simpleType name="g_time">
        <xs:annotation><xs:appinfo><typeStr>Time in seconds</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:float"/>
    </xs:simpleType>

    <xs:simpleType name="g_int">
        <xs:annotation><xs:appinfo><typeStr>Integer</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:integer"/>
    </xs:simpleType>

    <xs:simpleType name="g_bool">
        <xs:annotation><xs:appinfo><typeStr>Boolean</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="true|false"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_node_index">
        <xs:annotation><xs:appinfo><typeStr>Index to i3d node or i3d mapping identifier</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_node_indices">
        <xs:annotation><xs:appinfo><typeStr>List of indices to i3d nodes or i3d mapping identifiers</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="g_vector_2">
        <xs:annotation><xs:appinfo><typeStr>Multiple values (x, y)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_3">
        <xs:annotation><xs:appinfo><typeStr>Multiple values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_4">
        <xs:annotation><xs:appinfo><typeStr>Multiple values (x, y, z, w)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_n">
        <xs:annotation><xs:appinfo><typeStr>Multiple values</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float"/>
    </xs:simpleType>

    <xs:simpleType name="g_vector_trans">
        <xs:annotation><xs:appinfo><typeStr>Translation values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_rot">
        <xs:annotation><xs:appinfo><typeStr>Rotation values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_rot_2">
        <xs:annotation><xs:appinfo><typeStr>Rotation values (x, y)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_vector_scale">
        <xs:annotation><xs:appinfo><typeStr>Scale values (x, y, z)</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="g_vector_float">
            <xs:pattern value="\S+ \S+ \S+"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="g_color">
        <xs:annotation><xs:appinfo><typeStr>Color values (r, g, b) or brand color id</typeStr></xs:appinfo></xs:annotation>
        <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:complexType name="AnimatedObject">
        <xs:all>
            <xs:element name="attributes" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:choice maxOccurs="unbounded">
                        <xs:element name="clearList" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="keepIndex" type="g_int">
                                    <xs:annotation><xs:documentation xml:lang="en">Index of list to keep</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="path" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">List to clear but keep one item</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="remove" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="path" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Path to remove from parent xml</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="set" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="path" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Path change in parent xml</xs:documentation></xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="value" type="g_string">
                                    <xs:annotation><xs:documentation xml:lang="en">Target value to set in parent file</xs:documentation></xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                </xs:complexType>
            </xs:element>
        </xs:all>
        <xs:attribute name="xmlFilename" type="g_string">
            <xs:annotation><xs:documentation xml:lang="en">Remove vehicle if unit empty</xs:documentation></xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:element name="animatedObjects">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="animatedObject" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="animation" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="clip" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:attribute name="filename" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">I3d animation external animation</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="name" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">I3d animation clipName</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="rootNode" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">I3d animation rootnode</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="part" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="keyFrame" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="rotation" type="g_vector_rot">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key rotation</xs:documentation><xs:appinfo><defaultStr>values read from i3d node</defaultStr></xs:appinfo></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="scale" type="g_vector_scale">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key scale</xs:documentation><xs:appinfo><defaultStr>values read from i3d node</defaultStr></xs:appinfo></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="time" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key time</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="translation" type="g_vector_trans">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key translation</xs:documentation><xs:appinfo><defaultStr>values read from i3d node</defaultStr></xs:appinfo></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="visibility" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key visibility</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="node" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">Part node</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="shader" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="keyFrame" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="time" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key time</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="values" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Key shader parameter values. Use &apos;-&apos; to force using existing shader parameter value</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="node" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">Shader node</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="parameterName" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Shader parameter name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="duration" type="g_float" default="3">
                                        <xs:annotation><xs:documentation xml:lang="en">Animation duration (sec.)</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="initialTime" type="g_float" default="0">
                                        <xs:annotation><xs:documentation xml:lang="en">Animation time after loading</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="controls" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="negAction" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Negative direction action event name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="negText" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Negative direction text</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="posAction" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Positive direction action event name</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="posText" type="g_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Positive direction text</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="triggerNode" type="g_node_index">
                                        <xs:annotation><xs:documentation xml:lang="en">Player trigger node</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="openingHours" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="closedText" type="g_l10n_string">
                                        <xs:annotation><xs:documentation xml:lang="en">Closed text</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="disableIfClosed" type="g_bool">
                                        <xs:annotation><xs:documentation xml:lang="en">Disabled if closed</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="endTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">End day time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="startTime" type="g_float">
                                        <xs:annotation><xs:documentation xml:lang="en">Start day time</xs:documentation></xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="sounds" minOccurs="0" maxOccurs="1">
                                <xs:complexType>
                                    <xs:choice maxOccurs="unbounded">
                                        <xs:element name="moving" minOccurs="0" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="loopSynthesisLoad" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="loopSynthesisRpm" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassCutoffFrequency" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="indoor" type="g_float" default="5000">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="5000">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassGain" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="0.8">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassResonance" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="indoor" type="g_float" default="2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass resonance</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass resonance</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="pitch" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="randomization" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="isInside" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Randomization is applied inside</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="isOutside" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Randomization is applied outside</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxLowpassGain" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxPitch" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxVolume" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minLowpassGain" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minPitch" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minVolume" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Min volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="sourceRandomization" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="file" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="volume" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="0.8">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="debug" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Flag to enable debug rendering</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fadeIn" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fade in time in seconds</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fadeOut" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fade out time in seconds</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="file" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="innerRadius" type="g_float" default="80">
                                                    <xs:annotation><xs:documentation xml:lang="en">Inner radius</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="isLocalSound" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">While set for vehicle sounds it will only play for the player currently using the vehicle</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="linkNode" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">Link node for 3d sound</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="linkNodeOffset" type="g_vector_trans">
                                                    <xs:annotation><xs:documentation xml:lang="en">Sound source will be offset by this value to the link node</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="loops" type="g_int" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Number of loops (0 = infinite)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="loopSynthesisRPMRatio" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Ratio between rpm in the gls file and actual rpm of the motor (e.g. 0.9: max. rpm in the gls file will be reached at 90% of motor rpm)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lowpassGainScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional lowpass gain that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="outerRadius" type="g_float" default="5">
                                                    <xs:annotation><xs:documentation xml:lang="en">Outer radius</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="parent" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Parent sample for heredity</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="pitchScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional pitch that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="supportsReverb" type="g_bool" default="true">
                                                    <xs:annotation><xs:documentation xml:lang="en">Flag to disable reverb</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="template" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Sound template name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="volumeScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional scale that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="negEnd" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="loopSynthesisLoad" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="loopSynthesisRpm" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassCutoffFrequency" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="indoor" type="g_float" default="5000">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="5000">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassGain" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="0.8">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassResonance" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="indoor" type="g_float" default="2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass resonance</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass resonance</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="pitch" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="randomization" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="isInside" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Randomization is applied inside</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="isOutside" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Randomization is applied outside</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxLowpassGain" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxPitch" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxVolume" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minLowpassGain" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minPitch" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minVolume" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Min volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="sourceRandomization" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="file" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="volume" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="0.8">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="debug" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Flag to enable debug rendering</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fadeIn" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fade in time in seconds</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fadeOut" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fade out time in seconds</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="file" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="innerRadius" type="g_float" default="80">
                                                    <xs:annotation><xs:documentation xml:lang="en">Inner radius</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="isLocalSound" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">While set for vehicle sounds it will only play for the player currently using the vehicle</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="linkNode" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">Link node for 3d sound</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="linkNodeOffset" type="g_vector_trans">
                                                    <xs:annotation><xs:documentation xml:lang="en">Sound source will be offset by this value to the link node</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="loops" type="g_int" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Number of loops (0 = infinite)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="loopSynthesisRPMRatio" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Ratio between rpm in the gls file and actual rpm of the motor (e.g. 0.9: max. rpm in the gls file will be reached at 90% of motor rpm)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lowpassGainScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional lowpass gain that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="outerRadius" type="g_float" default="5">
                                                    <xs:annotation><xs:documentation xml:lang="en">Outer radius</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="parent" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Parent sample for heredity</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="pitchScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional pitch that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="supportsReverb" type="g_bool" default="true">
                                                    <xs:annotation><xs:documentation xml:lang="en">Flag to disable reverb</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="template" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Sound template name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="volumeScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional scale that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="posEnd" minOccurs="0" maxOccurs="1">
                                            <xs:complexType>
                                                <xs:choice maxOccurs="unbounded">
                                                    <xs:element name="loopSynthesisLoad" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="loopSynthesisRpm" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassCutoffFrequency" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="indoor" type="g_float" default="5000">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="5000">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass cutoff frequency</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassGain" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="0.8">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="lowpassResonance" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:attribute name="indoor" type="g_float" default="2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor lowpass resonance</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="2">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor lowpass resonance</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="pitch" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="randomization" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="isInside" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Randomization is applied inside</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="isOutside" type="g_bool" default="true">
                                                                <xs:annotation><xs:documentation xml:lang="en">Randomization is applied outside</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxLowpassGain" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxPitch" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="maxVolume" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minLowpassGain" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max lowpass gain</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minPitch" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Max pitch</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="minVolume" type="g_float">
                                                                <xs:annotation><xs:documentation xml:lang="en">Min volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="sourceRandomization" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>
                                                            <xs:attribute name="file" type="g_string">
                                                                <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                    <xs:element name="volume" minOccurs="0" maxOccurs="1">
                                                        <xs:complexType>
                                                            <xs:choice maxOccurs="unbounded">
                                                                <xs:element name="modifier" minOccurs="0" maxOccurs="unbounded">
                                                                    <xs:complexType>
                                                                        <xs:attribute name="modifiedValue" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Change that is applied on sample value</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="type" type="g_string">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                        <xs:attribute name="value" type="g_float">
                                                                            <xs:annotation><xs:documentation xml:lang="en">Source value of modifier type</xs:documentation></xs:annotation>
                                                                        </xs:attribute>
                                                                    </xs:complexType>
                                                                </xs:element>
                                                            </xs:choice>
                                                            <xs:attribute name="indoor" type="g_float" default="0.8">
                                                                <xs:annotation><xs:documentation xml:lang="en">Indoor volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                            <xs:attribute name="outdoor" type="g_float" default="1">
                                                                <xs:annotation><xs:documentation xml:lang="en">Outdoor volume</xs:documentation></xs:annotation>
                                                            </xs:attribute>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="debug" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">Flag to enable debug rendering</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fadeIn" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fade in time in seconds</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="fadeOut" type="g_float" default="0">
                                                    <xs:annotation><xs:documentation xml:lang="en">Fade out time in seconds</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="file" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Path to sound sample</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="innerRadius" type="g_float" default="80">
                                                    <xs:annotation><xs:documentation xml:lang="en">Inner radius</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="isLocalSound" type="g_bool" default="false">
                                                    <xs:annotation><xs:documentation xml:lang="en">While set for vehicle sounds it will only play for the player currently using the vehicle</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="linkNode" type="g_node_index">
                                                    <xs:annotation><xs:documentation xml:lang="en">Link node for 3d sound</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="linkNodeOffset" type="g_vector_trans">
                                                    <xs:annotation><xs:documentation xml:lang="en">Sound source will be offset by this value to the link node</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="loops" type="g_int" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Number of loops (0 = infinite)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="loopSynthesisRPMRatio" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Ratio between rpm in the gls file and actual rpm of the motor (e.g. 0.9: max. rpm in the gls file will be reached at 90% of motor rpm)</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="lowpassGainScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional lowpass gain that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="outerRadius" type="g_float" default="5">
                                                    <xs:annotation><xs:documentation xml:lang="en">Outer radius</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="parent" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Parent sample for heredity</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="pitchScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional pitch that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="supportsReverb" type="g_bool" default="true">
                                                    <xs:annotation><xs:documentation xml:lang="en">Flag to disable reverb</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="template" type="g_string">
                                                    <xs:annotation><xs:documentation xml:lang="en">Sound template name</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute name="volumeScale" type="g_float" default="1">
                                                    <xs:annotation><xs:documentation xml:lang="en">Additional scale that is applied on the volume attributes</xs:documentation></xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                        </xs:all>
                        <xs:attribute name="saveId" type="g_string" default="AnimatedObject_[nodeName]">
                            <xs:annotation><xs:documentation xml:lang="en">Save identifier</xs:documentation></xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
                <xs:element name="parentFile" type="AnimatedObject" minOccurs="0" maxOccurs="1"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
