SoCo 0.10 release notes¶
SoCo 0.10 is a new version of the SoCo library. This release adds new features and fixes several bugs.
SoCo (Sonos Controller) is a simple Python class that allows you to programmatically control Sonos speakers.
- Added a queue_size property to quickly return the size of the queue without reading any items (#217)
- Add metadata to return structure of get_current_track_info (#220)
- Add option to play_uri that allows for the item to be set and then optionally played (#219)
- Add option to play_uri that allows playing with a URI and title instead of metadata (#221)
- Get the item ID from the XML responses which enables adding tracks for music services such as Rhapsody which do not have all the detail in the item URI (#233)
- Added label and short_label properties, to provide a consistent readable label for group members (#228)
- Improved documentation (#248, #253, #259)
- Improved code examples (#250, #252)
- Fixed a bug where
get_ml_item()would fail if a radio station was played (#226)
- Fixed a timeout-related regression in
- Discovery code fixed to account for closing of multicast sockets by certain devices (#202, #201)
- Fixed a bug where sometimes zone groups would be created without a coordinator (#230)
The metadata classes (
ML*) have all been renamed (generally to
and aligned more closely with the underlying XML. The Music Services data
MS*) have been moved to their own module, and metadata for
radio broadcasts is now returned properly (#243).
URI class has been removed. As an alternative the method
soco.SoCo.play_uri() can be used to enqueue and play an URI. The class
soco.data_structures.DIDLObject can be used if an object is required.
Work is still ongoing on the metadata classes, so further changes should be expected.