Add --no-audio

Signed-off-by: Skylar "The Cobra" Widulski <cobra@vern.cc>
This commit is contained in:
Skylar "The Cobra" Widulski 2023-05-13 20:38:34 -04:00
parent fa6a64e7a4
commit bdd90bec5e
Signed by: cobra
GPG Key ID: 4FD8F812083FF6F9
2 changed files with 19 additions and 7 deletions

View File

@ -31,9 +31,12 @@ and wofi(1) in order to accomplish the task.
End the current instance running on monitor _MONITOR_.
*-a, --audio* _DEVICE_
This option is used in order to set the pulseaudio/pipewire-pulse device
that is recorded by *wf-shadow*.
*-n, --no-audio*
By default, *wf-shadow* enables the -a option of wf-recorder(1). This
option is used in order to set the pulseaudio/pipewire-pulse device that is
recorded by *wf-shadow*.
option disables it.
*-V, --video* _DEVICE_
This option is passed directly to wf-recorder(1)'s _-d_ option.

View File

@ -28,13 +28,18 @@ fi
MONITOR=1
AUDIO_DEV=""
NO_AUDIO=""
VIDEO_DEV=""
VERBOSE=""
WF_SHADOW_DIR="${WF_SHADOW_DIR:-"$HOME"/Videos/wf-shadow}"
WF_SHADOW_FORMAT="${WF_SHADOW_FORMAT:-%Y%m%d_%H:%M:%S}"
: "${WF_SHADOW_DIR:="$HOME"/Videos/wf-shadow}"
: "${WF_SHADOW_FORMAT:=%Y%m%d_%H:%M:%S}"
. "$CONFIG"
if [ -n "$NO_AUDIO" ]; then
NO_AUDIO=" "
fi
trap 'kill $(jobs -p) 2>/dev/null' EXIT
trap 'exit' INT
set -m
@ -73,6 +78,7 @@ OPTIONS:
-e, --end [MONITOR] End wf-shadow instance with display number MONITOR.
-a, --audio DEVICE Use DEVICE for audio recording. Passed to wf-recorder -a.
-V, --video DEVICE Use DEVICE for video encoding. Passed to wf-recorder -d.
-n, --no-audio Disable audio recording. Overrides -a.
-v, --verbose Verbose output.
-h, --help Show this menu.
@ -106,12 +112,12 @@ record() {
start() {
local WOFI_STRING="5 seconds\n10 seconds\n15 seconds\n30 seconds\n1 minute\n5 minutes\n10 minutes\nCancel\n"
while true; do
for i in /tmp/wf-shadow/tmp{00..10}.mp4; do
for i in /tmp/wf-shadow/"$MONITOR"-{00..10}.mp4; do
printf '' >> "$i"
if [ -n "$VERBOSE" ]; then
wf-recorder ${VIDEO_DEV:+-d "$VIDEO_DEV"} -a $AUDIO_DEV -f "$i" <<< y$'\n'$MONITOR &
wf-recorder ${VIDEO_DEV:+-d "$VIDEO_DEV"} ${NO_AUDIO:--a} ${AUDIO_DEV:+"${NO_AUDIO:-$AUDIO_DEV}"} -f "$i" <<< y$'\n'$MONITOR &
else
wf-recorder ${VIDEO_DEV:+-d "$VIDEO_DEV"} -a $AUDIO_DEV -f "$i" <<< y$'\n'$MONITOR &>/dev/null &
wf-recorder ${VIDEO_DEV:+-d "$VIDEO_DEV"} ${NO_AUDIO:--a} ${AUDIO_DEV:+"${NO_AUDIO:-$AUDIO_DEV}"} -f "$i" <<< y$'\n'$MONITOR &>/dev/null &
fi
printf "%s" "$!" > "$RUNTIME"/"$MONITOR".pid
fg || exit
@ -166,6 +172,9 @@ until [ -z "$1" ]; do
'-a' | '--audio')
AUDIO_DEV="$2"
shift 2 ;;
'-n' | '--no-audio')
NO_AUDIO=1
shift 1 ;;
'-V' | '--video')
VIDEO_DEV="$2"
shift 2 ;;