#!/bin/sh listen_metadata() { fmt="\"artist\":\"{{artist}}\",\"title\":\"{{title}}\",\"album\":\"{{album}}\"" fmt="$fmt,\"arturl\":\"{{mpris:artUrl}}\",\"length\":\"{{mpris:length}}\"" fmt="$fmt,\"duration\":\"{{duration(mpris:length)}}\"" playerctl --follow metadata --format "{$fmt}" | while read -r info; do artist=$(echo -e $info | jq -r ".artist") title=$(echo -e $info | jq -r ".title") url=$(echo -e $info | jq -r ".arturl") # cover=$(cover_art "$url") # lyrics=$(lyrics_lines "$artist" "$title") echo $info | jq -cr ". + {\"cover\":\"$cover\",\"lyrics\":\"$lyrics\"}" done } listen_position() { fmt="{\"position\":\"{{position}}\",\"time\":\"{{duration(position)}}\"}" playerctl --follow position --format "$fmt" } listen_status() { playerctl --follow status | while read -r playstatus; do if [[ $playstatus != "Playing" ]]; then icon="" else icon="" fi echo "{\"status\":\"$playstatus\",\"icon\":\"$icon\"}" done } case "$1" in "listen-metadata") listen_metadata ;; "listen-position") listen_position ;; "listen-status") listen_status ;; esac