diff options
author | Timmy Keller <tjk@tjkeller.xyz> | 2024-10-07 21:29:25 -0500 |
---|---|---|
committer | Timmy Keller <tjk@tjkeller.xyz> | 2024-10-07 21:29:25 -0500 |
commit | 1874c39d1260c9b83134b40c13b287300ee9b0c5 (patch) | |
tree | bc0e88798f64462716f9191f2a49caf0b5692e6e | |
parent | 23d702cdbf81d4ced47e28b7d8a33bc83083e1e3 (diff) | |
download | pavolctld-1874c39d1260c9b83134b40c13b287300ee9b0c5.tar.xz pavolctld-1874c39d1260c9b83134b40c13b287300ee9b0c5.zip |
add manpage and mit license
-rw-r--r-- | LICENSE | 21 | ||||
-rw-r--r-- | pavolctld.1 | 64 |
2 files changed, 85 insertions, 0 deletions
@@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Tim Keller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. 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> |