Bug 15657 - CLI enhancement: getexternalvolumeinfo notification
: CLI enhancement: getexternalvolumeinfo notification
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Documentation
: unspecified
: All All
: -- enhancement (vote)
: ---
Assigned To: Michael Herger
: ipeng
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-02-08 04:53 UTC by Joerg Schwieder
Modified: 2013-05-02 13:26 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joerg Schwieder 2010-02-08 04:53:42 UTC
This is a documentation enhancement and should be included in the SBS CLI documentation.
It's not about server behavior but plugin behavior used by a number of plugins (IRBlaster, DenonSerial, DenonAVP/AVR Control) and currently supported by iPeng, probably some other clients soon.

Notification syntax:

<playerid> getexternalvolumeinfo <taggedParameters>

This notification notifies a client that a plugin supports volume change capability for a player.
This capability will override (from a user point of view) the "digitalVolumeControl" flag that indicates whether a player's output is fixed to a certain volume (typically 100%).
This will be used by pluginjs providing external volume control, e.g. for an amplifier (IRBlaster being an example). In this scenario, the volume output of the player is typically fixed but there is still a volume control capability and the plugin control the amp's volume instead.
The purpose of this notification is to let a client know that there is a volume control capability associated to a player.

Use:

getexternalvolumeinfo

Sending a "getexternalvolumeinfo" command triggers all plugins supporting the feature to return a notification about their capabilities for each player for which they provide these capabilities.
The command may be sent to a specific player but typically a plugin will ignore this and respond to any getexternalvolumeinfo command for each player.

Returned tagged parameters:

Tag 	Description
relative 	A boolean value stating that a plugin is able to provide relative volume change capability for this player as in "mixer volume +5"
precise 	A boolean value stating that a plugin is able to provide precise volume change capability for this player as in "mixer volume 75"
plugin 		is an optional string naming the plugin providing the capability

Example:

Request: "getexternalvolumeinfo<LF>"
Response 1: "a5:41:d2:cd:cd:05 getexternalvolumeinfo relative:1 plugin:IRBlaster"
Response 2: "a5:41:d2:cd:cd:05 getexternalvolumeinfo precise:1 plugin:DenonSerial"
Comment 1 Chris Owens 2010-03-26 11:12:21 UTC
I fixed the default assignee for these bugs since Dylan is no longer with us.
Comment 2 Alan Young 2011-11-06 23:24:40 UTC
Unassigned bugs cannot have a priority.
Comment 3 Michael Herger 2013-05-01 08:26:07 UTC
Jörg - is this a feature built in to LMS or some 3rd party plugin? I can't find any code dealing with this.
Comment 4 Joerg Schwieder 2013-05-01 11:20:29 UTC
No, there is no server code, that's why I called it a documentation enhancement.

The protocol described is used by plugins to communicate to a client (controller) that they do change the default volume control behavior of the server so it doesn't apply to the server itself.

A number of plugins use it, e.g. IRBlaster, some of the Denon plugins and at least one other one but I forgot which it was.

At least iPeng and SqueezeCommander support it on the controller side, probably some other Apps, too, at least I have answered questions of other App developers about it.
Comment 5 Michael Herger 2013-05-02 07:25:40 UTC
Committed to 7.8.
Comment 6 Joerg Schwieder 2013-05-02 12:29:32 UTC
Am I correct to assume that this in the CLI doc now (sorry, don't use the git version, yet)?
Cool, Thanks!
Comment 7 Michael Herger 2013-05-02 13:26:50 UTC
(In reply to comment #6)
> Am I correct to assume that this in the CLI doc now (sorry, don't use the
> git version, yet)?

Yes, in the Notifications section of 7.8