summaryrefslogtreecommitdiffstats
path: root/.scripts/audio
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2018-04-10 23:08:43 -0700
committerLuke Smith <luke@lukesmith.xyz>2018-04-10 23:08:43 -0700
commitf61ab667856a6896a0395a84c85cc4c1f139c630 (patch)
tree2d9c9c6353d837e53695cb3d664d4926a25ad33c /.scripts/audio
parente2225d418d38e53f63bb1c279cc8b9af45ea6e3a (diff)
downloadeibhear-f61ab667856a6896a0395a84c85cc4c1f139c630.tar.gz
eibhear-f61ab667856a6896a0395a84c85cc4c1f139c630.tar.zst
eibhear-f61ab667856a6896a0395a84c85cc4c1f139c630.zip
Overhaul of screencasting scripts
Diffstat (limited to '.scripts/audio')
-rwxr-xr-x.scripts/audio27
1 files changed, 27 insertions, 0 deletions
diff --git a/.scripts/audio b/.scripts/audio
new file mode 100755
index 0000000..cb630c8
--- /dev/null
+++ b/.scripts/audio
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# This script records audio.
+# It runs an appropriate record script for either ALSA and Pulseaudio.
+# It also names files smartly to prevent overwrites.
+
+# Picks a file name for the output file based on availability:
+while [[ -f $HOME/screencast$n.mkv ]]
+do
+ n=$((n+1))
+done
+filename="$HOME/screencast$n.mkv"
+
+# For Pulseaudio with ALSA:
+record_pulse() { \
+ffmpeg \
+-f alsa -i default \
+-c:a flac \
+$filename ;}
+
+# For ALSA:
+record_alsa() { \
+ffmpeg -y \
+-f alsa -ar 44100 -i hw:1 \
+$filename ;}
+
+if [[ $(pgrep -x pulseaudio) ]]; then record_pulse; else record_alsa; fi