SoCo 0.19 is the latest increment to the SoCo module. Among the additions this time are added methods for library share handling, new methods for relative and group volume handling and a new DIDL-Lite class used for certain podcasts. See the full list of additions and bugfixes below.
SoCo (Sonos Controller) is a Python package that allows you to programmatically control Sonos speakers.
- Added class :py
~soco.data_structures.DidlRecentShow
to the :py~soco.data_structures
module to implement the addedobject.item.audioItem.musicTrack.recentShow
DIDL-Lite object type. Used for podcasts etc. Pull request #677. - Add support for Python 3.8, pull reques #679
- Add methods :py
~soco.music_library.MusicLibrary.list_library_shares
and :py~soco.music_library.MusicLibrary.delete_library_share
to :py~soco.music_library.MusicLibrary
. Partially addresses issue #678. - Add a :py
~soco.core.SoCo.balance
property to the :py~soco.core.SoCo
class, allowing get/set of speaker balance, pull request #693. Addresses issue #692. Credit to @tephlon for the idea and the majority of the implementation. - Add the :py
~soco.core.SoCo.set_relative_volume
method to the :py~soco.core.SoCo
class, pull request #687 - Add unit test for :py
soco.music_library.MusicLibrary.delete_library_share
method, pull request #694 - Add deprecation warning concerning the removal of Python 2.7 support, pull request #697
- Add group volume operations, pull request #688
- Fixed broken link in loudness docstring, issue #671
- In :py
soco.events
, fixed bug affecting some users in code to determine system's own IP address. Some systems requires a valid port to be used (not port 0), so we useconfig.EVENT_LISTENER_PORT
. Pull request #680. - Copy metadata from :py
~soco.data_structures.DidlItem
to :py~soco.ms_data_structures.MusicServiceItem
in :py~soco.core.SoCo.get_queue
and events. Pull request #589. Closes issues #535, #547 and #552. - Fixed a bug (avoid trying to iterate a None) in the :py
~soco.discovery
module, commit c8e4a24