38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Send a command to every running mpv instance via its IPC socket
|
|
# (created by the mpvSockets.lua script in ~/.config/mpv/scripts).
|
|
#
|
|
# Usage: pauseallmpv [subcommand]
|
|
# (no arg) pause all mpv instances (original behavior)
|
|
# toggle toggle pause
|
|
# play unpause
|
|
# next playlist-next
|
|
# prev playlist-prev
|
|
# stop stop playback
|
|
# seek-fwd seek +10s
|
|
# seek-back seek -10s
|
|
#
|
|
# Exit status: 0 if at least one mpv instance was reached, 1 otherwise.
|
|
|
|
case "${1:-pause}" in
|
|
pause) cmd='["set_property","pause",true]' ;;
|
|
toggle) cmd='["cycle","pause"]' ;;
|
|
play) cmd='["set_property","pause",false]' ;;
|
|
next) cmd='["playlist-next"]' ;;
|
|
prev) cmd='["playlist-prev"]' ;;
|
|
stop) cmd='["stop"]' ;;
|
|
seek-fwd) cmd='["seek",10]' ;;
|
|
seek-back) cmd='["seek",-10]' ;;
|
|
*) echo "Usage: $0 [pause|toggle|play|next|prev|stop|seek-fwd|seek-back]" >&2; exit 2 ;;
|
|
esac
|
|
|
|
rc=1
|
|
for s in /tmp/mpvSockets/*; do
|
|
[ -S "$s" ] || continue
|
|
rc=0
|
|
printf '{"command":%s}\n' "$cmd" | socat - "$s" >/dev/null
|
|
done
|
|
|
|
exit $rc
|