Skip to content

Releases: rajlaud/pysqueezebox

v0.6.3

26 May 12:15
Compare
Choose a tag to compare

Improvement - better error handling/debug message for bad response from server on player update.

v0.6.2

25 May 21:51
Compare
Choose a tag to compare

Bugfix: handle exception generated when Logitech Media Server returns an empty response on an attempted player update.

v0.6.1

29 Oct 15:43
Compare
Choose a tag to compare

Contains fixes for the Server.async_browse method.

  • Handle empty libraries without error.
  • Handle "limit" queries on an empty result without error.

pysqueezebox v0.6.0

27 May 21:28
Compare
Choose a tag to compare

This release adds the "play_now" command to async_load_url, which allows you to start a track right away with destroying the existing playlist.

pysqueezebox v0.5.5

08 Nov 02:09
Compare
Choose a tag to compare

-Expose generate_image_url_from_track_id in the Player object; needed for home-assistant/core#42193

pysqueezebox v0.5.4

26 Oct 23:02
Compare
Choose a tag to compare
  • Fix a bug in v0.5.3 in async_browse when called without a limit
  • Migrate away from asynctest

pysqueezebox v0.5.3

26 Oct 16:47
Compare
Choose a tag to compare

-Improve cache handling for async_browse_media so that entire library is not fetched unnecessarily

pysqueezebox v0.5.2

22 Oct 03:31
Compare
Choose a tag to compare

-Fixes a bug in the artwork url for certain plugins that gave a relative "remote" artwork url

Pysqueezebox v0.5.0

26 Sep 20:39
Compare
Choose a tag to compare

Adds async_browse method to pysqueezebox.Server. This allows you to traverse the server's catalog. Intended to support the Home Assistant async_browse_media method but it may have other uses too.

Pysqueezebox v0.4.0

05 Aug 14:22
Compare
Choose a tag to compare

The Player module now verifies that commands sent to the server for controlling a squeezebox player actually took effect, which can help with scripts that require actions to be performed in a specific order. The coroutine does not complete until this verification has taken place. You can use asyncio.create_task() instead of await if you don't want to block until the task is complete. Or if you don't want to poll the server to verify the task is completely, call the player coroutine with the parameter timeout=0.

There is a new method, Player.create_property_future(property, condition, inteval), which returns an asyncio.Future that completes when a player property enters a certain state. condition is a method that accepts the property as its only parameter and returns True if it is met. You can specify the maximum time between server polls withe the interval parameter; the default is one second. Pysqueezebox will consolidate these polls to avoid spamming the server.

Also, thank you to Greg X for contributing a patch exposing several additional player properties, including:
-Expose audio encoding details such as media type, bit rate, etc
-Expose LMS remote and remote_title fields for improved identification of internet radio stations
-Allow retrieval of elapsed time and total time with floating precision
-Allow caller to specify LMS tags to request additional information from the server