Files
mixrs/README.md

34 lines
1.7 KiB
Markdown

# Mixrs
A practical multimedia controller for PulseAudio written in Rust.
## Installation
There is currently no convenient way to install Mixrs. To use this application, you have to compile it yourself and run it in the background.
## Requirements
- [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/)
- [playerctl](https://wiki.archlinux.org/title/MPRIS#Playerctl)
- [libnotify](https://gitlab.gnome.org/GNOME/libnotify)
## Usage
Mixrs will create a unix socket at `/tmp/mixrs` and listen for instructions. Instructions are issued by sending a specific byte to the socket.
## Example
`echo -ne '\x2' | nc -N -U /tmp/mixrs` will send a byte containing `2` to the `/tmp/mixrs` socket and instruct Mixrs to mute / unmute the currently selected sink input.
### Instructions
|Byte|Instruction|Detail|
|---|---|---|
|0|SelectNext|Selects the next sink input|
|1|SelectPrevious|Selects the previous sink input|
|2|ToggleMuteCurrent|Toggles the current sink input's muted state|
|3|IncreaseCurrent|Increases the current sink input's volume by 5%|
|4|DecreaseCurrent|Decreases the current sink input's volume by 5%|
|5|GetCurrent|Displays the current sink input's name|
|6|PlayPauseCurrent|Tells the current sink input to toggle its `playing` state.<br>*Behavior varies based on the current sink input's player*|
|7|PlayNext|Tells the current sink input to play the next item (e.g. the next song).<br>*Behavior varies based on the current sink input's player*|
|8|PlayPrevious|Tells the current sink input to play the previous item (e.g. the previous song).<br>*Behavior varies based on the current sink input's player*|
=======
# mixrs
A practical multimedia controller written in Rust