Compare commits

..

2 Commits

Author SHA1 Message Date
1883109616 improvements and removed status texts 2025-09-02 21:30:35 +02:00
1a7f11330c minor improvements 2025-09-02 20:50:04 +02:00
7 changed files with 51 additions and 61 deletions

View File

@@ -50,38 +50,32 @@ set -eu
# FZF handlers # FZF handlers
. "sh/fzf.sh" . "sh/fzf.sh"
if [ "${1:-}" = "--fzf-reload" ]; then case "${1:-}" in
"--fzf-reload")
fzf_handle_reload fzf_handle_reload
exit 0 exit 0
fi ;;
"--fzf-load")
if [ "${1:-}" = "--fzf-load" ]; then
fzf_handle_load fzf_handle_load
exit 0 exit 0
fi ;;
"--fzf-info")
if [ "${1:-}" = "--fzf-info" ]; then
fzf_info fzf_info
exit 0 exit 0
fi ;;
"--fzf-change-reload")
if [ "${1:-}" = "--fzf-change-reload" ]; then
fzf_reload_after_change fzf_reload_after_change
exit 0 exit 0
fi ;;
"--fzf-change")
if [ "${1:-}" = "--fzf-change" ]; then
fzf_handle_change fzf_handle_change
exit 0 exit 0
fi ;;
"--fzf-key")
if [ "${1:-}" = "--fzf-key" ]; then
fzf_handle_key "${2:-}" "${3:-}" "${4:-}" fzf_handle_key "${2:-}" "${3:-}" "${4:-}"
exit 0 exit 0
fi ;;
"--decorate")
# Support of local music files
if [ "${1:-}" = "--decorate" ]; then
[ ! "${2:-}" ] && err "You did not specify a directory." && exit 1 [ ! "${2:-}" ] && err "You did not specify a directory." && exit 1
[ ! -d "$2" ] && err "Path $2 does not point to a directory." && exit 1 [ ! -d "$2" ] && err "Path $2 does not point to a directory." && exit 1
if ! decorate "$2"; then if ! decorate "$2"; then
@@ -89,23 +83,24 @@ if [ "${1:-}" = "--decorate" ]; then
exit 1 exit 1
fi fi
exit 0 exit 0
fi ;;
"--reload")
if [ "${1:-}" = "--reload" ]; then
[ ! "${2:-}" ] && err "Path to decorated music is missing." && exit 1 [ ! "${2:-}" ] && err "Path to decorated music is missing." && exit 1
[ ! -d "$2" ] && err "Path does not point to a directory." && exit 1 [ ! -d "$2" ] && err "Path does not point to a directory." && exit 1
info "Reloading information of local music directory $2" info "Reloading information of local music directory $2"
load_local "$2" || err "Failed to load local data" load_local "$2" || err "Failed to load local data"
info "Done" info "Done"
exit 0 exit 0
fi ;;
"--internal-preview-artist")
if [ "${1:-}" = "--internal-preview-artist" ]; then
__preview_artist "$2" __preview_artist "$2"
exit 0 exit 0
fi ;;
"--playlist")
if [ "${1:-}" = "--help" ]; then list_playlist
exit 0
;;
"--help")
cat <<EOF cat <<EOF
Usage: $0 [OPTION] Usage: $0 [OPTION]
@@ -123,15 +118,15 @@ GENERAL OPTIONS:
MANAGE LOCAL MUSIC: MANAGE LOCAL MUSIC:
--decorate <path> Decorate directory containing a tagged release --decorate <path> Decorate directory containing a tagged release
--reload <path> Populate da$KEYS_SWITCH_ARTIST_ALBUMase with decorated local music from <path> --reload <path> Populate database with decorated local music from <path>
EOF EOF
exit 0 exit 0
fi ;;
"--refresh-view")
if [ "${1:-}" = "--refresh-view" ]; then
precompute_view precompute_view
exit 0 exit 0
fi ;;
esac
# Set window title # Set window title
printf '\033]0;%s\007' "$WINDOW_TITLE" printf '\033]0;%s\007' "$WINDOW_TITLE"
@@ -152,16 +147,6 @@ ARGSFILE_LAST="$statedir/state-args2"
touch "$STATEFILE" "$ARGSFILE" "$STATEFILE_LAST" "$ARGSFILE_LAST" touch "$STATEFILE" "$ARGSFILE" "$STATEFILE_LAST" "$ARGSFILE_LAST"
export STATEFILE ARGSFILE STATEFILE_LAST ARGSFILE_LAST export STATEFILE ARGSFILE STATEFILE_LAST ARGSFILE_LAST
if [ "${1:-}" = "--ni-search-artist" ]; then
$0 --internal-search "artist" "$2"
exit 0
fi
if [ "${1:-}" = "--ni-search-album" ]; then
$0 --internal-search "releasegroup" "$2"
exit 0
fi
# Views and modes # Views and modes
VIEW_ARTIST="artist" VIEW_ARTIST="artist"
VIEW_RELEASEGROUP="rg" VIEW_RELEASEGROUP="rg"
@@ -241,6 +226,7 @@ $KEYS_FILTER_LOCAL:transform:$0 --fzf-key {2} {3} {4}" \
--no-input \ --no-input \
--margin="2%,10%" \ --margin="2%,10%" \
--bind="$KEYS_ALL:transform:$0 --fzf-key {2} {3} {4}" \ --bind="$KEYS_ALL:transform:$0 --fzf-key {2} {3} {4}" \
--bind="r,ctrl-r:reload:$0 --playlist" \
--delimiter="\t" \ --delimiter="\t" \
--with-nth="{1}" >/dev/null --with-nth="{1}" >/dev/null
;; ;;

View File

@@ -123,7 +123,7 @@ fzf_reload_after_change() {
sleep 1 sleep 1
done done
# Show results # Show results
column -t -s "$(printf '\t')" "$RESULTS" | column -t -s "$(printf '\t')" -E 0 "$RESULTS" |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|'
} }

View File

@@ -2,6 +2,9 @@ ERR="\033[38;5;196m"
INFO="\033[38;5;75m" INFO="\033[38;5;75m"
DBG=$ERR DBG=$ERR
OFF="\033[m" OFF="\033[m"
LOGDIR="$HOME/.local/state/$APP_NAME"
[ -d "$LOGDIR" ] || mkdir -p "$LOGDIR"
LOGFILE="$LOGDIR/log"
err() { err() {
echo "${ERR}ERROR:${OFF} ${1:-}" >/dev/stderr echo "${ERR}ERROR:${OFF} ${1:-}" >/dev/stderr
@@ -12,5 +15,5 @@ info() {
} }
debug() { debug() {
echo "${DBG}DEBUG${OFF} ${INFO} [$$] $(date)${OFF}: $*" >>"$APP_NAME.debug.log" echo "${DBG}DEBUG${OFF} ${INFO} [$$] $(date)${OFF}: $*" >>"$LOGFILE"
} }

View File

@@ -41,7 +41,7 @@ list_releasegroups() {
"$AWK_RELEASEGROUPS" | "$AWK_RELEASEGROUPS" |
sort -n -r | sort -n -r |
cut -d "$(printf '\t')" -f 2- | cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" | column -t -s "$(printf '\t')" -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|'
} }
@@ -86,7 +86,7 @@ list_releases() {
"$AWK_RELEASES" | "$AWK_RELEASES" |
sort -n -r | sort -n -r |
cut -d "$(printf '\t')" -f 2- | cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" | column -t -s "$(printf '\t')" -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|' sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|'
} }
@@ -123,7 +123,7 @@ list_recordings() {
"$AWK_RECORDINGS" | "$AWK_RECORDINGS" |
sort -k1,1n -k2,2g | sort -k1,1n -k2,2g |
cut -d "$(printf '\t')" -f 2- | cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" -R 3,4,7 | column -t -s "$(printf '\t')" -R 3,4,7 -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|' sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|'
if [ "${rectmp:-}" ] && [ -f "$rectmp" ]; then if [ "${rectmp:-}" ] && [ -f "$rectmp" ]; then
rm -f "$rectmp" rm -f "$rectmp"
@@ -198,7 +198,7 @@ list_artists_from_json() {
-v format_disambiguation="$AV_DISAMBIGUATION" \ -v format_disambiguation="$AV_DISAMBIGUATION" \
-v format_local="$FORMAT_LOCAL" \ -v format_local="$FORMAT_LOCAL" \
"$AWK_ARTISTS" | "$AWK_ARTISTS" |
column -t -s "$(printf '\t')" | column -t -s "$(printf '\t')" -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|'
} }
@@ -228,7 +228,7 @@ list_playlist() {
-v current_id="$current_id" \ -v current_id="$current_id" \
"$AWK_RECORDINGS" | "$AWK_RECORDINGS" |
cut -d "$(printf '\t')" -f 2- | cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" -R 5 | column -t -s "$(printf '\t')" -R 5 -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|' sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|'
rm -f "$rectmp" "$mpvtmp" rm -f "$rectmp" "$mpvtmp"
} }

View File

@@ -125,7 +125,7 @@ precompute_view() {
-v format_local="$FORMAT_LOCAL" \ -v format_local="$FORMAT_LOCAL" \
"$AWK_ARTISTS" | "$AWK_ARTISTS" |
sort | sort |
column -t -s "$(printf '\t')" | column -t -s "$(printf '\t')" -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' >"$LOCALDATA_ARTISTS_VIEW" sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' >"$LOCALDATA_ARTISTS_VIEW"
info "Precomputing releasegroup view" info "Precomputing releasegroup view"
while IFS= read -r rgid; do while IFS= read -r rgid; do
@@ -167,7 +167,7 @@ precompute_view() {
"$AWK_RELEASEGROUPS" | "$AWK_RELEASEGROUPS" |
sort -n -r | sort -n -r |
cut -d "$(printf '\t')" -f 2- | cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" | column -t -s "$(printf '\t')" -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' >"$LOCALDATA_RELEASEGROUPS_VIEW" sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\)$|\t\1\t\2|' >"$LOCALDATA_RELEASEGROUPS_VIEW"
info "Precomputing release view" info "Precomputing release view"
cut -d "$(printf '\t')" -f 1 "$LOCALDATA_RELEASES" | cut -d "$(printf '\t')" -f 1 "$LOCALDATA_RELEASES" |
@@ -204,7 +204,7 @@ precompute_view() {
"$AWK_RELEASES" | "$AWK_RELEASES" |
sort -n -r | sort -n -r |
cut -d "$(printf '\t')" -f 2- | cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" | column -t -s "$(printf '\t')" -E 0 |
sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|' >"$LOCALDATA_RELEASES_VIEW" sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|' >"$LOCALDATA_RELEASES_VIEW"
} }

View File

@@ -35,6 +35,7 @@ mpv_start() {
mpv_play_list() { mpv_play_list() {
t=$(mktemp) t=$(mktemp)
cat >"$t" cat >"$t"
debug "Playing $(cat "$t")"
__mpv_command_with_arg "loadlist" "$t" __mpv_command_with_arg "loadlist" "$t"
rm -f "$t" rm -f "$t"
} }

View File

@@ -118,13 +118,13 @@ RV_ARTIST="${RV_ARTIST:-"${FAINT}by ${CARTIST}<<artist>>$OFF"}"
# Release Status # Release Status
# ============== # ==============
FORMAT_STATUS_OFFICIAL="${FORMAT_STATUS_OFFICIAL:-"🟢 official"}" FORMAT_STATUS_OFFICIAL="${FORMAT_STATUS_OFFICIAL:-"🟢"}"
FORMAT_STATUS_PROMO="${FORMAT_STATUS_PROMO:-"📣 promo"}" FORMAT_STATUS_PROMO="${FORMAT_STATUS_PROMO:-"📣"}"
FORMAT_STATUS_BOOTLEG="${FORMAT_STATUS_BOOTLEG:-"💣 bootleg"}" FORMAT_STATUS_BOOTLEG="${FORMAT_STATUS_BOOTLEG:-"💣"}"
FORMAT_STATUS_PSEUDO="${FORMAT_STATUS_PSEUDO:-"🌀 pseudo"}" FORMAT_STATUS_PSEUDO="${FORMAT_STATUS_PSEUDO:-"🌀"}"
FORMAT_STATUS_WITHDRAWN="${FORMAT_STATUS_WITHDRAWN:-"🔙 withdrawn"}" FORMAT_STATUS_WITHDRAWN="${FORMAT_STATUS_WITHDRAWN:-"🔙"}"
FORMAT_STATUS_EXPUNGED="${FORMAT_STATUS_EXPUNGED:-"🧹 expunged"}" FORMAT_STATUS_EXPUNGED="${FORMAT_STATUS_EXPUNGED:-"🧹"}"
FORMAT_STATUS_CANCELLED="${FORMAT_STATUS_CANCELLED:-"❌ cancelled"}" FORMAT_STATUS_CANCELLED="${FORMAT_STATUS_CANCELLED:-"❌"}"
# Recording view # Recording view
# ============== # ==============