#!/usr/bin/env sh
######################################################################
# @author : swytch (adapted from Luke Smith - lukesmith.xyz)
# @file : sb-music
# @license : GPLv3
# @created : Saturday Feb 13, 2021 18:05:21 CET
#
# @description : music block for dwmblocks
unicode() { sed "s/[‘’]/'/g;s/[“”]/\"/g"; }
format() { sed "s/^volume:n\/a.*//g;/^volume:/d;s/\\&/&/g;s/\\[paused\\].*//g;s/\\[playing\\].*//g"; }
mpc="$(mpc --format "%albumartist% ~ %artist% ~ %title%")"
title="$(echo "$mpc" | head -n1 | cut -d'~' -f3 | unicode)"
[ "$(echo "$title" | wc -c)" -gt 18 ] && title="$(printf "%.15s..." "$title")"
artist="$(echo "$mpc" | head -n1 | cut -d'~' -f1 | unicode)"
[ "Various Artists " = "$artist" ] &&
artist="$(echo "$mpc" | head -n1 | cut -d'~' -f2 | unicode)"
[ "$(echo "$artist" | wc -c)" -gt 18 ] && artist="$(printf "%.15s..." "$artist")"
status="$(echo "$mpc" | tail -n2 | format)"
pgrep -f sb-mpdup >/dev/null 2>&1 || sb-mpdup >/dev/null 2>&1 &
[ -n "$status" ] && printf " %s %s-%s " "$status" "$artist" "$title"