cmus now works with only 1 call for entire block

This commit is contained in:
Andrew Titmuss 2016-06-05 09:07:47 +10:00
parent 8d88fe172e
commit e2e74f1de3
No known key found for this signature in database
GPG key ID: 8AF42975C787E0B2

View file

@ -1452,18 +1452,13 @@ getsong () {
state=$(mpc | awk -F '\\[|\\]' '/\[/ {printf $2}' 2>/dev/null)
elif [ -n "$(ps x | awk '!(/awk/) && /cmus/')" ]; then
song="$(cmus-remote -Q | grep "tag artist \|title" 2>/dev/null | tr -d '\012')"
if [ "$(printf "$song" | awk '{print $2}')" == "title" ]; then
artist="${song##*tag artist }"
title="${song##*tag title }"
title="${title%%tag artist*}"
else
artist="${song##tag artist }"
artist="${artist%%tag title*}"
title="${song##*tag title }"
fi
IFS=$'\n'
song=($(cmus-remote -Q | grep "tag artist \|title \|status" 2>/dev/null | sort))
artist=${song[1]/tag artist }
title=${song[2]/tag title }
state=${song[0]/status }
song="$artist - $title"
state=$(cmus-remote -Q | awk -F ' ' '/status/ {printf $2}' 2>/dev/null)
elif pgrep "mocp" >/dev/null 2>&1; then
song="$(mocp -Q "%artist - %song" 2>/dev/null)"