Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jecaro/mprisqueeze
MPRIS interface for squeezelite
https://github.com/jecaro/mprisqueeze
logitechmediaserver mpris rust squeezelite
Last synced: about 1 month ago
JSON representation
MPRIS interface for squeezelite
- Host: GitHub
- URL: https://github.com/jecaro/mprisqueeze
- Owner: jecaro
- License: mit
- Created: 2023-04-12T19:18:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-03T13:27:44.000Z (3 months ago)
- Last Synced: 2024-11-13T14:55:27.691Z (about 2 months ago)
- Topics: logitechmediaserver, mpris, rust, squeezelite
- Language: Rust
- Homepage:
- Size: 125 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mprisqueeze
[![CI][status-png]][status]
`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:```bash
$ 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` switchIt then starts [squeezelite] registering itself on [LMS] with the name
`SqueezeLite`. To use another name, one can use:```bash
$ mprisqueeze -p my-player
```The command to start [squeezelite] can be changed with the last arguments,
preceded by `--`, for example:```bash
$ 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`:```systemd
[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:```bash
$ systemctl --user start mprisqueeze
```[status]: https://github.com/jecaro/mprisqueeze/actions
[status-png]: https://github.com/jecaro/mprisqueeze/workflows/CI/badge.svg
[MPRIS]: https://specifications.freedesktop.org/mpris-spec/latest/
[squeezelite]: https://github.com/ralph-irving/squeezelite
[playerctl]: https://github.com/altdesktop/playerctl
[LMS]: https://github.com/Logitech/slimserver