From 1d0ae4b5b26b8d5bbdd60954200c73a5e43f9255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=84min=20Baumeler?= Date: Thu, 28 Aug 2025 16:14:56 +0200 Subject: [PATCH] fixed queue and movements --- src/main.sh | 41 ++++++++++++++++++++++++++--------------- src/sh/keys.sh | 2 +- src/sh/lists.sh | 1 - src/sh/mpv.sh | 7 ++----- 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/main.sh b/src/main.sh index daae439..b9043e9 100755 --- a/src/main.sh +++ b/src/main.sh @@ -251,11 +251,17 @@ if [ "${1:-}" = "--fzf-key" ]; then "$MODE_RELEASE") generate_playlist "$parentmbid" "$path" "$mbid" | mpv_play_list >/dev/null ;; + "$MODE_PLAYLIST") + generate_playlist "$parentmbid" "$path" "$mbid" | mpv_play_list >/dev/null + MODE_NEXT="$MODE_PLAYLIST" + ACCEPT=1 + ;; esac ;; esac case ",$KEYS_QUEUE," in *",$FZF_KEY,"*) + foo "queue key pressed" [ "$path" ] || exit 0 case "$mode" in "$MODE_RELEASEGROUP") @@ -264,6 +270,11 @@ if [ "${1:-}" = "--fzf-key" ]; then "$MODE_RELEASE") generate_playlist "$parentmbid" "$path" "$mbid" | mpv_queue_list >/dev/null ;; + "$MODE_PLAYLIST") + generate_playlist "$parentmbid" "$path" "$mbid" | mpv_queue_list >/dev/null + MODE_NEXT="$MODE_PLAYLIST" + ACCEPT=1 + ;; esac ;; esac @@ -271,10 +282,16 @@ if [ "${1:-}" = "--fzf-key" ]; then *",$FZF_KEY,"*) mpv_toggle_pause >/dev/null ;; esac case ",$KEYS_PLAY_NEXT," in - *",$FZF_KEY,"*) mpv_next >/dev/null ;; + *",$FZF_KEY,"*) + mpv_next >/dev/null + [ "$mode" = "$MODE_PLAYLIST" ] && MODE_NEXT="$MODE_PLAYLIST" && ACCEPT=1 + ;; esac case ",$KEYS_PLAY_PREV," in - *",$FZF_KEY,"*) mpv_prev >/dev/null ;; + *",$FZF_KEY,"*) + mpv_prev >/dev/null + [ "$mode" = "$MODE_PLAYLIST" ] && MODE_NEXT="$MODE_PLAYLIST" && ACCEPT=1 + ;; esac case ",$KEYS_SEEK_FORWARD," in *",$FZF_KEY,"*) mpv_seek_forward >/dev/null ;; @@ -323,9 +340,9 @@ if [ "${1:-}" = "--fzf-key" ]; then "$MODE_SEARCH_ARTIST" | "$MODE_LIST_ARTISTS") urltype="artist" ;; "$MODE_ARTIST") urltype="release-group" ;; "$MODE_RELEASEGROUP") urltype="release" ;; - "$MODE_RELEASE") urltype="track" ;; + "$MODE_RELEASE" | "$MODE_PLAYLIST") urltype="track" ;; esac - printf "execute-silent(xdg-open \"https://musicbrainz.org/%s/%s\" &)" "$urltype" "$mbid" + [ "${urltype:-}" ] && printf "execute-silent(xdg-open \"https://musicbrainz.org/%s/%s\" &)" "$urltype" "$mbid" ;; esac case ",$KEYS_OUT," in @@ -343,6 +360,11 @@ if [ "${1:-}" = "--fzf-key" ]; then MODE_NEXT="$MODE_RELEASEGROUP" MODE_NEXT_ARGS="$(mb_release "$args" | $JQ -r --compact-output '."release-group".id')" ;; + "$MODE_PLAYLIST") + MODE_NEXT="$MODE_RELEASE" + MODE_NEXT_ARGS="$parentmbid" + ACCEPT=1 + ;; esac ;; esac @@ -567,22 +589,11 @@ $KEYS_FILTER_LOCAL:transform:$0 --fzf-key {2} {3} {4}" \ $KEYS_BROWSE,\ $KEYS_OUT,\ $KEYS_SELECT_ARTIST,\ -$KEYS_PLAY,$KEYS_QUEUE,\ $KEYS_PLAY,$KEYS_QUEUE,$KEYS_TOGGLE_PLAY_PAUSE,\ $KEYS_PLAY_NEXT,$KEYS_PLAY_PREV,\ $KEYS_SEEK_FORWARD,$KEYS_SEEK_BACKWARD:transform:$0 --fzf-key {2} {3} {4}" \ --delimiter="\t" \ --with-nth="{1}" >/dev/null - # --bind="$KEYS_HALFPAGE_DOWN,$KEYS_HALFPAGE_UP,\ - #$KEYS_BROWSE,\ - #$KEYS_IN,$KEYS_OUT,\ - #$KEYS_SELECT_ARTIST,\ - #$KEYS_FILTER_LOCAL,$KEYS_FILTER_PRIMARY,$KEYS_FILTER_SECONDARY,\ - #$KEYS_SWITCH_ARTIST_ALBUM,$KEYS_SWITCH_LOCAL_REMOTE,\ - #$KEYS_PLAY,$KEYS_QUEUE,$KEYS_TOGGLE_PLAY_PAUSE,\ - #$KEYS_PLAY_NEXT,$KEYS_PLAY_PREV,\ - #$KEYS_SEEK_FORWARD,$KEYS_SEEK_BACKWARD:transform:$0 --fzf-key {2} {3}" \ - printf "%s#%s" "$MODE_LIST_ARTISTS" "" >"$MODEFILE" ;; *) # Main instance $FZF \ diff --git a/src/sh/keys.sh b/src/sh/keys.sh index a928248..282278b 100644 --- a/src/sh/keys.sh +++ b/src/sh/keys.sh @@ -10,7 +10,7 @@ KEYS_FILTER_SECONDARY="${KEYS_FILTER_SECONDARY:-"alt-2"}" KEYS_SWITCH_ARTIST_ALBUM="${KEYS_SWITCH_ARTIST_ALBUM:-"tab"}" KEYS_SWITCH_LOCAL_REMOTE="${KEYS_SWITCH_LOCAL_REMOTE:-"ctrl-/"}" KEYS_PLAY="${KEYS_PLAY:-"enter"}" -KEYS_QUEUE="${KEYS_QUEUE:-"alt-enter"}" +KEYS_QUEUE="${KEYS_QUEUE:-"ctrl-alt-m"}" KEYS_TOGGLE_PLAY_PAUSE="${KEYS_TOGGLE_PLAY_PAUSE:-"space"}" KEYS_PLAY_NEXT="${KEYS_PLAY_NEXT:-"l,right"}" KEYS_PLAY_PREV="${KEYS_PLAY_PREV:-"h,left"}" diff --git a/src/sh/lists.sh b/src/sh/lists.sh index c5218d0..cbfd892 100644 --- a/src/sh/lists.sh +++ b/src/sh/lists.sh @@ -227,7 +227,6 @@ list_playlist() { -v format_current="$FORMAT_CURRENT" \ -v current_id="$current_id" \ "$AWK_RECORDINGS" | - sort -k1,1n -k2,2g | cut -d "$(printf '\t')" -f 2- | column -t -s "$(printf '\t')" -R 5 | sed 's| \+\([0-9a-f-]\+\) \+\([0-9a-f-]\+\):\(.*$\)$|\t\1\t\2\t\3|' diff --git a/src/sh/mpv.sh b/src/sh/mpv.sh index d23238f..96b89b8 100644 --- a/src/sh/mpv.sh +++ b/src/sh/mpv.sh @@ -11,8 +11,6 @@ __mpv_command_with_args2() { } __mpv_get() { - foo "__mpv_get argument=$1" - foo "__mpv_get answer=$(__mpv_command_with_arg "expand-text" "$1" | $JQ -C)" __mpv_command_with_arg "expand-text" "$1" | $JQ -r '.data' } @@ -37,16 +35,15 @@ mpv_start() { mpv_play_list() { t=$(mktemp) cat >"$t" - foo "$(cat "$t")" __mpv_command_with_arg "loadlist" "$t" rm -f "$t" } mpv_queue_list() { + foo "mpv_queue_list" t=$(mktemp) cat >"$t" - foo "$(cat "$t")" - __mpv_command_with_arg "loadlist" "$t" "append-play" + __mpv_command_with_args2 "loadlist" "$t" "append-play" rm -f "$t" }