parent
29098d750b
commit
d5ca81b991
2 changed files with 70 additions and 0 deletions
@ -0,0 +1,69 @@ |
||||
#!/usr/bin/env sh |
||||
RECDIR=~/Recordings |
||||
OLDAUDIOF="$(mktemp)" |
||||
alsactl --file "$OLDAUDIOF" store |
||||
mkdir -p "$RECDIR" |
||||
|
||||
restoreaudio() { |
||||
alsactl --file "$OLDAUDIOF" restore |
||||
} |
||||
|
||||
record() { |
||||
TEMPFILE="$(mktemp --suffix=.wav)" |
||||
NOW="$(date '+%y%m%d_%H%M%S')" |
||||
st -e arecord -vv -f cd -c 1 "$TEMPFILE" |
||||
DUR="$( |
||||
mediainfo "$TEMPFILE" | |
||||
grep ^Duration | |
||||
head -n1 | |
||||
cut -d: -f2 | |
||||
tr -d " " |
||||
)" |
||||
FILENAME="${NOW}_${DUR}.wav" |
||||
FILE="${RECDIR}/${FILENAME}" |
||||
mv "$TEMPFILE" "$FILE" |
||||
|
||||
while true; do |
||||
PICK="$( |
||||
printf %b " |
||||
Save: $FILENAME |
||||
Playback: ($DUR)\n |
||||
Delete Recording |
||||
" | |
||||
xargs -0 echo | sed '/^[[:space:]]*$/d' | awk '{$1=$1};1' | |
||||
dmenu -p "$DUR" -fn Terminus-18 -c -l 10 |
||||
)" |
||||
if echo "$PICK" | grep "Playback"; then |
||||
restoreaudio |
||||
st -e mpv -v "$FILE" |
||||
elif echo "$PICK" | grep "Delete Recording"; then |
||||
rm "$FILE" |
||||
echo "File deleted." | dmenu -fn Terminus-18 -c -l 10 |
||||
return |
||||
else |
||||
return |
||||
fi |
||||
done |
||||
} |
||||
|
||||
while true; do |
||||
NRECORDINGS="$(ls -1 "$RECDIR" | wc -l)" |
||||
OPTION="$( |
||||
printf %b "Line Jack\nMicrophone\n($NRECORDINGS) Recordings\nClose Menu" | |
||||
dmenu -fn Terminus-30 -c -p "Record" -l 20 |
||||
)" |
||||
|
||||
if [ "$OPTION" = "Line Jack" ]; then |
||||
sxmo_megiaudioroute -l |
||||
record |
||||
elif [ "$OPTION" = "Microphone" ]; then |
||||
sxmo_megiaudioroute -m |
||||
record |
||||
elif echo "$OPTION" | grep "Recordings$"; then |
||||
restoreaudio |
||||
sxmo_files.sh "$RECDIR" |
||||
elif [ "$OPTION" = "Close Menu" ]; then |
||||
restoreaudio |
||||
exit 0 |
||||
fi |
||||
done |
Loading…
Reference in new issue