script things
This commit is contained in:
@@ -1,6 +1,36 @@
|
||||
#! /bin/bash
|
||||
|
||||
for f in ./script.d/*.wav; do
|
||||
read -p "enter to play <$f>"
|
||||
afplay "$f"
|
||||
done
|
||||
proc_is_running() {
|
||||
ps aux | grep -v grep | awk '{print $2}' | grep ^"$1"$ &> /dev/null
|
||||
}
|
||||
|
||||
block_proc() {
|
||||
local pid="$1"
|
||||
local limit="${TIMEOUT:-100}"
|
||||
deadline=$(($(date +%s) + limit))
|
||||
while [ $(date +%s) -lt $deadline ] && proc_is_running "$pid"; do
|
||||
sleep 1
|
||||
done
|
||||
kill -9 "$pid" &> /dev/null
|
||||
}
|
||||
|
||||
main() {
|
||||
cleanup() {
|
||||
kill -9 $(jobs -p)
|
||||
killall afplay mpv
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
for f in ./script.d/*.wav; do
|
||||
if [ "$#" != "0" ]; then
|
||||
eval "$1"
|
||||
else
|
||||
read -p "enter to play <$f>"
|
||||
fi
|
||||
mpv --no-video "$f" &
|
||||
export pid=${!}
|
||||
block_proc $pid
|
||||
done
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user