aboutsummaryrefslogtreecommitdiff
path: root/pavolctld.1
diff options
context:
space:
mode:
authorTimmy Keller <tjk@tjkeller.xyz>2024-10-07 21:29:25 -0500
committerTimmy Keller <tjk@tjkeller.xyz>2024-10-07 21:29:25 -0500
commit1874c39d1260c9b83134b40c13b287300ee9b0c5 (patch)
treebc0e88798f64462716f9191f2a49caf0b5692e6e /pavolctld.1
parent23d702cdbf81d4ced47e28b7d8a33bc83083e1e3 (diff)
downloadpavolctld-1874c39d1260c9b83134b40c13b287300ee9b0c5.tar.xz
pavolctld-1874c39d1260c9b83134b40c13b287300ee9b0c5.zip
add manpage and mit license
Diffstat (limited to 'pavolctld.1')
-rw-r--r--pavolctld.164
1 files changed, 64 insertions, 0 deletions
diff --git a/pavolctld.1 b/pavolctld.1
new file mode 100644
index 0000000..0eb8abc
--- /dev/null
+++ b/pavolctld.1
@@ -0,0 +1,64 @@
+.TH PAVOLCTLD 1 pavolctld\-1.0
+.SH NAME
+pavolctld - A minimal PulseAudio volume control/monitoring daemon
+.SH DESCRIPTION
+pavolctld is a minimal volume control daemon for PulseAudio written in C.
+It uses libpulse's threaded/asynchronous API for communicating with the
+PulseAudio server. Unlike other CLI solutions for controlling audio, pavolctld
+acts as a persistent client. This allows for realtime monitoring of output
+sinks/volume levels, low-latency volume control, and minimal overhead.
+The stdin/stdout buffers are used for IO, and all events are logged to stdout
+as csv data with a one letter prefix specifying the event type. Commands are
+sent via stdin using a similar syntax.
+.P
+pavolctld is designed specifically for use with window managers and is
+extremely versatile due to its simple design. It can also be used interactively
+in the terminal.
+.SH STATE CHANGE EVENTS
+When pavolctld is ran, it will immediately log the state of all sinks to
+stdout. When any change is made to a sink thereafter, it will be logged as a
+new event. Each event is output on a new line.
+.P
+Here are the possible events and their parameters:
+.TP
+.B v[Sink Index],[Volume Percentage],[Volume dBs],[Muted]
+Volume level/mute change
+.TP
+.B f[Sink Index]
+Default sink changed
+.TP
+.B s[Sink Index],[Sink Name],[Sink Description]
+New sink added
+.TP
+.B x[Sink Index]
+Sink removed
+.SH VOLUME CONTROL COMMANDS
+Sink parameters can be modified by entering commands via stdin. Note that the
+default sink is not necessarily the sink being modified. Instead, you can set
+the "command sink" using the `s` command. This way, you can modify a sink
+without making it the default sink. The initial command sink however is the
+default sink for convenience.
+.P
+Here are the list of commands and their parameters:
+.TP
+.B s[Sink Index]
+Set the command sink to sink index. If sink index is not specified, it will be
+set to the default sink instead.
+.TP
+.B v[+-][Volume Percentage]
+Set the volume level of the command sink. If '+' or '-' are specified, then the
+current value will be incremented or decremented instead.
+.TP
+.B m[Mute State]
+Mute/Unmute the command sink. Mute state is either '0' for unmuted, or '1' for
+muted. If mute state is not specified, then mute will be toggled instead.
+.TP
+.B f[Sink Index]
+Set the default sink to sink index. If sink index is not specified, it will be
+set to the command sink instead.
+.SH COPYRIGHT
+Copyright 2024 Tim Keller.
+MIT License.
+.P
+.P
+<https://TJKeller.xyz>