#!/bin/sh set -eu # Load helper methods . "sh/info.sh" # Load helper methods . "sh/helper.sh" # Load theme . "sh/theme.sh" # Load AWK scripts . "sh/awk.sh" # Load tools . "sh/tools.sh" # Load MusicBrainz and Discogs methods . "sh/api.sh" # Load preview methods . "sh/preview.sh" if [ "${1:-}" = "--internal-preview-artist" ]; then __preview_artist "$2" exit 0 fi if [ "${1:-}" = "--internal-reload" ]; then sleep 2 while [ -f "$LOCKFILE" ]; do sleep 1 done cat "$RESULTS" exit 0 fi if [ "${1:-}" = "--internal-search" ]; then printf "" >"$RESULTS" if [ -f "$PIDFILE" ]; then pid=$(cat "$PIDFILE") rm -f "$PIDFILE" kill -9 "$pid" >/dev/null 2>&1 || true fi [ ! "${2}" ] && exit 0 # Save current pid echo "$$" >"$PIDFILE" sleep 1 touch "$LOCKFILE" mb_search_artists "$2" | $JQ -r '.artists[] | [.id, .type, .name, .disambiguation, .["life-span"].begin, .["life-span"].end] | join("\t")' | awk \ -F "\t" \ -v format_person="$FORMAT_PERSON" \ -v format_group="$FORMAT_GROUP" \ -v format_disambiguation="$FORMAT_DISAMBIGUATION" \ "$AWK_ARTISTS" | tee "$RESULTS" || true rm -f "$LOCKFILE" "$PIDFILE" exit 0 fi if [ "${1:-}" = "--internal-browse-artist" ]; then mb_browse_release_groups "$2" | $JQ -r '."release-groups"[] | [ .id, ."primary-type", (."secondary-types"|join(";")), ."first-release-date", .title ] | join("\t")' | awk \ -F "\t" \ -v format_release="$FORMAT_RELEASE" \ -v format_year="$FORMAT_YEAR" \ -v format_album="$FORMAT_TYPE_ALBUM" \ -v format_single="$FORMAT_TYPE_SINGLE" \ -v format_ep="$FORMAT_TYPE_EP" \ -v format_broadcast="$FORMAT_TYPE_BROADCAST" \ -v format_other="$FORMAT_TYPE_OTHER" \ -v format_compilation="$FORMAT_TYPE_SECONDARY_COMPILATION" \ -v format_soundtrack="$FORMAT_TYPE_SECONDARY_SOUNDTRACK" \ -v format_spokenword="$FORMAT_TYPE_SECONDARY_SPOKENWORD" \ -v format_interview="$FORMAT_TYPE_SECONDARY_INTERVIEW" \ -v format_audiobook="$FORMAT_TYPE_SECONDARY_AUDIOBOOK" \ -v format_audiodrama="$FORMAT_TYPE_SECONDARY_AUDIODRAMA" \ -v format_live="$FORMAT_TYPE_SECONDARY_LIVE" \ -v format_remix="$FORMAT_TYPE_SECONDARY_REMIX" \ -v format_djmix="$FORMAT_TYPE_SECONDARY_DJMIX" \ -v format_mixtape="$FORMAT_TYPE_SECONDARY_MIXTAPE" \ -v format_demo="$FORMAT_TYPE_SECONDARY_DEMO" \ -v format_fieldrec="$FORMAT_TYPE_SECONDARY_FIELDREC" \ "$AWK_RELEASEGROUPS" | sort | sort -t "$(printf '\t')" -k 5 -n -r | column -t -s "$(printf '\t')" | sed 's| \+[0-9]\+ \+\([0-9a-f-]\+\)$|\t\1|' exit 0 fi if [ "${1:-}" = "--help" ]; then $CAT <