diff options
Diffstat (limited to '.config/init/funcs/make-gif')
-rwxr-xr-x | .config/init/funcs/make-gif | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/.config/init/funcs/make-gif b/.config/init/funcs/make-gif index 3221e97..e100650 100755 --- a/.config/init/funcs/make-gif +++ b/.config/init/funcs/make-gif @@ -10,9 +10,9 @@ usage() { echo "" echo " description option default val" echo " start time -s <time> 00:00:00" - echo " length in seconds -t <int> full length" - echo " gif fps -f <int> 10" - echo " gif pixel width -w <int> 480" + echo " length in seconds -t <num> full length" + echo " gif fps -f <num> 10" + echo " gif pixel width -w <num> 480" echo " use subtitles -b" echo " use subtitle track -n <int> 0" [[ $hasgsic ]] && echo "optimise with gifsicle -g" @@ -28,8 +28,10 @@ local subs="" local strack=0 local gsic="" -local timepat='^(([0-9][0-9]:){1,2}[0-9][0-9]|[0-9]+)$' -local intpat='^[0-9]+$' +local timepat='^(([0-9][0-9]:){1,2}[0-9][0-9]|[0-9]+)(\.[0-9]+){0,1}$' +local numpat='^[1-9][0-9]*(\.[0-9]+){0,1}$' +local intpat='^[1-9][0-9]*$' +local zintpat='^[0-9]+$' # tmp var used to old '-t' if length is used local t="" @@ -44,25 +46,25 @@ if [[ $hasgsic ]]; then start="$OPTARG" ;; t) - [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "length must be an integer" + [[ ! $(echo $OPTARG | grep -oE "$numpat") ]] \ + && usage "length must be a positive rational number" length=$OPTARG t="-t" ;; f) - [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "start time must be an integer" + [[ ! $(echo $OPTARG | grep -oE "$numpat") ]] \ + && usage "fps must be a positive rational number" fps=$OPTARG ;; w) [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "fps must be an integer" + && usage "width must be a positive integer" width=$OPTARG ;; b) subs=true ;; n) - [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "sub track specifier must be an integer" + [[ ! $(echo $OPTARG | grep -oE "$zintpat") ]] \ + && usage "sub track index must be a non-negative integer" strack=$OPTARG ;; g) gsic=true ;; @@ -79,25 +81,25 @@ else start="$OPTARG" ;; t) - [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "length must be an integer" + [[ ! $(echo $OPTARG | grep -oE "$numpat") ]] \ + && usage "length must be a positive rational number" length=$OPTARG t="-t" ;; f) - [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "start time must be an integer" + [[ ! $(echo $OPTARG | grep -oE "$numpat") ]] \ + && usage "fps must be a positive rational number" fps=$OPTARG ;; w) [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "fps must be an integer" + && usage "width must be a positive integer" width=$OPTARG ;; b) subs=true ;; n) - [[ ! $(echo $OPTARG | grep -oE "$intpat") ]] \ - && usage "sub track specifier must be an integer" + [[ ! $(echo $OPTARG | grep -oE "$zintpat") ]] \ + && usage "sub track index must be a non-negative integer" strack=$OPTARG ;; h) usage ;; |