Files
dotfiles/eww/scripts/music
T
2024-09-02 10:24:25 +07:00

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