ui-improvement: display release info
This commit is contained in:
@@ -12,21 +12,38 @@ fzf_command_set_header() {
|
||||
"$VIEW_LIST_ALBUMS") header="Search locally available album" ;;
|
||||
"$VIEW_ARTIST")
|
||||
name="$(mb_artist "$mbid" | $JQ '.name')"
|
||||
header=$(printf "$ARTIST_PROMPT" "$name")
|
||||
header=$(printf "$HEADER_ARTIST" "$name")
|
||||
;;
|
||||
"$VIEW_RELEASEGROUP")
|
||||
title="$(mb_releasegroup "$mbid" |
|
||||
$JQ '.title')"
|
||||
artist="$(mb_releasegroup "$mbid" |
|
||||
$JQ '."artist-credit" | map(([.name, .joinphrase]|join(""))) | join("")')"
|
||||
header=$(printf "$FULL_PROMPT" "$artist" "$title")
|
||||
header=$(printf "$HEADER_ARTIST_RELEASEGROUP" "$artist" "$title")
|
||||
;;
|
||||
"$VIEW_RELEASE")
|
||||
title="$(mb_release "$mbid" |
|
||||
$JQ '.title')"
|
||||
artist="$(mb_release "$mbid" |
|
||||
$JQ '."artist-credit" | map(([.name, .joinphrase]|join(""))) | join("")')"
|
||||
header=$(printf "$FULL_PROMPT" "$artist" "$title")
|
||||
releaseinfo="$(mb_release "$mbid" |
|
||||
$JQ '[
|
||||
.date[:4],
|
||||
(."label-info" | map(.label.name) | unique | join(", ")),
|
||||
(.media | map(."track-count") | add),
|
||||
(.media | map(.format) | unique | join(", ")),
|
||||
.country
|
||||
] | join("\t")' |
|
||||
awk -F "\t" -v format="$HEADER_RELEASE_FORMAT" '{
|
||||
gsub("&", "\\\\&")
|
||||
sub("<<year>>", $1, format)
|
||||
sub("<<label>>", $2, format)
|
||||
sub("<<tracks>>", $3, format)
|
||||
sub("<<media>>", $4, format)
|
||||
sub("<<country>>", $5, format)
|
||||
print format
|
||||
}')"
|
||||
header=$(printf "$HEADER_RELEASE" "$artist" "$title" "$releaseinfo")
|
||||
;;
|
||||
esac
|
||||
printf "+change-header(%s)" "${header:-"???"}"
|
||||
|
@@ -9,6 +9,7 @@ ESC=$(printf '\033')
|
||||
FAINT="${ESC}[2m"
|
||||
CARTIST="${ESC}[38;5;209m"
|
||||
CTITLE="${ESC}[38;5;229m"
|
||||
CRELINFO="${ESC}[38;5;179m"
|
||||
CYEAR="${ESC}[38;5;179m"
|
||||
CDISAMB="$FAINT${ESC}[38;5;172m"
|
||||
CNOTE="${ESC}[38;5;242m"
|
||||
@@ -25,24 +26,24 @@ FORMAT_LOCAL="${FORMAT_LOCAL:-"🔆"}"
|
||||
FORMAT_CURRENT="${FORMAT_CURRENT:-"👉"}"
|
||||
export FORMAT_LOCAL FORMAT_CURRENT
|
||||
|
||||
# Input prompts
|
||||
# Input prompt
|
||||
# =============
|
||||
# General search prompt
|
||||
# Search prompt
|
||||
SEARCH_PROMPT=${SEARCH_PROMPT:-"🔎 〉"}
|
||||
# Prompt that takes an artist name as argument
|
||||
ARTIST_PROMPT="${ARTIST_PROMPT:-"🎤 ${CARTIST}%s$OFF 〉"}"
|
||||
# Prompt that takes an artist name and a release name as arguments (in that
|
||||
# order)
|
||||
FULL_PROMPT="${FULL_PROMPT:-"🎤 ${CARTIST}%s$OFF 》${CTITLE}%s$OFF 〉"}"
|
||||
export SEARCH_PROMPT ARTIST_PROMPT FULL_PROMPT
|
||||
export SEARCH_PROMPT
|
||||
|
||||
# Visual representation of current mode
|
||||
# =====================================
|
||||
# Sign to indicate `normal` mode
|
||||
PROMPT_NORMAL="${PROMPT_NORMAL:-"${FAINT}[n]${OFF}"}"
|
||||
# Sign to indicate `insert` mode
|
||||
PROMPT_INSERT="${PROMPT_INSERT:-"${FAINT}[i]${OFF}"}"
|
||||
export PROMPT_NORMAL PROMPT_INSERT
|
||||
# Headers
|
||||
# =======
|
||||
# Header that displays artist's name
|
||||
HEADER_ARTIST="${HEADER_ARTIST:-"🎤 ${CARTIST}%s$OFF 〉"}"
|
||||
# Header that displays the release-group name after artist's
|
||||
HEADER_ARTIST_RELEASEGROUP="${HEADER_ARTIST_RELEASEGROUP:-"🎤 ${CARTIST}%s$OFF 》${CTITLE}%s$OFF 〉"}"
|
||||
# Header that in addition to `HEADER_ARTIST_RELEASEGROUP` also shows some
|
||||
# release information
|
||||
HEADER_RELEASE="${HEADER_RELEASE:-"🎤 ${CARTIST}%s$OFF 》${CTITLE}%s$OFF 〉%s"}"
|
||||
# The release information is formatted as follows (placeholders implicit):
|
||||
HEADER_RELEASE_FORMAT="${HEADER_RELEASE_FORMAT:-"${CRELINFO}<<tracks>> tx <<media>> $OFF|$CRELINFO <<label>> <<country>> <<year>>$OFF"}"
|
||||
export HEADER_ARTIST HEADER_ARTIST_RELEASEGROUP HEADER_RELEASE HEADER_RELEASE_FORMAT
|
||||
|
||||
# Artist view
|
||||
# ===========
|
||||
|
Reference in New Issue
Block a user