From 28f6dc67ba3107c8f30af1824701b133d6568194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=84min=20Baumeler?= Date: Thu, 28 Aug 2025 10:30:57 +0200 Subject: [PATCH] imprv: code ref --- src/main.sh | 12 +----------- src/sh/lists.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/src/main.sh b/src/main.sh index f7423d2..8891417 100755 --- a/src/main.sh +++ b/src/main.sh @@ -539,17 +539,7 @@ while true; do "$MODE_SELECT_ARTIST") sel=$( echo "$args" | - $JQ -r 'map([.artist.id, .artist.type, .name] | join("\t")) | join("\n")' | - awk \ - -F "\t" \ - -v file_local_artists="${LOCALDATA_ARTISTS:-}" \ - -v format_person="$AV_PERSON" \ - -v format_group="$AV_GROUP" \ - -v format_disambiguation="$AV_DISAMBIGUATION" \ - -v format_local="$FORMAT_LOCAL" \ - "$AWK_ARTISTS" | - column -t -s "$(printf '\t')" | - sed 's| \+\([0-9a-f-]\+\)$|\t\1|' | + list_artists_from_json | $FZF \ --bind="$KEYS_HALFPAGE_DOWN,$KEYS_HALFPAGE_UP,\ $KEYS_BROWSE,\ diff --git a/src/sh/lists.sh b/src/sh/lists.sh index d7b3e15..e428e7c 100644 --- a/src/sh/lists.sh +++ b/src/sh/lists.sh @@ -165,3 +165,46 @@ generate_playlist() { sort_by([.pos, .number]) | map($base + "/" + .file)[]' } + +# Generate artist list from JSON +list_artists_from_json() { + cat | + $JQ -r 'map([.artist.id, .artist.type, .name] | join("\t")) | join("\n")' | + awk \ + -F "\t" \ + -v file_local_artists="${LOCALDATA_ARTISTS:-}" \ + -v format_person="$AV_PERSON" \ + -v format_group="$AV_GROUP" \ + -v format_disambiguation="$AV_DISAMBIGUATION" \ + -v format_local="$FORMAT_LOCAL" \ + "$AWK_ARTISTS" | + column -t -s "$(printf '\t')" | + sed 's| \+\([0-9a-f-]\+\)$|\t\1|' +} + +# Generate playlist +list_playlist() { + count=$(mpv_playlist_count) + # mb_release "$1" | + # $JQ -r '.media[] | + # .position as $pos | + # .tracks[] | [ + # .id, + # $pos, + # .number, + # .length, + # .recording.title, + # (.recording."artist-credit" | map([.name, .joinphrase] | join("")) | join("")) + # ] | + # join("\t")' | + # awk \ + # -F "\t" \ + # -v file_local_recordings="${rectmp:-}" \ + # -v format="$REC_FORMAT" \ + # -v format_local="$FORMAT_LOCAL" \ + # "$AWK_RECORDINGS" | + # sort -k1,1n -k2,2g | + # cut -d "$(printf '\t')" -f 2- | + # column -t -s "$(printf '\t')" -R 2,3,6 | + # sed 's| \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2|' +}