exits gracefully
This commit is contained in:
parent
54b2e84dcf
commit
3e947c2199
30
mpvmusic.sh
30
mpvmusic.sh
@ -6,7 +6,6 @@
|
||||
# jq
|
||||
#
|
||||
#set -x
|
||||
|
||||
config_path="$HOME/.config/mpvmusic/config.sh"
|
||||
if [ -f $config_path ]; then
|
||||
echo "config exists"
|
||||
@ -15,22 +14,27 @@ else
|
||||
fi
|
||||
source $config_path
|
||||
previous_songs_path=""
|
||||
#find $playlist_path -type f > song_list.txt
|
||||
export quit_mpv=false
|
||||
kill -9 $(pidof mpv) > /dev/null 2>&1
|
||||
handle_sigint() {
|
||||
echo "Quitting..."
|
||||
export quit_mpv=true
|
||||
echo $quit_mpv
|
||||
pkill -9 $$
|
||||
kill -9 $(pgrep mpv)
|
||||
exit 0
|
||||
}
|
||||
|
||||
while [ 1 == 1 ]; do
|
||||
trap handle_sigint SIGINT
|
||||
while [ $quit_mpv = false ]; do
|
||||
#echo $quit_mpv
|
||||
mpv_running=$(pidof mpv)
|
||||
if [ -z "$mpv_running" ]; then
|
||||
if [ -z "$mpv_running" ] && [ $quit_mpv = false ]; then
|
||||
echo "mpv process not found, (re)starting..."
|
||||
mpv --shuffle --really-quiet $playlist_path --input-ipc-server=/tmp/mpvsocket &
|
||||
else
|
||||
echo "mpv is already running"
|
||||
fi
|
||||
sleep 1
|
||||
done &
|
||||
|
||||
sleep 1
|
||||
|
||||
while [ 1 == 1 ]; do
|
||||
sleep 0.5
|
||||
while [ $quit_mpv = false ]; do
|
||||
path=$(echo '{ "command": ["get_property", "path"] }' | socat - "/tmp/mpvsocket" | jq -r '.data')
|
||||
if [[ $path != $previous_songs_path ]]; then
|
||||
clear
|
||||
@ -51,4 +55,6 @@ while [ 1 == 1 ]; do
|
||||
fi
|
||||
previous_songs_path=$path
|
||||
sleep 0.5
|
||||
done
|
||||
done
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user