Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Might need some sort of loop param or a from-to param
- # If we have for--to, then I'll need to run dmenu twice and store
- # all intermediate results into a list to feed to mpv
- # We need to grab the playlist from $arg
- if [ -z "$1" ]; then
- echo "$0: We need a filename"
- exit 1
- fi
- if [ ! -f "$1" ]; then
- echo "$0: filename $1 doesn't exist. Please check again."
- exit 1
- fi
- FN="$1"
- MPVARGS="--video-aspect=16:9"
- # Filename exists, let's rock and roll
- OLD_XMODIFIERS="${XMODIFIERS}"
- unset XMODIFIERS
- FStr1="$(dmenu -l 40 -p "Start from: " < <(cat ""$1"" | cut -f2 -d#))"
- if [ -z "${FStr1}" ]; then
- echo "$0: no entry chosen, leaving."
- XMODIFIERS="${OLD_XMODIFIERS}"
- exit 0
- fi
- unset XMODIFIERS
- FStr2="$(dmenu -l 40 -p "Play to: " < <(cat ""$1"" | cut -f2 -d#))"
- if [ -z "${FStr2}" ]; then
- echo "$0: no entry chosen, playing one episode."
- FINDSTRING=${FStr1}
- else
- # A suggestion was to use sed to grab all lines from FStr1 to FStr2
- # FINDSTRING="$(sed -e '/'$FStr1'/,/'$FStr2'/!d' < <(cat ""$1"" | cut -f2 -d#))"
- echo "FStr1: ${FStr1}"
- echo "FStr2: ${FStr2}"
- echo "\$1: $1"
- bang="$(awk -v s1="$FStr1" -v s2="$FStr2" -F' *# *' 'index( $2, s1 ) , index( $2, s2 ) { print $1 }' "${FN}" )"
- declare -p bang
- mapfile -t FINDSTRING < <( awk -v s1="$FStr1" -v s2="$FStr2" -F' *# *' 'index( $2, s1 ) , index( $2, s2 ) { print $1 }' "${FN}" )
- echo "FINDSTRING: ${FINDSTRING[@]}"
- #mapfile -t FINDSTRING < <( awk -v s1="$FStr1" -v s2="$FStr2" -F' *# *' 'index( $2, s1 ) , index( $2, s2 ) { print $1 }' "$1" )
- fi
- XMODIFIERS="${OLD_XMODIFIERS}"
- # Let's go!
- echo "FINDSTRING: ${FINDSTRING[@]}"
- # mpv "${urls[@]}"
- #mpv "${MPVARGS}" "$(grep "${FINDSTRING}" "$1" )"
- XMODIFIERS="${OLD_XMODIFIERS}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement