SoCo 0.20 is the latest increment to the SoCo module. Among the additions this time are support for adding stereo pairs, proper categorization of Sonos Amp as a playbar to add proper support for 'night sound' and 'speech enhancement' and finally a fix for a long running issue where vendor extended DIDL-Lite classes would cause events to crash without specific code added for each one. See the full list of additions and bugfixes below.
SoCo (Sonos Controller) is a Python package that allows you to programmatically control Sonos speakers.
- Add support for creating and separating stereo pairs of speakers. Note: works with dissimilar Sonos speakers if required. Pull request #704.
- Add support for autogenerating vendor extended DIDL-Lite classes. Pull request #713. This should fix all the problems where SoCo would crash if some vendor specific data type is unknown.
- Categorize Sonos Amp as a playbar in order to provide support for 'night sound' and 'speech enhancement'. Pull request #721
- If port 1400 is in use, the next available 100 ports will be tried. Pull request #724.
- Fix bug where data_structures_upgrade would fail on items that has no uri. Issue #702.
- Process share browsing correctly. Issue #717. Credit to @Sonosy for the fix.
- Format all soco main, test and example code with the black code formatter (https://github.com/psf/black) and make it mandatory going forward including a TravisCI check. Pull request #706.
- Improve
test_remove_playlist_bad_id()
to handle the case of no existing playlists. Pull request #726, fixes issue #725.