<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.openhome.org/mediawiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.openhome.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Av%3ADeveloper%3AEriskay%3AVolumeService</id>
		<title>Av:Developer:Eriskay:VolumeService - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.openhome.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Av%3ADeveloper%3AEriskay%3AVolumeService"/>
		<link rel="alternate" type="text/html" href="http://wiki.openhome.org/mediawiki/index.php?title=Av:Developer:Eriskay:VolumeService&amp;action=history"/>
		<updated>2026-05-12T22:56:21Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://wiki.openhome.org/mediawiki/index.php?title=Av:Developer:Eriskay:VolumeService&amp;diff=1309&amp;oldid=prev</id>
		<title>Simonc: Created page with &quot;= Volume Service = == Overview == The Volume service provides a means of controlling various settings which affect the product's volume (signal amplitude) measured at the output ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.openhome.org/mediawiki/index.php?title=Av:Developer:Eriskay:VolumeService&amp;diff=1309&amp;oldid=prev"/>
				<updated>2015-12-15T13:00:03Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Volume Service = == Overview == The Volume service provides a means of controlling various settings which affect the product&amp;#39;s volume (signal amplitude) measured at the output ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Volume Service =&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Volume service provides a means of controlling various settings which affect the product's volume (signal amplitude) measured at the output channels.  A product may have one or more output channels. Balance or Fade settings may result in different volumes at each output.  In the Mute state, all output channels are reduced to zero volume. &lt;br /&gt;
&lt;br /&gt;
If a device's [[Av:Developer:Eriskay:ProductService | Product]] service reports an attribute &amp;lt;tt&amp;gt;&amp;quot;Volume&amp;quot;&amp;lt;/tt&amp;gt;, then that device is guaranteed to bear the Volume service.  If the Volume service is available, all its properties and actions must be fully implemented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; is an adjustable setting that controls the loudness of the audio at the output channels of the product.  It can be set to an absolute value or incremented/decremented in single steps of integrator-defined size.  The maximum &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; setting is defined by the current value of &amp;lt;tt&amp;gt;VolumeLimit&amp;lt;/tt&amp;gt;.  The minimum Volume setting is always zero.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Balance&amp;lt;/tt&amp;gt; is an adjustable setting that specifies the bias in volume between  left and right output channels.  A setting of zero results in neutral balance (i.e. no bias applied) between left and right output channels.  Negative values amplify left and attenuate right output channels.  Conversely, positive values attenuate left and amplify right output channels.  Increasing absolute values result in progressively larger amplification/attenuation being applied to output channels in this asymmetric manner.  At or near the maximum settings, the attenuated channels may ended up being effectively reduced to volume zero.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Fade&amp;lt;/tt&amp;gt; is an adjustable setting that specifies the bias in volume between the front and rear output channels.&lt;br /&gt;
&lt;br /&gt;
== Evented Properties ==&lt;br /&gt;
=== Volume ===&lt;br /&gt;
The current user volume setting, i.e. an integer value in the range &amp;lt;tt&amp;gt;[0..VolumeLimit]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Mute ===&lt;br /&gt;
A boolean setting indicating whether all output channels are currently forced to zero volume.&lt;br /&gt;
&lt;br /&gt;
Note that (un)muting a product has no effect on its &amp;lt;tt&amp;gt;TransportState&amp;lt;/tt&amp;gt; or it's ability to send audio to other rooms.&lt;br /&gt;
&lt;br /&gt;
=== VolumeLimit ===&lt;br /&gt;
User-imposed (soft) maximum volume setting.  Must be in the range &amp;lt;tt&amp;gt;[0..VolumeMax]&amp;lt;/tt&amp;gt;; other values will be ignored.&lt;br /&gt;
&lt;br /&gt;
=== VolumeMax ===&lt;br /&gt;
System-imposed (hard) maximum volume setting.  Must be exactly divisible by &amp;lt;tt&amp;gt;VolumeSteps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== VolumeUnity ===&lt;br /&gt;
System-specific volume setting that results in the input signal amplitude equalling the output signal amplitude (0dB gain), i.e. an integer in the range &amp;lt;tt&amp;gt;[0..VolumeMax]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Values in the range &amp;lt;tt&amp;gt;[0..VolumeUnity)&amp;lt;/tt&amp;gt; will be attenuated.  Values in the range &amp;lt;tt&amp;gt;(VolumeUnity..VolumeLimit]&amp;lt;/tt&amp;gt; will be amplified.&lt;br /&gt;
&lt;br /&gt;
=== VolumeSteps ===&lt;br /&gt;
System-specific number of user-visible volume steps that would increase the volume from zero to &amp;lt;tt&amp;gt;VolumeMax&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== UnityGain ===&lt;br /&gt;
&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if the active source as reported by the [&amp;quot;ProductServiceEriskay&amp;quot; Product] service is already volume controlled; &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise.&lt;br /&gt;
&lt;br /&gt;
Changes to &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; will be accepted while &amp;lt;tt&amp;gt;UnityGain&amp;lt;/tt&amp;gt; is enabled but will have no immediate effect.&lt;br /&gt;
&lt;br /&gt;
=== Balance ===&lt;br /&gt;
Current setting of bias between left and right output channels, i.e. an integer value in the range &amp;lt;tt&amp;gt;[-BalanceMax..+BalanceMax]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Negative values amplify left and attenuate right output channels.  Conversely, positive values attenuate left and amplify right output channels.&lt;br /&gt;
&lt;br /&gt;
A value of zero specifies no bias.&lt;br /&gt;
&lt;br /&gt;
=== BalanceMax ===&lt;br /&gt;
System-specific balance value for maximum bias between left and right channels.&lt;br /&gt;
&lt;br /&gt;
=== Fade ===&lt;br /&gt;
Current setting of bias between front and back output channels, i.e. an integer value in the range &amp;lt;tt&amp;gt;[-FadeMax..+FadeMax]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A value of zero specifies no bias.&lt;br /&gt;
&lt;br /&gt;
=== FadeMax ===&lt;br /&gt;
System-specific fade value for maximum bias between front and rear between channels.&lt;br /&gt;
&lt;br /&gt;
== Actions ==&lt;br /&gt;
=== Characteristics ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out uint volMax, out uint volUnity, out uint volSteps, out uint balanceMax, out uint fadeMax)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the values of the system-specified properties which do not change at run-time - &amp;lt;tt&amp;gt;VolumeMax&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;VolumeUnity&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;VolumeSteps&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;BalanceMax&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;FadeMax&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Volume ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out uint volume)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the current value of the &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
=== SetVolume ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (in uint volume)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; property to an absolute value.&lt;br /&gt;
&lt;br /&gt;
Any attempt to set a value above the &amp;lt;tt&amp;gt;VolumeLimit&amp;lt;/tt&amp;gt; must reset &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;VolumeLimit&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== VolumeInc ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: None&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Increase &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;VolumeMax / VolumeSteps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Volume Dec ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: None&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Decrease &amp;lt;tt&amp;gt;Volume&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;VolumeMax / VolumeSteps&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== VolumeLimit ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out uint limit)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the value of the &amp;lt;tt&amp;gt;VolumeLimit&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
=== UnityGain ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out uint unityGain)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the value of the &amp;lt;tt&amp;gt;UnityGain&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
=== Balance ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out int balance)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the value of the &amp;lt;tt&amp;gt;Balance&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
=== SetBalance ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (in int balance)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the &amp;lt;tt&amp;gt;Balance&amp;lt;/tt&amp;gt; property to an absolute value.&lt;br /&gt;
&lt;br /&gt;
=== BalanceInc===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: None&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Increase &amp;lt;tt&amp;gt;Balance&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== BalanceDec ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: None&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Decrease &amp;lt;tt&amp;gt;Balance&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Fade ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out int fade)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the value of the &amp;lt;tt&amp;gt;Fade&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
=== SetFade ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (in int fade)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the &amp;lt;tt&amp;gt;Fade&amp;lt;/tt&amp;gt; property to an absolute value.&lt;br /&gt;
&lt;br /&gt;
=== FadeInc ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: None&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Increase &amp;lt;tt&amp;gt;Fade&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== FadeDec ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: None&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Decrease &amp;lt;tt&amp;gt;Fade&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Mute ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (out bool mute)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Return the value of the &amp;lt;tt&amp;gt;Mute&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
=== SetMute(in bool mute) ===&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
Arguments: (in bool mute)&lt;br /&gt;
&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Set the &amp;lt;tt&amp;gt;Mute&amp;lt;/tt&amp;gt; property.&lt;br /&gt;
&lt;br /&gt;
== UPnP Service Description ==&lt;br /&gt;
For devices supporting the UPnP protocol, the service description is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;name: &amp;quot;Volume&amp;quot; &lt;br /&gt;
&amp;lt;br&amp;gt;domain: &amp;quot;openhome.org.eriskay&amp;quot; &lt;br /&gt;
&amp;lt;br&amp;gt;version: &amp;quot;1&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;scpd xmlns=&amp;quot;urn:schemas-upnp-org:service-1-0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;specVersion&amp;gt;&lt;br /&gt;
    &amp;lt;major&amp;gt;1&amp;lt;/major&amp;gt;&lt;br /&gt;
    &amp;lt;minor&amp;gt;0&amp;lt;/minor&amp;gt;&lt;br /&gt;
  &amp;lt;/specVersion&amp;gt;&lt;br /&gt;
  &amp;lt;actionList&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Characteristics&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;VolumeMax&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;VolumeMax&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;VolumeUnity&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;VolumeUnity&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;VolumeSteps&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;VolumeSteps&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;BalanceMax&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;BalanceMax&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;FadeMax&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;FadeMax&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;SetVolume&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;in&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Volume&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeInc&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeDec&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Volume&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Volume&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;SetBalance&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;in&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Balance&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;BalanceInc&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;BalanceDec&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Balance&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Balance&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;SetFade&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;in&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Fade&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;FadeInc&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;FadeDec&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Fade&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Fade&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;SetMute&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;in&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Mute&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Mute&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;Mute&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeLimit&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;VolumeLimit&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
    &amp;lt;action&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;UnityGain&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;argumentList&amp;gt;&lt;br /&gt;
        &amp;lt;argument&amp;gt;&lt;br /&gt;
          &amp;lt;name&amp;gt;Value&amp;lt;/name&amp;gt;&lt;br /&gt;
          &amp;lt;direction&amp;gt;out&amp;lt;/direction&amp;gt;&lt;br /&gt;
          &amp;lt;relatedStateVariable&amp;gt;UnityGain&amp;lt;/relatedStateVariable&amp;gt;&lt;br /&gt;
        &amp;lt;/argument&amp;gt;&lt;br /&gt;
      &amp;lt;/argumentList&amp;gt;&lt;br /&gt;
    &amp;lt;/action&amp;gt;&lt;br /&gt;
  &amp;lt;/actionList&amp;gt;&lt;br /&gt;
  &amp;lt;serviceStateTable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Volume&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Mute&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;boolean&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Balance&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;i4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Fade&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;i4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeLimit&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeMax&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeUnity&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;VolumeSteps&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;UnityGain&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;boolean&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;BalanceMax&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
    &amp;lt;stateVariable sendEvents=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;FadeMax&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;dataType&amp;gt;ui4&amp;lt;/dataType&amp;gt;&lt;br /&gt;
    &amp;lt;/stateVariable&amp;gt;&lt;br /&gt;
  &amp;lt;/serviceStateTable&amp;gt;&lt;br /&gt;
&amp;lt;/scpd&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Simonc</name></author>	</entry>

	</feed>