diff --git a/src/main.sh b/src/main.sh index 161bc05..6a5cbc2 100755 --- a/src/main.sh +++ b/src/main.sh @@ -196,6 +196,7 @@ while true; do --preview="$0 --internal-preview-artist {1}" \ --bind="ctrl-d:half-page-down,ctrl-u:half-page-up" \ --bind="down:preview-half-page-down,up:preview-half-page-up" \ + --bind="alt-b:execute-silent:xdg-open 'https://musicbrainz.org/artist/{r1}' &" \ --bind="change:execute-silent($0 --internal-search \$FZF_QUERY &)+reload($0 --internal-reload)" ) [ "$sel" ] && set -- "--show-artist" "$sel" diff --git a/src/sh/preview.sh b/src/sh/preview.sh index ab7406a..304263b 100644 --- a/src/sh/preview.sh +++ b/src/sh/preview.sh @@ -5,5 +5,32 @@ __preview_artist() { if [ ! "$desc" ]; then desc=$(mb_artist_discogs "$1" | $JQ -r '.profile' | sed 's/\[a=\([^]]*\)\]/\1/g') fi - printf "\n\n%s" "$desc" | tr -d '\r' | fold -s -w "$((FZF_PREVIEW_COLUMNS - 4))" | awk '{print " "$0" "}' | $CAT + if [ "$(mb_artist "$1" | $JQ -r '.type')" = "Person" ]; then + # Show birth place and death place of person + lsb=$(mb_artist "$1" | $JQ -r '."life-span".begin // ""' | head -c 4) + lse=$(mb_artist "$1" | $JQ -r '."life-span".end // ""' | head -c 4) + ab=$(mb_artist "$1" | $JQ -r '."begin-area".name // ""') + ae=$(mb_artist "$1" | $JQ -r '."end-area".name // ""') + if [ "$lsb" ] && [ "$ab" ]; then + begin=$(printf "$FORMAT_DATEPLACE" "$lsb" "$ab") + elif [ "$lsb" ]; then + begin=$(printf "$FORMAT_DATE" "$lsb") + elif [ "$ab" ]; then + begin=$(printf "$FORMAT_PLACE" "$ab") + else + begin="" + fi + if [ "$lse" ] && [ "$ae" ]; then + end=$(printf "$FORMAT_DATEPLACE" "$lse" "$ae") + elif [ "$lse" ]; then + end=$(printf "$FORMAT_DATE" "$lse") + elif [ "$ae" ]; then + end=$(printf "$FORMAT_PLACE" "$ae") + else + end="" + fi + [ "$begin" ] && begin="$(printf "$FORMAT_LIFESPAN_BORN" "$begin")" + [ "$end" ] && end="$(printf "$FORMAT_LIFESPAN_DIED" "$end")" + fi + printf "\n\n%s\n\n%s\n%s" "$desc" "$begin" "$end" | tr -d '\r' | fold -s -w "$((FZF_PREVIEW_COLUMNS - 4))" | awk '{print " "$0" "}' | $CAT } diff --git a/src/sh/theme.sh b/src/sh/theme.sh index aed195a..bc6b473 100644 --- a/src/sh/theme.sh +++ b/src/sh/theme.sh @@ -39,3 +39,10 @@ ARTIST_PROMPT="${ARTIST_PROMPT:-"🎤 ${COLOR_ARTIST}%s$COLOR_RESET 〉"}" #AFMT="${AFMT:-"🎤 ${ARTIST_COLOR}%s${OFF}"}" #RFMT="${RFMT:-"💽 ${RELEASE_COLOR}%s${OFF}"}" #TFMT="${TFMT:-"🎵 ${TRACK_COLOR}%s${OFF}"}" + +# Artist Preview +FORMAT_DATE="${FORMAT_DATE:-"%s"}" +FORMAT_PLACE="${FORMAT_PLACE:-"📍 %s"}" +FORMAT_DATEPLACE="${FORMAT_DATEPLACE:-"%s, 📍 %s"}" +FORMAT_LIFESPAN_BORN="${FORMAT_LIFESPAN_BORN:-"🍼 Born: %s"}" +FORMAT_LIFESPAN_DIED="${FORMAT_LIFESPAN_DIED:-"🕯️ Died: %s"}"