Playerctl Versions Save

🎧 mpris media player command-line controller for vlc, mpv, RhythmBox, web browsers, cmus, mpd, spotify and others.

v2.4.1

2 years ago

Version 2.4.1 contains bugfixes and new features.

  • Fix a crash in playerctld when players use TrackList and Playlists interfaces (#215)
  • Add the trunc() template function (#224)
  • Allow to use playerctl as a subproject and cpp linking (#228)
  • bugfix: subscribe to all signals when multiple template functions are used (#235)
  • bugfix: workaround for players that use uint64 values in the formatter (#234)

v2.3.1

3 years ago

Version 2.3.1 contains bugfixes and new features.

  • Add option to toggle shuffle (#197)
  • Add -s, quiet flag to supress some messages from stderr (#108, #193)
  • Add math operations to the formatter (#149, 119d0a5)
  • Change instance delimiter to "." (#198, d0a59e2)
  • Use playerctld to get players in order of activation when it is running (#192, bfed117)
  • Remove warning message when the system bus isn't found (a1cfd4a)
  • Add zsh shell completions (#127, #201, #202)
  • playerctld: add daemon activation command (1266063)
  • playerctld: add unshift command (#204)
  • bugfix: improve property setter reliability (c617911)

v2.2.1

3 years ago

Version 2.2.1 contains some bugfixes and new features.

  • Fix a crash when the emoji() template function is used (#167)
  • Add a shift command to playerctld to shift the active player (#173)
  • Fix a crash when system players are present (#175)

v2.1.1

4 years ago

Version 2.1.1 contains some bugfixes and new features.

Playerctl now has a test suite that covers most features of the CLI.

playerctld

  • Add playerctld: an activatable DBus service for selecting the most recently active player (#161, #164, #128)

CLI

  • Add the markup_escape() formatter function (#133)
  • Mark the emoji() formatter function as no longer experimental
  • Add the default() formatter function (#142, fd0b4ab)
  • Add the special %any player token for prioritizing player selection (#143)
  • Add bash completions (#153)
  • Add debug logging (#152)
  • Rewrite and expand manpage with mdoc(7) (#130)
  • Attempt to autostart playerctld if it is present in players
  • bugfix: incorrect error message for shuffle command (#158)
  • bugfix: don't crash if no system bus is present (2330b64f)
  • bugfix: don't crash if given a nonexistent format function (#162)

Build

  • Required meson version is now 0.50.0.

v2.0.2

5 years ago

Version 2.0.2 contains some minor bugfixes for the CLI and build system.

The author would like to inform you as part of my effort to improve media player integration on the Linux Desktop, I have fixed many bugs in Electron based media players that should be available soon (see #40, #81, #35 which were closed recently).

CLI

  • Regression: exit 1 when no players are found (#126, #119)
  • Regression: fix sort order for --player command (#112)
  • Handle nonfile uris in the open command (#122)

Build

  • Fix documentation of the --follow flag (#117)
  • Update manpage release date at build time (#118)
  • fix gir build on cross compilation (#120)

v2.0.1

5 years ago

Version 2.0.1 includes new major features and breaking changes to the library and CLI.

CLI

  • Add --ignore-player flag to ignore specific players (#2)
  • Add --follow flag to block and print updated values when they change (#37, #98, #101)
  • The --player command acts on the first player without --all-players (breaking) (#54)
  • Accept multiple keys for metadata [key] command (#68)
  • metadata command 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 shuffle status (#92)
  • Add a command to get and set loop status (#99)
  • Add the open command 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 --player and --ignore-player command
  • 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 NULL instead of empty string when properties aren't found (breaking)
  • Deprecate status property in favor of the playback-status property as an enum
  • Add library functions for shuffle and loop status (#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() from name to player_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 the player_name if found
  • Add documentation for the entire public library API

Build

  • Remove autotools and switch to the meson build system (breaking) (#57)
  • Fix various compiler warnings (#97)
  • Remove library version from pkg-config name and add it to the so in the standard way (new pkg-config name is just playerctl).

v2.0.0-rc1

5 years ago

This is a prerelease of the 2.0 version of Playerctl for testing purposes. For information about what has changed, see this blog post.

v0.6.1

5 years ago

Version 0.6.1

Version 0.6.1 includes bug fixes and some minor features.

  • Bugfix: unref of a null player when no players are present
  • Playerctl now searches the system bus for players
  • Parse trackid as a string as a workaround for noncompliant players
  • Various meson fixes

v0.6.0

6 years ago

Version 0.6.0 includes bug fixes and new features.

  • control multiple players at once by putting commas between the names
  • add the --all-players option to control all players at once
  • lib: better cache invalidation strategy for getting properties
  • bugfix: Set position in fractional seconds
  • Fix various memory leaks and errors

NOTE: This will be the last minor release that uses autotools. Playerctl will switch to the meson build system as of the next minor release.

Github releases will have a debian package and an rpm, but these will soon be deprecated as package maintainers create official packages for distros.

v0.5.0

8 years ago

Version 0.5.0 includes some new features.

New features:

  • Add workaround for Spotify to get metadata
  • Add position cli command to query and set position
  • Add position property to Player and method to set position to library