Developer:Davaar:VolumeService
Architecture Overview
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.
Volume
Volume is an adjustable setting that controls the loudness of the audio at the output channels of the product. Volume can be set to an absolute value or incremented/decremented in single steps. The maximum Volume setting is defined by the current value of VolumeLimit. The minimum Volume setting is zero. If an attempt is made to set the Volume above VolumeLimit, the Volume will be set to the VolumLimit. If an attempt is made to set the Volume above VolumeMax, an error will be reported.
Volume Limit
VolumeLimit specifies the upper limit of the Volume. Any attempt to set Volume above the VolumeLimit will reset Volume to the value of VolumeLimit. If VolumeLimit is changed, Volume is checked and automatically reduced if necessary. The maximum VolumeLimit setting is defined by the VolumeMax Characteristic.
Balance
Balance is an adjustable setting that specifies the bias in volume between the left and right output channels of the product. Balance can be set to an absolute value or incremented/decremented in single steps. The maximum Balance setting is defined by the BalanceMax Characteristic. The minimum Balance setting is defined by (-BalanceMax) .
Fade
Fade is an adjustable setting that specifies the bias in volume between the front and rear output channels of the products. Fade can be set to an absolute value or incremented/decremented in single steps. The maximum Fade setting is defined by the FadeMax Characteristic. The minimum Fade setting is defined by (-FadeMax) .
Mute
Mute is an adjustable state that determines if the output channels of the product are muted or not. When muted, all output channels of the product are silent.
Characterstics
Each product has six read only values that define its volume Characteristics.
VolumeMax
VolumeMax defines the absolute maximum Volume setting.
VolumeUnity
VolumeUnity defines the value of Volume that will result in unity system gain (ie output amplitude = input amplitude).
VolumeSteps
VolumeSteps defines the number of step increments required to increase the Volume from zero to VolumeMax.
VolumeMilliDbPerStep
VolumeMilliDbPerStep defines the size of each volume step in binary milli decibels (bmdB). [1024bmdB = 1dB]
BalanceMax
BalanceMax defines the maximum Balance setting. The minimum Balance setting is (-BalanceMax)
FadeMax
FadeMax defines the maximum Fade setting. The minimum Fade setting is (-FadeMax)
Action
Volume
The Volume action reports the current Volume setting.
SetVolume
The SetVolume action provides a means of setting the Volume to an absolute value.
Volume Inc
The VolumeInc action provides a means of increasing the Volume by 1.
Volume Dec
The VolumeDec action provides a means of decreasing the Volume by 1.
VolumeLimit
The VolumeLimit action reports the current VolumeLimit setting.
Balance
The Balance action reports the current Balance setting.
SetBalance
The SetBalance action provides a means of setting the Balance to a specific value.
BalanceInc
The BalanceInc action provides a means of increasing the Balance by 1.
BalanceDec
The BalanceDec action provides a means of decreasing the Balance by 1.
Fade
The Fade action reports the current Fade setting of the product.
SetFade
The SetFade action provides a means of setting the Fade to a specific value.
FadeInc
The FadeIncaction provides a means of increasing the Fade by 1.
FadeDec
The FadeDec action provides a means of decreasing the Fade by 1.
Mute
The Mute action reports the current Mute state of the product.
SetMute
The SetMute action provides a means of setting the Mute state.
Characteristics
The Characteristics action returns all six characteristic values of the product.
API Reference
Volume Service Description (XML)
Migration Guide
The Volume service replaces the Preamp service that existed in Cara. All preamp actions relating to configuration have been removed as part of the migration to the Volume service. The exception to this is the VolumeLimit action. This can be used to read the current value of the VolumeLimit.
The domain for the Cara Preamp service was linn.co.uk. The domain for the Volume service is av.openhome.org.
Actions
Volume
The arguments have changed their names as follows:
- aVolume -> Value
SetVolume
The arguments have changed their names as follows:
- aVolume -> Value
Balance
The arguments have changed their names as follows:
- aBalance -> Value
SetBalance
The arguments have changed their names as follows:
- aBalance -> Value
Mute
The arguments have changed their names as follows:
- aMute -> Value
SetMute
The arguments have changed their names as follows:
- aMute -> Value
VolumeLimit
The arguments have changed their names as follows:
- aVolumeLimit -> Value
Fade
This is a new action.
SetFade
This is a new action.
FadeInc
This is a new action.
FadeDec
This is a new action.
BalanceInc
This is a new action.
BalanceDec
This is a new action.
Characteristics
This is a new action.
Obsolete Preamp Functions
- SetVolumeLimit
- SetStartupVolume
- StartupVolume
- SetStartupVolumeEnabled
- StartupVolumeEnabled