X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=actions%2Fplayctl.sh;h=9af8f7b8d0c5d9af813ad8eb451feb41aef2721f;hb=036ced19c16e5fe9cdab244b40f8b14b31a32fe8;hp=55997cad1af59a60c1fc4a4a2c5e1b46a2f4e58c;hpb=5194cb7ab0b85c39208d94c68ab634e9ee6d9784;p=serve0 diff --git a/actions/playctl.sh b/actions/playctl.sh index 55997ca..9af8f7b 100755 --- a/actions/playctl.sh +++ b/actions/playctl.sh @@ -26,6 +26,24 @@ export XDG_RUNTIME_DIR="/run/user/$(id |sed -rn '1s;.*uid=([0-9]+)[^0-9].*;\1;p' printf '\rBREAK\r' >> "$statusfile" +if [ "${_GET[api]}" = progress ]; then + cr="$(printf \\r)" + printf 'Content-Type: text/plain\r\n\r\n' + + read length <${_DATA}/mplayer.meta + tail --pid=$$ -c100 -f "$statusfile" \ + | while read -d "$cr" line; do + [ "$line" = "BREAK" ] && exit 0 + printf '%s\n' "$line" + done \ + | sed -urn '1~12s;^.* V: *+([0-9]+)(\.[0-9]+) A-V:.*$;\1;p' + exit 0 +elif [ "${_GET[api]}" = volume ]; then + printf 'Content-Type: text/plain\r\n\r\n' + validate "$(cat "$_DATA/mplayer.volume")" '[1-9]?[0-9]|100' 20 + exit 0 +fi + if [ -n "${_POST[amp]+x}" ]; then amp $(validate "${_POST[amp]}" '(on|off)' off) elif [ -n "${_POST[vol]+x}" ]; then