From cd04edc9b3c6cfdfaad65190d9f39d9fb517a4e2 Mon Sep 17 00:00:00 2001 From: Oliver <10700296+ol-iver@users.noreply.github.com> Date: Tue, 24 Sep 2024 00:57:57 +0200 Subject: [PATCH] Validate for all models if sound mode and tone control are supported (#306) * Validate for all models if sound mode is supported * Validate if tone control is supported * Allow status.xml as fallback for sound mode --- denonavr/denonavr.py | 9 +- denonavr/soundmode.py | 83 +++++++++++-------- denonavr/tonecontrol.py | 70 +++++++++++----- tests/test_denonavr.py | 6 +- ...V7703-AppCommand-update-soundmode-8080.xml | 6 ++ ...703-AppCommand-update-tonecontrol-8080.xml | 11 +++ ...8500H-AppCommand-update-soundmode-8080.xml | 6 ++ ...00H-AppCommand-update-tonecontrol-8080.xml | 11 +++ ...3700H-AppCommand-update-soundmode-8080.xml | 6 ++ ...00H-AppCommand-update-tonecontrol-8080.xml | 11 +++ .../AVR-1713-AppCommand-update-soundmode.xml | 6 ++ ...AVR-1713-AppCommand-update-tonecontrol.xml | 4 + .../AVR-1912-AppCommand-update-soundmode.xml | 3 + ...AVR-1912-AppCommand-update-tonecontrol.xml | 3 + ...AVR-2312CI-AppCommand-update-soundmode.xml | 3 + ...R-2312CI-AppCommand-update-tonecontrol.xml | 3 + ...AVR-3311CI-AppCommand-update-soundmode.xml | 3 + ...R-3311CI-AppCommand-update-tonecontrol.xml | 3 + .../AVR-3312-AppCommand-update-soundmode.xml | 4 + ...AVR-3312-AppCommand-update-tonecontrol.xml | 4 + .../AVR-3313-AppCommand-update-soundmode.xml | 6 ++ ...AVR-3313-AppCommand-update-tonecontrol.xml | 4 + .../AVR-4810-AppCommand-update-soundmode.xml | 4 + ...AVR-4810-AppCommand-update-tonecontrol.xml | 4 + ...AVR-X1100W-AppCommand-update-soundmode.xml | 6 ++ ...R-X1100W-AppCommand-update-tonecontrol.xml | 11 +++ ...VR-X2000-2-AppCommand-update-soundmode.xml | 3 + ...-X2000-2-AppCommand-update-tonecontrol.xml | 3 + .../AVR-X2000-AppCommand-update-soundmode.xml | 3 + ...VR-X2000-AppCommand-update-tonecontrol.xml | 3 + ...R-X2100W-2-AppCommand-update-soundmode.xml | 3 + ...X2100W-2-AppCommand-update-tonecontrol.xml | 3 + ...AVR-X2100W-AppCommand-update-soundmode.xml | 3 + ...R-X2100W-AppCommand-update-tonecontrol.xml | 3 + .../AVR-X4000-AppCommand-update-soundmode.xml | 6 ++ ...VR-X4000-AppCommand-update-tonecontrol.xml | 4 + ...AVR-X4100W-AppCommand-update-soundmode.xml | 6 ++ ...R-X4100W-AppCommand-update-tonecontrol.xml | 11 +++ ...4300H-AppCommand-update-soundmode-8080.xml | 6 ++ ...00H-AppCommand-update-tonecontrol-8080.xml | 11 +++ .../M-CR510-2-AppCommand-update-soundmode.xml | 6 ++ ...-CR510-2-AppCommand-update-tonecontrol.xml | 4 + .../M-CR510-AppCommand-update-soundmode.xml | 6 ++ .../M-CR510-AppCommand-update-tonecontrol.xml | 4 + .../M-CR603-AppCommand-update-soundmode.xml | 4 + .../M-CR603-AppCommand-update-tonecontrol.xml | 4 + .../M-RC610-AppCommand-update-soundmode.xml | 3 + .../M-RC610-AppCommand-update-tonecontrol.xml | 3 + .../NR1604-AppCommand-update-soundmode.xml | 3 + .../NR1604-AppCommand-update-tonecontrol.xml | 3 + ...R1609-AppCommand-update-soundmode-8080.xml | 6 ++ ...609-AppCommand-update-tonecontrol-8080.xml | 11 +++ .../SR5008-AppCommand-update-soundmode.xml | 3 + .../SR5008-AppCommand-update-tonecontrol.xml | 3 + .../SR6011-AppCommand-update-soundmode.xml | 6 ++ .../SR6011-AppCommand-update-tonecontrol.xml | 11 +++ ...R6012-AppCommand-update-soundmode-8080.xml | 6 ++ ...012-AppCommand-update-tonecontrol-8080.xml | 11 +++ 58 files changed, 396 insertions(+), 59 deletions(-) create mode 100644 tests/xml/AV7703-AppCommand-update-soundmode-8080.xml create mode 100644 tests/xml/AV7703-AppCommand-update-tonecontrol-8080.xml create mode 100644 tests/xml/AVC-8500H-AppCommand-update-soundmode-8080.xml create mode 100644 tests/xml/AVC-8500H-AppCommand-update-tonecontrol-8080.xml create mode 100644 tests/xml/AVC-X3700H-AppCommand-update-soundmode-8080.xml create mode 100644 tests/xml/AVC-X3700H-AppCommand-update-tonecontrol-8080.xml create mode 100644 tests/xml/AVR-1713-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-1713-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-1912-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-1912-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-2312CI-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-2312CI-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-3311CI-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-3311CI-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-3312-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-3312-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-3313-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-3313-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-4810-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-4810-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X1100W-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X1100W-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X2000-2-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X2000-2-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X2000-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X2000-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X2100W-2-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X2100W-2-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X2100W-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X2100W-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X4000-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X4000-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X4100W-AppCommand-update-soundmode.xml create mode 100644 tests/xml/AVR-X4100W-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/AVR-X4300H-AppCommand-update-soundmode-8080.xml create mode 100644 tests/xml/AVR-X4300H-AppCommand-update-tonecontrol-8080.xml create mode 100644 tests/xml/M-CR510-2-AppCommand-update-soundmode.xml create mode 100644 tests/xml/M-CR510-2-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/M-CR510-AppCommand-update-soundmode.xml create mode 100644 tests/xml/M-CR510-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/M-CR603-AppCommand-update-soundmode.xml create mode 100644 tests/xml/M-CR603-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/M-RC610-AppCommand-update-soundmode.xml create mode 100644 tests/xml/M-RC610-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/NR1604-AppCommand-update-soundmode.xml create mode 100644 tests/xml/NR1604-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/NR1609-AppCommand-update-soundmode-8080.xml create mode 100644 tests/xml/NR1609-AppCommand-update-tonecontrol-8080.xml create mode 100644 tests/xml/SR5008-AppCommand-update-soundmode.xml create mode 100644 tests/xml/SR5008-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/SR6011-AppCommand-update-soundmode.xml create mode 100644 tests/xml/SR6011-AppCommand-update-tonecontrol.xml create mode 100644 tests/xml/SR6012-AppCommand-update-soundmode-8080.xml create mode 100644 tests/xml/SR6012-AppCommand-update-tonecontrol-8080.xml diff --git a/denonavr/denonavr.py b/denonavr/denonavr.py index 6c47856d..71485cdb 100644 --- a/denonavr/denonavr.py +++ b/denonavr/denonavr.py @@ -146,7 +146,7 @@ async def async_setup(self) -> None: # Setup other functions self.input.setup() await self.soundmode.async_setup() - self.tonecontrol.setup() + await self.tonecontrol.async_setup() self.vol.setup() self.audyssey.setup() @@ -320,7 +320,7 @@ def input_func_list(self) -> List[str]: @property def support_sound_mode(self) -> Optional[bool]: - """Return True if sound mode supported.""" + """Return True if sound mode is supported.""" return self.soundmode.support_sound_mode @property @@ -435,6 +435,11 @@ def show_all_inputs(self) -> Optional[bool]: """Indicate if all inputs are shown or just active one.""" return self._show_all_inputs + @property + def support_tone_control(self) -> Optional[bool]: + """Return True if tone control is supported.""" + return self.tonecontrol.support_tone_control + @property def tone_control_status(self) -> Optional[bool]: """Return value of tone control status.""" diff --git a/denonavr/soundmode.py b/denonavr/soundmode.py index 1782fca5..2adc5d17 100644 --- a/denonavr/soundmode.py +++ b/denonavr/soundmode.py @@ -16,14 +16,8 @@ import attr from .appcommand import AppCommands -from .const import ( - ALL_ZONE_STEREO, - AVR_X, - AVR_X_2016, - DENON_ATTR_SETATTR, - SOUND_MODE_MAPPING, -) -from .exceptions import AvrCommandError, AvrProcessingError +from .const import ALL_ZONE_STEREO, DENON_ATTR_SETATTR, SOUND_MODE_MAPPING +from .exceptions import AvrCommandError, AvrIncompleteResponseError, AvrProcessingError from .foundation import DenonAVRFoundation _LOGGER = logging.getLogger(__name__) @@ -94,6 +88,7 @@ class DenonAVRSoundMode(DenonAVRFoundation): init=False, ) _setup_lock: asyncio.Lock = attr.ib(default=attr.Factory(asyncio.Lock)) + _appcommand_active: bool = attr.ib(converter=bool, default=True, init=False) # Update tags for attributes # AppCommand.xml interface @@ -106,16 +101,14 @@ async def async_setup(self) -> None: """Ensure that the instance is initialized.""" async with self._setup_lock: _LOGGER.debug("Starting sound mode setup") - # Add tags for a potential AppCommand.xml update - for tag in self.appcommand_attrs: - self._device.api.add_appcommand_update_tag(tag) - - # Soundmode is always available for AVR-X and AVR-X-2016 receivers - # For AVR receiver it will be tested during the first update - if self._device.receiver in [AVR_X, AVR_X_2016]: - self._support_sound_mode = True - else: - await self.async_update_sound_mode() + + # The first update determines if sound mode is supported + await self.async_update_sound_mode() + + if self._support_sound_mode and self._appcommand_active: + # Add tags for a potential AppCommand.xml update + for tag in self.appcommand_attrs: + self._device.api.add_appcommand_update_tag(tag) self._device.telnet_api.register_callback( "MS", self._async_soundmode_callback @@ -157,29 +150,47 @@ async def async_update_sound_mode( "Device is not setup correctly, update method not set" ) - if self._device.use_avr_2016_update: - await self.async_update_attrs_appcommand( - self.appcommand_attrs, global_update=global_update, cache_id=cache_id - ) - else: - urls = [self._device.urls.status, self._device.urls.mainzone] - if self._is_setup and not self._support_sound_mode: + if self._is_setup and not self._support_sound_mode: + return + + if self._device.use_avr_2016_update and self._appcommand_active: + try: + await self.async_update_attrs_appcommand( + self.appcommand_attrs, + global_update=global_update, + cache_id=cache_id, + ) + except (AvrProcessingError, AvrIncompleteResponseError): + self._appcommand_active = False + _LOGGER.debug( + "Appcommand.xml does not support Sound mode. " + "Testing status.xml interface next" + ) + else: + if not self._is_setup: + self._support_sound_mode = True + _LOGGER.info("Sound mode supported") return - # There are two different options of sound mode tags + + urls = [self._device.urls.status, self._device.urls.mainzone] + # There are two different options of sound mode tags + try: + await self.async_update_attrs_status_xml( + self.status_xml_attrs_01, urls, cache_id=cache_id + ) + except AvrProcessingError: try: await self.async_update_attrs_status_xml( - self.status_xml_attrs_01, urls, cache_id=cache_id + self.status_xml_attrs_02, urls, cache_id=cache_id ) except AvrProcessingError: - try: - await self.async_update_attrs_status_xml( - self.status_xml_attrs_02, urls, cache_id=cache_id - ) - except AvrProcessingError: - _LOGGER.info("Sound mode not supported") - self._support_sound_mode = False - return + self._support_sound_mode = False + _LOGGER.info("Sound mode not supported") + return + + if not self._is_setup: self._support_sound_mode = True + _LOGGER.info("Sound mode supported") def match_sound_mode(self) -> Optional[str]: """Match the raw_sound_mode to its corresponding sound_mode.""" @@ -252,7 +263,7 @@ async def _async_set_all_zone_stereo(self, zst_on: bool) -> None: ############## @property def support_sound_mode(self) -> Optional[bool]: - """Return True if sound mode supported.""" + """Return True if sound mode is supported.""" return self._support_sound_mode @property diff --git a/denonavr/tonecontrol.py b/denonavr/tonecontrol.py index 096357d2..ef616e1d 100644 --- a/denonavr/tonecontrol.py +++ b/denonavr/tonecontrol.py @@ -7,6 +7,7 @@ :license: MIT, see LICENSE for more details. """ +import asyncio import logging import time from collections.abc import Hashable @@ -16,7 +17,7 @@ from .appcommand import AppCommandCmdParam, AppCommands from .const import DENON_ATTR_SETATTR -from .exceptions import AvrCommandError, AvrProcessingError +from .exceptions import AvrCommandError, AvrIncompleteResponseError, AvrProcessingError from .foundation import DenonAVRFoundation, convert_string_int_bool _LOGGER = logging.getLogger(__name__) @@ -26,6 +27,9 @@ class DenonAVRToneControl(DenonAVRFoundation): """This class implements tone control functions of Denon AVR receiver.""" + _support_tone_control: Optional[bool] = attr.ib( + converter=attr.converters.optional(bool), default=None + ) _tone_control_status: Optional[bool] = attr.ib( converter=attr.converters.optional(convert_string_int_bool), default=None ) @@ -44,22 +48,31 @@ class DenonAVRToneControl(DenonAVRFoundation): _treble_level: Optional[str] = attr.ib( converter=attr.converters.optional(str), default=None ) + _setup_lock: asyncio.Lock = attr.ib(default=attr.Factory(asyncio.Lock)) # Update tags for attributes # AppCommand.xml interface appcommand_attrs = {AppCommands.GetToneControl: None} - def setup(self) -> None: + async def async_setup(self) -> None: """Ensure that the instance is initialized.""" - # Add tags for a potential AppCommand.xml update - for tag in self.appcommand_attrs: - self._device.api.add_appcommand_update_tag(tag) + async with self._setup_lock: + _LOGGER.debug("Starting tone control setup") - self._device.telnet_api.register_callback( - "PS", self._async_sound_detail_callback - ) + # The first update determines if sound mode is supported + await self.async_update_tone_control() + + # Add tags for a potential AppCommand.xml update + if self.support_tone_control: + for tag in self.appcommand_attrs: + self._device.api.add_appcommand_update_tag(tag) + + self._device.telnet_api.register_callback( + "PS", self._async_sound_detail_callback + ) - self._is_setup = True + self._is_setup = True + _LOGGER.debug("Finished tone control setup") async def _async_sound_detail_callback( self, zone: str, event: str, parameter: str @@ -88,7 +101,7 @@ async def async_update( _LOGGER.debug("Starting tone control update") # Ensure instance is setup before updating if not self._is_setup: - self.setup() + await self.async_setup() # Update state await self.async_update_tone_control( @@ -105,17 +118,29 @@ async def async_update_tone_control( "Device is not setup correctly, update method not set" ) + if self._is_setup and not self._support_tone_control: + return + # Tone control is only available for avr 2016 update - if self._device.use_avr_2016_update: - try: - await self.async_update_attrs_appcommand( - self.appcommand_attrs, - global_update=global_update, - cache_id=cache_id, - ) - except AvrProcessingError as err: - # Don't raise an error here, because not all devices support it - _LOGGER.debug("Updating tone control failed: %s", err) + if not self._device.use_avr_2016_update: + self._support_tone_control = False + _LOGGER.info("Tone control not supported") + return + + try: + await self.async_update_attrs_appcommand( + self.appcommand_attrs, + global_update=global_update, + cache_id=cache_id, + ) + except (AvrProcessingError, AvrIncompleteResponseError): + self._support_tone_control = False + _LOGGER.info("Tone control not supported") + return + + if not self._is_setup: + self._support_tone_control = True + _LOGGER.info("Tone control supported") async def async_set_tone_control_command( self, parameter_type: str, value: int @@ -134,6 +159,11 @@ async def async_set_tone_control_command( ############## # Properties # ############## + @property + def support_tone_control(self) -> Optional[bool]: + """Return True if tone control is supported.""" + return self._support_tone_control + @property def tone_control_status(self) -> Optional[bool]: """Return value of tone control status.""" diff --git a/tests/test_denonavr.py b/tests/test_denonavr.py index 140213af..b4088c7d 100644 --- a/tests/test_denonavr.py +++ b/tests/test_denonavr.py @@ -126,8 +126,12 @@ def custom_matcher(self, request: httpx.Request, *args, **kwargs): content_str = request.read().decode("utf-8") if "GetFriendlyName" in content_str: ep_suffix = "-setup" - else: + elif "GetAllZoneSource" in content_str: ep_suffix = "-update" + elif "GetSurroundModeStatus" in content_str: + ep_suffix = "-update-soundmode" + else: + ep_suffix = "-update-tonecontrol" content = get_sample_content( f"{self.testing_receiver}-AppCommand{ep_suffix}{port_suffix}.xml" ) diff --git a/tests/xml/AV7703-AppCommand-update-soundmode-8080.xml b/tests/xml/AV7703-AppCommand-update-soundmode-8080.xml new file mode 100644 index 00000000..e0c1f312 --- /dev/null +++ b/tests/xml/AV7703-AppCommand-update-soundmode-8080.xml @@ -0,0 +1,6 @@ + + + +Dolby Digital + + Neural:X + + diff --git a/tests/xml/AV7703-AppCommand-update-tonecontrol-8080.xml b/tests/xml/AV7703-AppCommand-update-tonecontrol-8080.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/AV7703-AppCommand-update-tonecontrol-8080.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + diff --git a/tests/xml/AVC-8500H-AppCommand-update-soundmode-8080.xml b/tests/xml/AVC-8500H-AppCommand-update-soundmode-8080.xml new file mode 100644 index 00000000..8aa71030 --- /dev/null +++ b/tests/xml/AVC-8500H-AppCommand-update-soundmode-8080.xml @@ -0,0 +1,6 @@ + + + +DTS Neo:X Cinema + + \ No newline at end of file diff --git a/tests/xml/AVC-8500H-AppCommand-update-tonecontrol-8080.xml b/tests/xml/AVC-8500H-AppCommand-update-tonecontrol-8080.xml new file mode 100644 index 00000000..a9e37109 --- /dev/null +++ b/tests/xml/AVC-8500H-AppCommand-update-tonecontrol-8080.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + \ No newline at end of file diff --git a/tests/xml/AVC-X3700H-AppCommand-update-soundmode-8080.xml b/tests/xml/AVC-X3700H-AppCommand-update-soundmode-8080.xml new file mode 100644 index 00000000..5824ac31 --- /dev/null +++ b/tests/xml/AVC-X3700H-AppCommand-update-soundmode-8080.xml @@ -0,0 +1,6 @@ + + + +Stereo + + diff --git a/tests/xml/AVC-X3700H-AppCommand-update-tonecontrol-8080.xml b/tests/xml/AVC-X3700H-AppCommand-update-tonecontrol-8080.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/AVC-X3700H-AppCommand-update-tonecontrol-8080.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + diff --git a/tests/xml/AVR-1713-AppCommand-update-soundmode.xml b/tests/xml/AVR-1713-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..b3ff1378 --- /dev/null +++ b/tests/xml/AVR-1713-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + +PLII Game + + diff --git a/tests/xml/AVR-1713-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-1713-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..c929ceaa --- /dev/null +++ b/tests/xml/AVR-1713-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ + + +2 + diff --git a/tests/xml/AVR-1912-AppCommand-update-soundmode.xml b/tests/xml/AVR-1912-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..92f6c409 --- /dev/null +++ b/tests/xml/AVR-1912-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form Deviceinfo.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-1912-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-1912-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..92f6c409 --- /dev/null +++ b/tests/xml/AVR-1912-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form Deviceinfo.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-2312CI-AppCommand-update-soundmode.xml b/tests/xml/AVR-2312CI-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..92f6c409 --- /dev/null +++ b/tests/xml/AVR-2312CI-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form Deviceinfo.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-2312CI-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-2312CI-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..92f6c409 --- /dev/null +++ b/tests/xml/AVR-2312CI-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form Deviceinfo.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-3311CI-AppCommand-update-soundmode.xml b/tests/xml/AVR-3311CI-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..92f6c409 --- /dev/null +++ b/tests/xml/AVR-3311CI-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form Deviceinfo.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-3311CI-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-3311CI-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..92f6c409 --- /dev/null +++ b/tests/xml/AVR-3311CI-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form Deviceinfo.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-3312-AppCommand-update-soundmode.xml b/tests/xml/AVR-3312-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a72ef641 --- /dev/null +++ b/tests/xml/AVR-3312-AppCommand-update-soundmode.xml @@ -0,0 +1,4 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

+ diff --git a/tests/xml/AVR-3312-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-3312-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..a72ef641 --- /dev/null +++ b/tests/xml/AVR-3312-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

+ diff --git a/tests/xml/AVR-3313-AppCommand-update-soundmode.xml b/tests/xml/AVR-3313-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a07c4e9f --- /dev/null +++ b/tests/xml/AVR-3313-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + +PLII Cinema + + diff --git a/tests/xml/AVR-3313-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-3313-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..c929ceaa --- /dev/null +++ b/tests/xml/AVR-3313-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ + + +2 + diff --git a/tests/xml/AVR-4810-AppCommand-update-soundmode.xml b/tests/xml/AVR-4810-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a72ef641 --- /dev/null +++ b/tests/xml/AVR-4810-AppCommand-update-soundmode.xml @@ -0,0 +1,4 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

+ diff --git a/tests/xml/AVR-4810-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-4810-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..a72ef641 --- /dev/null +++ b/tests/xml/AVR-4810-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

+ diff --git a/tests/xml/AVR-X1100W-AppCommand-update-soundmode.xml b/tests/xml/AVR-X1100W-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..74704e24 --- /dev/null +++ b/tests/xml/AVR-X1100W-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + +DTS Neo:X Cinema + + diff --git a/tests/xml/AVR-X1100W-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X1100W-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/AVR-X1100W-AppCommand-update-tonecontrol.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + diff --git a/tests/xml/AVR-X2000-2-AppCommand-update-soundmode.xml b/tests/xml/AVR-X2000-2-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a4df4e1d --- /dev/null +++ b/tests/xml/AVR-X2000-2-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-X2000-2-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X2000-2-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..a4df4e1d --- /dev/null +++ b/tests/xml/AVR-X2000-2-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-X2000-AppCommand-update-soundmode.xml b/tests/xml/AVR-X2000-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..e2c1811c --- /dev/null +++ b/tests/xml/AVR-X2000-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/xml/AVR-X2000-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X2000-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..e2c1811c --- /dev/null +++ b/tests/xml/AVR-X2000-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/xml/AVR-X2100W-2-AppCommand-update-soundmode.xml b/tests/xml/AVR-X2100W-2-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..e2c1811c --- /dev/null +++ b/tests/xml/AVR-X2100W-2-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/xml/AVR-X2100W-2-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X2100W-2-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..e2c1811c --- /dev/null +++ b/tests/xml/AVR-X2100W-2-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/xml/AVR-X2100W-AppCommand-update-soundmode.xml b/tests/xml/AVR-X2100W-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a4df4e1d --- /dev/null +++ b/tests/xml/AVR-X2100W-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-X2100W-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X2100W-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..a4df4e1d --- /dev/null +++ b/tests/xml/AVR-X2100W-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

\ No newline at end of file diff --git a/tests/xml/AVR-X4000-AppCommand-update-soundmode.xml b/tests/xml/AVR-X4000-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a07c4e9f --- /dev/null +++ b/tests/xml/AVR-X4000-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + +PLII Cinema + + diff --git a/tests/xml/AVR-X4000-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X4000-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..c929ceaa --- /dev/null +++ b/tests/xml/AVR-X4000-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ + + +2 + diff --git a/tests/xml/AVR-X4100W-AppCommand-update-soundmode.xml b/tests/xml/AVR-X4100W-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..fdadd530 --- /dev/null +++ b/tests/xml/AVR-X4100W-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + + DTS Neo:X Cinema + + \ No newline at end of file diff --git a/tests/xml/AVR-X4100W-AppCommand-update-tonecontrol.xml b/tests/xml/AVR-X4100W-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..770c6c6f --- /dev/null +++ b/tests/xml/AVR-X4100W-AppCommand-update-tonecontrol.xml @@ -0,0 +1,11 @@ + + + + 1 + 1 + 0dB + 6 + 0dB + 6 + + \ No newline at end of file diff --git a/tests/xml/AVR-X4300H-AppCommand-update-soundmode-8080.xml b/tests/xml/AVR-X4300H-AppCommand-update-soundmode-8080.xml new file mode 100644 index 00000000..74704e24 --- /dev/null +++ b/tests/xml/AVR-X4300H-AppCommand-update-soundmode-8080.xml @@ -0,0 +1,6 @@ + + + +DTS Neo:X Cinema + + diff --git a/tests/xml/AVR-X4300H-AppCommand-update-tonecontrol-8080.xml b/tests/xml/AVR-X4300H-AppCommand-update-tonecontrol-8080.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/AVR-X4300H-AppCommand-update-tonecontrol-8080.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + diff --git a/tests/xml/M-CR510-2-AppCommand-update-soundmode.xml b/tests/xml/M-CR510-2-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..95ff5bd6 --- /dev/null +++ b/tests/xml/M-CR510-2-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/xml/M-CR510-2-AppCommand-update-tonecontrol.xml b/tests/xml/M-CR510-2-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..c929ceaa --- /dev/null +++ b/tests/xml/M-CR510-2-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ + + +2 + diff --git a/tests/xml/M-CR510-AppCommand-update-soundmode.xml b/tests/xml/M-CR510-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..95ff5bd6 --- /dev/null +++ b/tests/xml/M-CR510-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/xml/M-CR510-AppCommand-update-tonecontrol.xml b/tests/xml/M-CR510-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..c929ceaa --- /dev/null +++ b/tests/xml/M-CR510-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ + + +2 + diff --git a/tests/xml/M-CR603-AppCommand-update-soundmode.xml b/tests/xml/M-CR603-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a72ef641 --- /dev/null +++ b/tests/xml/M-CR603-AppCommand-update-soundmode.xml @@ -0,0 +1,4 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

+ diff --git a/tests/xml/M-CR603-AppCommand-update-tonecontrol.xml b/tests/xml/M-CR603-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..a72ef641 --- /dev/null +++ b/tests/xml/M-CR603-AppCommand-update-tonecontrol.xml @@ -0,0 +1,4 @@ +Document Error: Data follows +

Access Error: Data follows

+

Form AppCommand.xml is not defined

+ diff --git a/tests/xml/M-RC610-AppCommand-update-soundmode.xml b/tests/xml/M-RC610-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..a8ba0133 --- /dev/null +++ b/tests/xml/M-RC610-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tests/xml/M-RC610-AppCommand-update-tonecontrol.xml b/tests/xml/M-RC610-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..a8ba0133 --- /dev/null +++ b/tests/xml/M-RC610-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tests/xml/NR1604-AppCommand-update-soundmode.xml b/tests/xml/NR1604-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..e2c1811c --- /dev/null +++ b/tests/xml/NR1604-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/xml/NR1604-AppCommand-update-tonecontrol.xml b/tests/xml/NR1604-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..e2c1811c --- /dev/null +++ b/tests/xml/NR1604-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/xml/NR1609-AppCommand-update-soundmode-8080.xml b/tests/xml/NR1609-AppCommand-update-soundmode-8080.xml new file mode 100644 index 00000000..74704e24 --- /dev/null +++ b/tests/xml/NR1609-AppCommand-update-soundmode-8080.xml @@ -0,0 +1,6 @@ + + + +DTS Neo:X Cinema + + diff --git a/tests/xml/NR1609-AppCommand-update-tonecontrol-8080.xml b/tests/xml/NR1609-AppCommand-update-tonecontrol-8080.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/NR1609-AppCommand-update-tonecontrol-8080.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + diff --git a/tests/xml/SR5008-AppCommand-update-soundmode.xml b/tests/xml/SR5008-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..0f84c6a2 --- /dev/null +++ b/tests/xml/SR5008-AppCommand-update-soundmode.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tests/xml/SR5008-AppCommand-update-tonecontrol.xml b/tests/xml/SR5008-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..0f84c6a2 --- /dev/null +++ b/tests/xml/SR5008-AppCommand-update-tonecontrol.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tests/xml/SR6011-AppCommand-update-soundmode.xml b/tests/xml/SR6011-AppCommand-update-soundmode.xml new file mode 100644 index 00000000..57b18cbf --- /dev/null +++ b/tests/xml/SR6011-AppCommand-update-soundmode.xml @@ -0,0 +1,6 @@ + + + +Stereo + + diff --git a/tests/xml/SR6011-AppCommand-update-tonecontrol.xml b/tests/xml/SR6011-AppCommand-update-tonecontrol.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/SR6011-AppCommand-update-tonecontrol.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + + diff --git a/tests/xml/SR6012-AppCommand-update-soundmode-8080.xml b/tests/xml/SR6012-AppCommand-update-soundmode-8080.xml new file mode 100644 index 00000000..5824ac31 --- /dev/null +++ b/tests/xml/SR6012-AppCommand-update-soundmode-8080.xml @@ -0,0 +1,6 @@ + + + +Stereo + + diff --git a/tests/xml/SR6012-AppCommand-update-tonecontrol-8080.xml b/tests/xml/SR6012-AppCommand-update-tonecontrol-8080.xml new file mode 100644 index 00000000..8e929a92 --- /dev/null +++ b/tests/xml/SR6012-AppCommand-update-tonecontrol-8080.xml @@ -0,0 +1,11 @@ + + + +0 + + + + + + +