#
# The third form waits for a new sink-input to appear, and will record that.
#
-# Copyright © 2020 martin f. krafft <madduck@madduck.net>
+# Copyright © 2020–2021 martin f. krafft <madduck@madduck.net>
# Released under the teams of the Artistic Licence 2.0
#
set -eu
+cleanup_commands=
+cleanup() {
+ set +e
+ eval $cleanup_commands 2>/dev/null
+ trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+}
+trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+cleanup_hook() {
+ cleanup_commands="$@${cleanup_commands:+; $cleanup_commands}"
+}
+
if [ -z "${TMPDIR:-}" ]; then
TMPDIR=/tmp
fi
done
export TMPDIR
TMPDIR=$(mktemp -dp "$TMPDIR" parec.XXXXXXXXXX)
+cleanup_hook rm -r $TMPDIR
-cleanup_commands="rm -r $TMPDIR"
-cleanup() {
- set +e
- eval $cleanup_commands 2>/dev/null
- trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-}
-trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
-cleanup_hook() {
- cleanup_commands="$@${cleanup_commands:+; $cleanup_commands}"
-}
+if command -v systemd-inhibit >/dev/null; then
+ systemd-inhibit --who=pulserecorder --why=recording sleep 99d 2>/dev/null &
+ cleanup_hook kill $!
+fi
state= outfile= index= clobber=0
for arg in "$@"; do
type="${1:-*}" event="${2:-*}" id="${3:-*}"
pa_subscribe | (
read pid
- #echo >&2 pa_subscribe started with PID $pid
+ #echo >&2 pa_subscribe started with PID $pid, waiting for $type/$event/$id
while read lead xevent on xtype xid; do
xid=${xid#\#}
#echo >&2 "pa_subscribe: $xtype/$xevent/$xid ($type/$event/$id)"