]>
git.madduck.net Git - code/pulserecorder.git/blobdiff - pulserecorder
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
}
move_source_to_sink() {
}
move_source_to_sink() {
c=$(pactl list short sink-inputs | sed -rne "s,^${1}[[:space:]]+([[:digit:]]+).+,\1,p")
c=$(pactl list short sink-inputs | sed -rne "s,^${1}[[:space:]]+([[:digit:]]+).+,\1,p")
+ d="$(pactl list short sinks | sed -rne "s,^${c}[[:space:]]+([^[:space:]]+).+,\1,p")"
+ case "$d" in
+ (record-to-file-*)
+ # Never restore to a record-to-file destination, or it could botch
+ # another recording
+ c="@DEFAULT_SINK@"
+ ;;
+ (*) :;;
+ esac
+ echo >&2 "Moving input $1 to sink $2 (restore to $c) …"
cleanup_hook pactl move-sink-input $1 $c
pactl move-sink-input $1 $2
}
cleanup_hook pactl move-sink-input $1 $c
pactl move-sink-input $1 $2
}
+if [ -n "${PAREC_PIPE:-}" ] ; then
# This would be great, but it does not work. For instance, trying this on
# audible meant that audible would play at maximum speed (3h played in 3
# minutes), but the result would be full of skips, making me think that
# This would be great, but it does not work. For instance, trying this on
# audible meant that audible would play at maximum speed (3h played in 3
# minutes), but the result would be full of skips, making me think that
load_module module-pipe-sink "$devname" "$devname" file="$TMPDIR/outfifo"
move_source_to_sink $index "$devname"
load_module module-pipe-sink "$devname" "$devname" file="$TMPDIR/outfifo"
move_source_to_sink $index "$devname"
- oggenc --raw -q5 -o "$outfile" "$TMPDIR/outfifo" || :
- #pv -pterb "$TMPDIR/outfifo" > $TMPDIR/outfile.wav || :
+ #oggenc --raw -q5 -o "$outfile" "$TMPDIR/outfifo" || :
+ pv -pterb "$TMPDIR/outfifo" > $TMPDIR/outfile.wav &
+ pid=$!
+ pa_wait_for_event sink-input remove $index >/dev/null
+ kill $pid
else
# More traditional approach, which just takes 1:1 time.
else
# More traditional approach, which just takes 1:1 time.