mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
The official API specification requires that advanced audio endpoints are only available if the specific capability is listed in GET /capabilities. ## Changes ### Capability Checking Implementation - GetAudioDSPControls() now checks for 'audiodspcontrols' capability first - GetAudioProductToneControls() checks for 'audioproducttonecontrols' capability - GetAudioProductLevelControls() checks for 'audioproductlevelcontrols' capability - Added hasCapability() helper method for capability verification ### Error Handling - Clear error messages when advanced features not supported by device - Graceful degradation for consumer devices without professional features - Proper validation flow: capability check → endpoint access → validation ### Documentation Updates - Emphasizes conditional availability based on device capabilities - Updated API coverage to reflect capability-dependent implementation - Clarifies that advanced audio controls are professional/high-end features ## Device Behavior ### Consumer Devices (SoundTouch 10, 20, 30) - Advanced audio methods return clear 'not supported' errors - Basic audio controls remain fully functional - No breaking changes to existing functionality ### Professional Devices - Full access to advanced audio controls when capabilities present - Automatic capability verification ensures API compliance - Complete validation and error handling maintained ## API Compliance - Now correctly implements conditional endpoint availability per API spec - Aligns with official documentation requirement for capability checking - Maintains 100% API specification compliance for supported features This fix ensures the implementation correctly follows the official API specification's requirement for capability-based feature availability.