1 <?xml version="1.0" encoding="UTF-8"?> 2 <ComponentTypeSet xmlns:xi="http://www.w3.org/2001/XInclude" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:noNamespaceSchemaLocation="Schemas/ComponentTypeSet.xsd"> 5 <ComponentType Name="VolumeCurvePoints"> 6 <ParameterBlock Name="curve_points" ArrayLength="4" Mapping="VolumeProfile:'%1'" 7 Description="4 points to define the volume attenuation curve, each 8 characterized by the volume index (from 0 to 100) at which 9 they apply, and the attenuation in dB at that index. 10 We use 100 steps to avoid rounding errors when computing 11 the volume"> 12 <IntegerParameter Name="index" Size="32"/> 13 <FixedPointParameter Name="db_attenuation" Size="16" Integral="7" Fractional="8"/> 14 </ParameterBlock> 15 </ComponentType> 16 17 <ComponentType Name="VolumeCurvesCategories"> 18 <Component Name="headset_device_category" Type="VolumeCurvePoints" Mapping="Category:0"/> 19 <Component Name="speaker_device_category" Type="VolumeCurvePoints" Mapping="Category:1"/> 20 <Component Name="earpiece_device_category" Type="VolumeCurvePoints" Mapping="Category:2"/> 21 <Component Name="extmedia_device_category" Type="VolumeCurvePoints" Mapping="Category:3"/> 22 </ComponentType> 23 24 </ComponentTypeSet> 25 26 27