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