playback key hook
This commit is contained in:
11
src/main.sh
11
src/main.sh
@@ -89,6 +89,10 @@ case "${1:-}" in
|
||||
esac
|
||||
exit 0
|
||||
;;
|
||||
"--playback")
|
||||
debug "NOT IMPLEMENTED"
|
||||
exit 0
|
||||
;;
|
||||
"--filter")
|
||||
mode=$2
|
||||
view=$3
|
||||
@@ -380,7 +384,7 @@ IN_SEARCH_ARTIST_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_SEARCH_ARTIST")"
|
||||
IN_SEARCH_ALBUM_VIEW="$(printf "$IN_VIEW_PATTERN" "$VIEW_SEARCH_ALBUM")"
|
||||
FZF_CURRENT_MODE="\$FZF_INPUT_STATE"
|
||||
FZF_CURRENT_VIEW="\$FZF_BORDER_LABEL"
|
||||
PUT_FZF_KEY_LOGIC="case \"\$FZF_KEY\" in \"space\") echo \"put( )\";; \"backspace\"|\"bspace\"|\"bs\") echo \"backward-delete-char\";; \"delete\"|\"del\") echo \"delete-char\";; *) echo \"put(\$FZF_KEY)\";; esac"
|
||||
PUT_FZF_KEY_LOGIC="case \"\$FZF_KEY\" in \"space\") echo \"put( )\";; \"left\") echo \"backward-char\";; \"right\") echo \"forward-char\";; \"backspace\"|\"bspace\"|\"bs\") echo \"backward-delete-char\";; \"delete\"|\"del\") echo \"delete-char\";; *) echo \"put(\$FZF_KEY)\";; esac"
|
||||
while true; do
|
||||
case "$VIEW" in
|
||||
"$VIEW_SELECT_ARTIST")
|
||||
@@ -493,9 +497,8 @@ open \"\$(dirname {4})\"" \
|
||||
--bind="$KEYS_SHOW_PLAYLIST:print($VIEW_PLAYLIST)+accept" \
|
||||
--bind="$KEYS_QUIT:print($VIEW_QUIT)+accept" \
|
||||
--bind="$KEYS_N_QUIT:transform:$IN_NORMAL_MODE && ($IN_LIST_ARTISTS_VIEW && echo \"print($VIEW_QUIT)+accept\" || $0 --draw $MODE_NORMAL $VIEW_LIST_ARTISTS) || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="$KEYS_PLAY:" \
|
||||
--bind="$KEYS_QUEUE:" \
|
||||
--bind="$KEYS_SHOW_PLAYLIST:" \
|
||||
--bind="$KEYS_PLAYBACK:transform:$0 --playback" \
|
||||
--bind="$KEYS_N_PLAYBACK:transform:$IN_NORMAL_MODE && $0 --playback || $PUT_FZF_KEY_LOGIC" \
|
||||
--bind="change:execute-silent($0 --fzf-change $FZF_CURRENT_VIEW &)+reload:$0 --fzf-change-reload" \
|
||||
--preview-window="right,25%,border-left,wrap,<30(hidden)" \
|
||||
--preview="$0 --preview-artist {3}" \
|
||||
|
@@ -569,7 +569,7 @@ fzf_handle_key() {
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case ",$KEYS_N_TOGGLE_PLAY_PAUSE," in
|
||||
case ",$KEYS_N_TOGGLE_PLAYBACK," in
|
||||
*",$FZF_KEY,"*) mpv_toggle_pause >/dev/null ;;
|
||||
esac
|
||||
|
||||
|
@@ -54,6 +54,15 @@
|
||||
# view VIEW_LIST_ARTISTS (normal mode)
|
||||
#
|
||||
# Playback:
|
||||
# - KEYS_PLAY: Play selected release or selected track
|
||||
# - KEYS_QUEUE: Queue selected release or selected track
|
||||
# - KEYS_QUEUE_NEXT: Queue selected release or selected track as next entry in
|
||||
# the playlist
|
||||
# - KEYS_N_TOGGLE_PLAYBACK: Play-pause toggle
|
||||
# - KEYS_N_PLAY_NEXT: Play next track
|
||||
# - KEYS_N_PLAY_PREV: Play previous track
|
||||
# - KEYS_N_SEEK_FORWARD: Seek forward
|
||||
# - KEYS_N_SEEK_BACKWARD: Seek backward
|
||||
#
|
||||
# Playlist:
|
||||
#
|
||||
@@ -106,7 +115,28 @@ KEYS_SHOW_PLAYLIST="${KEYS_SHOW_PLAYLIST:-"ctrl-p"}"
|
||||
KEYS_QUIT="${KEYS_QUIT:-"ctrl-c"}"
|
||||
KEYS_N_QUIT="${KEYS_N_QUIT:-"q"}"
|
||||
|
||||
# Playback:
|
||||
KEYS_PLAY="${KEYS_PLAY:-"enter"}"
|
||||
KEYS_QUEUE="${KEYS_QUEUE:-"ctrl-alt-m"}"
|
||||
KEYS_QUEUE_NEXT="${KEYS_QUEUE_NEXT:-"ctrl-alt-n"}"
|
||||
KEYS_TOGGLE_PLAYBACK="${KEYS_TOGGLE_PLAYBACK:-"alt-space"}"
|
||||
KEYS_PLAY_NEXT="${KEYS_PLAY_NEXT:-"alt-right"}"
|
||||
KEYS_PLAY_PREV="${KEYS_PLAY_PREV:-"alt-left"}"
|
||||
KEYS_SEEK_FORWARD="${KEYS_SEEK_FORWARD:-"alt-shift-right,shift-right"}"
|
||||
KEYS_SEEK_BACKWARD="${KEYS_SEEK_BACKWARD:-"alt-shift-left,shift-left"}"
|
||||
KEYS_PLAYBACK="$KEYS_PLAY,$KEYS_QUEUE,$KEYS_QUEUE_NEXT,$KEYS_TOGGLE_PLAYBACK,$KEYS_PLAY_NEXT,$KEYS_PLAY_PREV,$KEYS_SEEK_FORWARD,$KEYS_SEEK_BACKWARD"
|
||||
KEYS_N_PLAY="${KEYS_PLAY:-"."}"
|
||||
KEYS_N_QUEUE="${KEYS_QUEUE:-","}"
|
||||
KEYS_N_QUEUE_NEXT="${KEYS_QUEUE_NEXT:-";"}"
|
||||
KEYS_N_TOGGLE_PLAYBACK="${KEYS_N_TOGGLE_PLAYBACK:-"space"}"
|
||||
KEYS_N_PLAY_NEXT="${KEYS_N_PLAY_NEXT:-"right,n"}"
|
||||
KEYS_N_PLAY_PREV="${KEYS_N_PLAY_PREV:-"left,p"}"
|
||||
KEYS_N_SEEK_FORWARD="${KEYS_N_SEEK_FORWARD:-"N,f"}"
|
||||
KEYS_N_SEEK_BACKWARD="${KEYS_N_SEEK_BACKWARD:-"P,b"}"
|
||||
KEYS_N_PLAYBACK="$KEYS_N_PLAY,$KEYS_N_QUEUE,$KEYS_N_QUEUE_NEXT,$KEYS_N_TOGGLE_PLAYBACK,$KEYS_N_PLAY_NEXT,$KEYS_N_PLAY_PREV,$KEYS_N_SEEK_FORWARD,$KEYS_N_SEEK_BACKWARD"
|
||||
|
||||
## Not yet characterized
|
||||
##########################
|
||||
|
||||
KEYS_INPUT_SINGLE='0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,!,",#,$,%,&,\,(,),*,+,,,-,.,/,:,;,<,=,>,?,@,[,\,\,],^,_,`,{,|,},~'
|
||||
KEYS_INPUT_SINGLE="$KEYS_INPUT_SINGLE,'"
|
||||
@@ -114,20 +144,11 @@ KEYS_INPUT_SPECIAL="space,backspace,delete,left,right"
|
||||
export KEYS_INPUT_SINGLE KEYS_INPUT_SPECIAL
|
||||
|
||||
# Normal and insert mode
|
||||
KEYS_PLAY="${KEYS_PLAY:-"enter"}"
|
||||
KEYS_QUEUE="${KEYS_QUEUE:-"ctrl-alt-m"}"
|
||||
KEYS_SHOW_PLAYLIST="${KEYS_SHOW_PLAYLIST:-"ctrl-p"}"
|
||||
KEYS_NI="$KEYS_HALFPAGE_DOWN,$KEYS_HALFPAGE_UP,$KEYS_BROWSE,$KEYS_OPEN,$KEYS_OUT,$KEYS_IN,$KEYS_SELECT_ARTIST,$KEYS_FILTER_LOCAL,$KEYS_FILTER_1,$KEYS_FILTER_2,$KEYS_FILTER_3,$KEYS_FILTER_4,$KEYS_SWITCH_ARTIST_ALBUM,$KEYS_SWITCH_LOCAL_REMOTE,$KEYS_PLAY,$KEYS_QUEUE,$KEYS_SHOW_PLAYLIST"
|
||||
export KEYS_NI
|
||||
|
||||
# Keys in normal mode only
|
||||
KEYS_N_INSERT="${KEYS_N_INSERT:-"a,i,/"}"
|
||||
KEYS_N_TOGGLE_PLAY_PAUSE="${KEYS_N_TOGGLE_PLAY_PAUSE:-"space"}"
|
||||
KEYS_N_PLAY_NEXT="${KEYS_N_PLAY_NEXT:-"right"}"
|
||||
KEYS_N_PLAY_PREV="${KEYS_N_PLAY_PREV:-"left"}"
|
||||
KEYS_N_SEEK_FORWARD="${KEYS_N_SEEK_FORWARD:-"shift-right"}"
|
||||
KEYS_N_SEEK_BACKWARD="${KEYS_N_SEEK_BACKWARD:-"shift-left"}"
|
||||
KEYS_N="$KEYS_N_DOWN,$KEYS_N_UP,$KEYS_N_OUT,$KEYS_N_IN,$KEYS_N_TOP,$KEYS_N_BOT,$KEYS_N_QUIT,$KEYS_N_INSERT,$KEYS_N_TOGGLE_PLAY_PAUSE,$KEYS_N_PLAY_NEXT,$KEYS_N_PLAY_PREV,$KEYS_N_SEEK_FORWARD,$KEYS_N_SEEK_BACKWARD"
|
||||
KEYS_N="$KEYS_N_DOWN,$KEYS_N_UP,$KEYS_N_OUT,$KEYS_N_IN,$KEYS_N_TOP,$KEYS_N_BOT,$KEYS_N_QUIT,$KEYS_N_INSERT,$KEYS_N_TOGGLE_PLAYBACK,$KEYS_N_PLAY_NEXT,$KEYS_N_PLAY_PREV,$KEYS_N_SEEK_FORWARD,$KEYS_N_SEEK_BACKWARD"
|
||||
export KEYS_N
|
||||
|
||||
# Keys in insert mode only
|
||||
@@ -146,7 +167,7 @@ export KEYS_HALFPAGE_DOWN KEYS_HALFPAGE_UP KEYS_OPEN KEYS_BROWSE KEYS_OUT KEYS_I
|
||||
KEYS_SELECT_ARTIST KEYS_FILTER_LOCAL KEYS_FILTER_1 KEYS_FILTER_2 KEYS_FILETER_3 KEYS_FILTER_4 \
|
||||
KEYS_SWITCH_ARTIST_ALBUM KEYS_SWITCH_LOCAL_REMOTE KEYS_PLAY KEYS_QUEUE \
|
||||
KEYS_N_DOWN KEYS_N_UP KEYS_N_OUT KEYS_N_IN KEYS_N_TOP KEYS_N_BOT KEYS_N_QUIT KEYS_N_INSERT \
|
||||
KEYS_N_TOGGLE_PLAY_PAUSE KEYS_N_PLAY_NEXT KEYS_N_PLAY_PREV KEYS_N_SEEK_FORWARD \
|
||||
KEYS_N_TOGGLE_PLAYBACK KEYS_N_PLAY_NEXT KEYS_N_PLAY_PREV KEYS_N_SEEK_FORWARD \
|
||||
KEYS_N_SEEK_BACKWARD KEYS_SHOW_PLAYLIST \
|
||||
KEYS_I_NORMAL \
|
||||
KEYS_GROUP_NI KEYS_GROUP_N KEYS_GROUP_I KEYS PLAYLIST KEYS_ALL
|
||||
|
Reference in New Issue
Block a user