X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=pages%2Fplayctl.sh;h=591efd6695d89c792edcca1cde960fc3d4f73e82;hb=86e8f96af15808d921bba4e8daf3b3facbd00afd;hp=79122fd00d9f4f5ea370abdc33ec4b3883b471b3;hpb=ae511b015a59ba72086e6d232c74d5845b71cbb8;p=serve0 diff --git a/pages/playctl.sh b/pages/playctl.sh index 79122fd..591efd6 100755 --- a/pages/playctl.sh +++ b/pages/playctl.sh @@ -23,6 +23,7 @@ info="${_GET[i]}" location="$(invalidate "${_GET[l]}" '(.*/)?\.\.(/.*)?|' /)" directory="${location%/*}" statusfile="$_DATA/mplayer.status" +statusfile="/tmp/mplayer.status" [ -n "$info" ] && video="${_DATA}/videos/$info" \ || video="${treeroot%/}/${location#/}" @@ -36,14 +37,24 @@ volume=$(validate "$(cat "$_DATA/mplayer.volume")" '[1-9]?[0-9]|100' 20) debug VIDEO: $video +pa_sinks(){ + if which pactl >/dev/null; then + export DISPLAY=":0" + export XDG_RUNTIME_DIR="/run/user/$(id |sed -rn '1s;.*uid=([0-9]+)[^0-9].*;\1;p')" + + pactl list sinks \ + | sed -rn '/Sink #/{:X;N;/Description: /!bX;s;Sink #([0-9]+).+Description: (.*);\1 \2;p}' + fi +} + printf 'Refresh: 1\r\n' progress(){ cr="$(printf \\r)" - tail --pid=$$ -c0 -f "$statusfile" \ + tail --pid=$$ -c100 -f "$statusfile" \ | while read -d "$cr" line; do - [ $line = "BREAK" ] && exit 0 + [ "$line" = "BREAK" ] && exit 0 printf '%s\n' "$line" done \ | sed -urn '1~12s;^.* V: *+([0-9]+)(\.[0-9]+) A-V:.*$;\1;p' \