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
. "sh/fzf.sh"
if [ "${1:-}" = "--fzf-reload" ]; then
case "${1:-}" in
"--fzf-reload")
fzf_handle_reload
exit 0
fi
if [ "${1:-}" = "--fzf-load" ]; then
;;
"--fzf-load")
fzf_handle_load
exit 0
fi
if [ "${1:-}" = "--fzf-info" ]; then
;;
"--fzf-info")
fzf_info
exit 0
fi
if [ "${1:-}" = "--fzf-change-reload" ]; then
;;
"--fzf-change-reload")
fzf_reload_after_change
exit 0
fi
if [ "${1:-}" = "--fzf-change" ]; then
;;
"--fzf-change")
fzf_handle_change
exit 0
fi
if [ "${1:-}" = "--fzf-key" ]; then
;;
"--fzf-key")
fzf_handle_key "${2:-}" "${3:-}" "${4:-}"
exit 0
fi
# Support of local music files
if [ "${1:-}" = "--decorate" ]; then
;;
"--decorate")
[ ! "${2:-}" ] && err "You did not specify a directory." && exit 1
[ ! -d "$2" ] && err "Path $2 does not point to a directory." && exit 1
if ! decorate "$2"; then
@@ -89,23 +83,24 @@ if [ "${1:-}" = "--decorate" ]; then
exit 1
fi
exit 0
fi
if [ "${1:-}" = "--reload" ]; then
;;
"--reload")
[ ! "${2:-}" ] && err "Path to decorated music is missing." && exit 1
[ ! -d "$2" ] && err "Path does not point to a directory." && exit 1
info "Reloading information of local music directory $2"
load_local "$2" || err "Failed to load local data"
info "Done"
exit 0
fi
if [ "${1:-}" = "--internal-preview-artist" ]; then
;;
"--internal-preview-artist")
__preview_artist "$2"
exit 0
fi
if [ "${1:-}" = "--help" ]; then
;;
"--playlist")
list_playlist
exit 0
;;
"--help")
cat <<EOF
Usage: $0 [OPTION]
@@ -123,15 +118,15 @@ GENERAL OPTIONS:
MANAGE LOCAL MUSIC:
--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
exit 0
fi
if [ "${1:-}" = "--refresh-view" ]; then
;;
"--refresh-view")
precompute_view
exit 0
fi
;;
esac
# Set 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"
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
VIEW_ARTIST="artist"
VIEW_RELEASEGROUP="rg"
@@ -241,6 +226,7 @@ $KEYS_FILTER_LOCAL:transform:$0 --fzf-key {2} {3} {4}" \
--no-input \
--margin="2%,10%" \
--bind="$KEYS_ALL:transform:$0 --fzf-key {2} {3} {4}" \
--bind="r,ctrl-r:reload:$0 --playlist" \
--delimiter="\t" \
--with-nth="{1}" >/dev/null
;;

View File

@@ -123,7 +123,7 @@ fzf_reload_after_change() {
sleep 1
done
# 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|'
}

View File

@@ -2,6 +2,9 @@ ERR="\033[38;5;196m"
INFO="\033[38;5;75m"
DBG=$ERR
OFF="\033[m"
LOGDIR="$HOME/.local/state/$APP_NAME"
[ -d "$LOGDIR" ] || mkdir -p "$LOGDIR"
LOGFILE="$LOGDIR/log"
err() {
echo "${ERR}ERROR:${OFF} ${1:-}" >/dev/stderr
@@ -12,5 +15,5 @@ info() {
}
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" |
sort -n -r |
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|'
}
@@ -86,7 +86,7 @@ list_releases() {
"$AWK_RELEASES" |
sort -n -r |
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|'
}
@@ -123,7 +123,7 @@ list_recordings() {
"$AWK_RECORDINGS" |
sort -k1,1n -k2,2g |
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|'
if [ "${rectmp:-}" ] && [ -f "$rectmp" ]; then
rm -f "$rectmp"
@@ -198,7 +198,7 @@ list_artists_from_json() {
-v format_disambiguation="$AV_DISAMBIGUATION" \
-v format_local="$FORMAT_LOCAL" \
"$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|'
}
@@ -228,7 +228,7 @@ list_playlist() {
-v current_id="$current_id" \
"$AWK_RECORDINGS" |
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|'
rm -f "$rectmp" "$mpvtmp"
}

View File

@@ -125,7 +125,7 @@ precompute_view() {
-v format_local="$FORMAT_LOCAL" \
"$AWK_ARTISTS" |
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"
info "Precomputing releasegroup view"
while IFS= read -r rgid; do
@@ -167,7 +167,7 @@ precompute_view() {
"$AWK_RELEASEGROUPS" |
sort -n -r |
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"
info "Precomputing release view"
cut -d "$(printf '\t')" -f 1 "$LOCALDATA_RELEASES" |
@@ -204,7 +204,7 @@ precompute_view() {
"$AWK_RELEASES" |
sort -n -r |
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"
}

View File

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

View File

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