Version 2.0.1
Version 2.0.1 includes new major features and breaking changes to the library and CLI.
CLI
- Add
--ignore-playerflag to ignore specific players (#2) - Add
--followflag to block and print updated values when they change (#37, #98, #101) - The
--playercommand acts on the first player without--all-players(breaking) (#54) - Accept multiple keys for
metadata [key]command (#68) metadatacommand has tabular output. (breaking) (#72)- Add
--format [fmt]for metadata formatting (#73) - Add
duration()template formatter for formatting durations (#75) - Print player name and instance with format strings (#90)
- Add command to get and set
shufflestatus (#92) - Add a command to get and set
loopstatus (#99) - Add the
opencommand to open a URI with the player (#79) - Fix some errors with utf8 printing (#80)
- Skip players from selection when they don't support a command (determined by the
can-*properties) - Select all player instances with the
--playerand--ignore-playercommand - Print help information to stdout (not stderr) when no arguments are passed
Library
- add
playerctl_list_players()to public api for listing players (#47) - Implement the "seeked" signal on the player (#94)
- Add the "volume" signal on the player (#95)
- Deprecate the "play", "pause", and "stopped" signal for a single "status" signal (#96)
- Add the
PlayerctlPlayerManager()class (#100) - Cache and compute the position property (#102)
- Remove chaining abilities from the library (breaking)
- Library query functions return
NULLinstead of empty string when properties aren't found (breaking) - Deprecate
statusproperty in favor of theplayback-statusproperty as an enum - Add library functions for
shuffleandloopstatus (#92, #99) - Deprecate setting volume via the object properties interface
- Fix the "exit" signal
- Add properties "can-control", "can-play", "can-pause", "can-seek", "can-go-next", "can-go-previous"
- Add the "source" property to determine the source of the player (session or system bus)
- Change first keyword arg for
playerctl_player_new()fromnametoplayer_name(breaking) - Add
playerctl_player_new_for_source()to select players based on the source (session or system bus) - Add
playerctl_player_new_from_name()to create a player from a PlayerManager name playerctl_player_new()selects an instance of theplayer_nameif found- Add documentation for the entire public library API
Build