local do_rare_genres read_wait help line lsout tmp ls_line skip_lookback
local escape_char escaped_input expected_input skip_input_regex right_pad erasable_line seek_sec
local pl_state_path pl_state_dir pl_state_file
- local new_random pl_seed_path seed_num seed_file
+ local new_random pl_seed_path seed_num seed_file fmt
local -a pl_tags buttons button_map ids tags tmp_tags initial_ls ls_lines paths
local -A button_i
local -i i j volume scrolled id_count line_int skip_start pre_j_count head_count skip_lookback
# PijokVipiotOzeph is just a random string for a delimiter
+ fmt='%ifdef{rating,$rating }'"$fstring"'$genre | $title - $artist - $album $length $id PijokVipiotOzeph $path'
# shellcheck disable=SC2016 # obvious reason
- mapfile -t initial_ls < <(beet ls -f '%ifdef{rating,$rating }'"$fstring"'$genre | $title - $artist - $album $length $id PijokVipiotOzeph $path' "$@" | { if $random; then sort -R --random-source=$pl_seed_path; else cat; fi; } )
+ mapfile -t initial_ls < <(beet ls -f "$fmt" "$@" | { if $random; then sort -R --random-source=$pl_seed_path; else cat; fi; } )
id_count=${#initial_ls[@]}
for line in "${initial_ls[@]}"; do
path="${line#*PijokVipiotOzeph }"
fi
beetag-help
if [[ $char == $'\n' ]]; then
- # https://stackoverflow.com/a/5722874
- kill-bg-quiet
break
fi
case $char in
";")
- kill-bg-quiet
j=$(( j - 2 ))
break
;;
doplay=false
else
doplay=true
- kill-bg-quiet
mpvrpc '{ "command": ["loadfile", "'"$path"'"] }'
erasable_line=false
fi
continue
;;
_)
- kill-bg-quiet
m beet rm --delete --force "id:$id"
beetag-nostatus 4 # guessing. dont want to test atm
break
j=$(( j - 1 ))
fi
fi
- kill-bg-quiet
break
fi
;;