It would be great if the library could expose the audio signal information from the current source. Knowing the current sound mode (e.g. "PCM") and channel count is quite useful for automations (automatically switch to suitable output mode).
Sound and video information can be queried through the AppCommand0300.xml interface with the following XML:
<?xml version="1.0" encoding="utf-8"?>
<tx>
<cmd id="3">
<name>GetInputSignal</name>
<list>
<param name="inputsigall"></param>
</list>
</cmd>
<cmd id="3">
<name>GetActiveSpeaker</name>
<list>
<param name="activespall"></param>
</list>
</cmd>
<cmd id="3">
<name>GetVideoInfo</name>
<list>
<param name="videooutput"></param>
<param name="hdmisigin"></param>
<param name="hdmisigout"></param>
</list>
</cmd>
<cmd id="3">
<name>GetAudioInfo</name>
<list>
<param name="inputmode"></param>
<param name="output"></param>
<param name="signal"></param>
<param name="sound"></param>
<param name="fs"></param>
</list>
</cmd>
<cmd id="3">
<name>GetAudyssyInfo</name>
<list>
<param name="eqname"></param>
<param name="eqvalue"></param>
<param name="dynamiceq"></param>
<param name="dynamicvol"></param>
</list>
</cmd>
</tx>
Command to query:
curl -X POST -H "Content-Type: application/xml" --data-binary @foo.xml http://192.168.20.22:8080/goform/AppCommand0300.xml
Output (for PCM 2.0):
<?xml version="1.0" encoding="utf-8" ?>
<rx>
<cmd>
<name>GetInputSignal</name>
<list>
<param name="inputsiga1" control="1">FHL</param>
<param name="inputsigb1" control="1">LFE</param>
<param name="inputsigc1" control="0"></param>
<param name="inputsigd1" control="1">EXT</param>
<param name="inputsige1" control="1">FHR</param>
<param name="inputsiga2" control="1">FWL</param>
<param name="inputsigb2" control="2">FL</param>
<param name="inputsigc2" control="1">C</param>
<param name="inputsigd2" control="2">FR</param>
<param name="inputsige2" control="1">FWR</param>
<param name="inputsiga3" control="0">SHL</param>
<param name="inputsigb3" control="1">SL</param>
<param name="inputsigc3" control="0">TS</param>
<param name="inputsigd3" control="1">SR</param>
<param name="inputsige3" control="0">SHR</param>
<param name="inputsiga4" control="0"></param>
<param name="inputsigb4" control="1">SBL</param>
<param name="inputsigc4" control="1">SB</param>
<param name="inputsigd4" control="1">SBR</param>
<param name="inputsige4" control="0"></param>
</list>
</cmd>
<cmd>
<name>GetActiveSpeaker</name>
<list>
<param name="activespa1" control="1">TFL</param>
<param name="activespb1" control="2">SW</param>
<param name="activespc1" control="0"></param>
<param name="activespd1" control="0"></param>
<param name="activespe1" control="1">TFR</param>
<param name="activespa2" control="0"></param>
<param name="activespb2" control="2">FL</param>
<param name="activespc2" control="1">C</param>
<param name="activespd2" control="2">FR</param>
<param name="activespe2" control="0"></param>
<param name="activespa3" control="0"></param>
<param name="activespb3" control="1">SL</param>
<param name="activespc3" control="0"></param>
<param name="activespd3" control="1">SR</param>
<param name="activespe3" control="0"></param>
<param name="activespa4" control="1">TRL</param>
<param name="activespb4" control="1">SBL</param>
<param name="activespc4" control="0"></param>
<param name="activespd4" control="1">SBR</param>
<param name="activespe4" control="1">TRR</param>
</list>
</cmd>
<cmd>
<name>GetVideoInfo</name>
<list>
<param name="videooutput" control="1">Monitor 1</param>
<param name="hdmisigin" control="1">4K50</param>
<param name="hdmisigout" control="1">--- </param>
</list>
</cmd>
<cmd>
<name>GetAudioInfo</name>
<list>
<param name="inputmode" control="1">HDMI</param>
<param name="output" control="1">Speaker</param>
<param name="signal" control="1">PCM </param>
<param name="sound" control="1">Stereo</param>
<param name="fs" control="1">48 kHz</param>
</list>
</cmd>
<cmd>
<name>GetAudyssyInfo</name>
<list>
<param name="eqname" control="0">MultEQ XT32</param>
<param name="eqvalue" control="0">Off</param>
<param name="dynamiceq" control="0">Off</param>
<param name="dynamicvol" control="0">Off</param>
</list>
</cmd>
</rx>
Regarding speaker/channel config: the speakers/channels with the control="2" attribute are the ones which are active. control="1" are the channels which are available on the device (the ones with speakers connected).
The above example is from a Denon AVR X4800H.
It would be great if the library could expose the audio signal information from the current source. Knowing the current sound mode (e.g. "PCM") and channel count is quite useful for automations (automatically switch to suitable output mode).
Sound and video information can be queried through the
AppCommand0300.xmlinterface with the following XML:Command to query:
Output (for PCM 2.0):
Regarding speaker/channel config: the speakers/channels with the
control="2"attribute are the ones which are active.control="1"are the channels which are available on the device (the ones with speakers connected).The above example is from a Denon AVR X4800H.