#!/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
