mprisqueeze

Crates.iomprisqueeze
lib.rsmprisqueeze
version0.1.7
sourcesrc
created_at2023-05-02 19:57:34.22091
updated_at2024-10-03 13:26:47.934878
descriptionA command-line client for controlling squeezelite via MPRIS
homepagehttps://github.com/jecaro/mprisqueeze
repositoryhttps://github.com/jecaro/mprisqueeze
max_upload_size
id854879
size90,190
Jean-Charles Quillet (jecaro)

documentation

README

mprisqueeze

CI

mprisqueeze is a wrapper over squeezelite. It starts squeezelite in the background and exposes an MPRIS interface to control it with MPRIS clients such as playerctl.

By default, mprisqueeze will try to discover the LMS server on the local network. To specify a host and a port:

$ mprisqueeze -H somehost -P 9000

The default command line for squeezelite is:

squeezelite -n {name} -s {server}

Before calling squeezelite, mprisqueeze replaces:

  • {name} by the name of the player, Squeezelite by default
  • {server} by the LMS server IP, either automatically discovered either set with the -H switch

It then starts squeezelite registering itself on LMS with the name SqueezeLite. To use another name, one can use:

$ mprisqueeze -p my-player

The command to start squeezelite can be changed with the last arguments, preceded by --, for example:

$ mprisqueeze -- squeezelite -f ./squeezelite.log -n {name} -s {server}

Note that when using a custom command, both parameters must be present on the command line: {name} and {server}.

mprisqueeze can be automatically started on login. The most convenient way of doing that is using a user systemd unit. For example, one can set a unit called mprisqueeze in the file ~/.config/systemd/user/mprisqueeze.service:

[Install]
WantedBy=default.target

[Service]
ExecStart=mprisqueeze -- squeezelite-pulse -n {name} -s {server}
Restart=always
RestartSec=3
Type=simple

[Unit]
Description=mprisqueeze

On the next login, mprisqueeze will be automatically started. Otherwise, to start it manually:

$ systemctl --user start mprisqueeze
Commit count: 61

cargo fmt