44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/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
|