diff options
author | katherine <shmibs@shmibbles.me> | 2017-03-01 00:54:06 -0700 |
---|---|---|
committer | katherine <shmibs@shmibbles.me> | 2017-03-01 00:54:06 -0700 |
commit | 5aba9de367932be46aa471c71076d9e623d5abce (patch) | |
tree | f4284a126603af874de9731b357041df1f2fd1d0 /.config/init/funcs | |
parent | ce4b99960f11ee9371ea4468247643d42ac05f9b (diff) | |
download | dotfiles-5aba9de367932be46aa471c71076d9e623d5abce.tar.gz |
snapshot
various smöl changes
Diffstat (limited to '.config/init/funcs')
-rwxr-xr-x | .config/init/funcs/gifo | 21 | ||||
-rwxr-xr-x | .config/init/funcs/make-gif | 40 |
2 files changed, 42 insertions, 19 deletions
diff --git a/.config/init/funcs/gifo b/.config/init/funcs/gifo new file mode 100755 index 0000000..854b45a --- /dev/null +++ b/.config/init/funcs/gifo @@ -0,0 +1,21 @@ +#!/usr/bin/env zsh +# optimise gifs with gifsicle + +local before +local after +local ofile + +for i in $@; do + if [[ -f "$i" ]]; then + ofile="$i.out" + while [[ -f "$ofile" ]]; do + ofile="$ofile.out" + done + du -h "$i" | cut -f 1 | read before + echo "$i..." + gifsicle --no-ignore-errors -w -O3 "$i" -o "$i.out" + [[ -f "$ofile" ]] && rm "$i" && mv "$ofile" "$i" && \ + du -h "$i" | cut -f 1 | read after && \ + echo " $before -> $after" || echo " failed" + fi +done 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 ;; |