From 1874c39d1260c9b83134b40c13b287300ee9b0c5 Mon Sep 17 00:00:00 2001 From: Timmy Keller Date: Mon, 7 Oct 2024 21:29:25 -0500 Subject: add manpage and mit license --- LICENSE | 21 ++++++++++++++++++++ pavolctld.1 | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 LICENSE create mode 100644 pavolctld.1 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6bdec6c --- /dev/null +++ b/LICENSE @@ -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 + -- cgit v1.2.3