]> Sergey Matveev's repositories - galgen.git/blobdiff - galgen.zsh
No WebP support anymore. JPEG XL is superior everywhere
[galgen.git] / galgen.zsh
index 34fa14451861b54a5334f17de4fd81b038ff0877..548b50aed7b69398c01653fdf99b2ae30b6c6428 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env zsh
 # Copyright (C) 2022-2023 Sergey Matveev <stargrave@stargrave.org>
 
-VERSION=0.4.0
+VERSION=0.5.0
 
 set -e
 
@@ -26,19 +26,12 @@ setopt EXTENDED_GLOB
 imgs=()
 for img (*.jxl(N)) { [[ -r .info/$img.img ]] || imgs=($imgs $img) }
 [[ ${#imgs} == 0 ]] || {
-    echo JPEG XL info... >&2
+    echo Infos... >&2
     parallel "jxlinfo {} > .info/{}.img" ::: $imgs
 }
 
 imgs=()
-for img (*.webp(N)) { [[ -r .info/$img.img ]] || imgs=($imgs $img) }
-[[ ${#imgs} == 0 ]] || {
-    echo WebP info... >&2
-    parallel "webpinfo {} > .info/{}.img" ::: $imgs
-}
-
-imgs=()
-src=((*.jxl|*.webp))
+src=(*.jxl)
 for img ($src) { [[ -r .info/$img.exif ]] || imgs=($imgs $img) }
 src=()
 [[ ${#imgs} == 0 ]] || {
@@ -46,7 +39,7 @@ src=()
     parallel "exiftool -escapeHTML -htmlFormat -groupHeadings --${=${(j/ --/)exifTagsOmit}} {} > .info/{}.exif" ::: $imgs
 }
 
-imgs=((*.jxl|*.webp)($ordering))
+imgs=((*.jxl)($ordering))
 pages=$(( ${#imgs} / $pagesize ))
 [[ $(( $pages * $pagesize )) -lt ${#imgs} ]] && pages=$(( $pages + 1 ))
 
@@ -55,19 +48,14 @@ trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
 
 jpgs=()
 pngs=()
-pams_jxl=()
-pams_webp=()
+pams=()
 for img ($imgs) {
     [[ -r .info/$img.img ]]
-    if [[ $img:e = jxl ]] ; then
-        [[ -r alt/$img.jpg ]] || [[ -r alt/$img.png ]] && : || {
-            grep -q "JPEG bitstream reconstruction" .info/$img.img &&
-                jpgs=($jpgs $img) || pngs=($pngs $img)
-        }
-        [[ -r preview/$img.webp ]] || pams_jxl=($pams_jxl $img)
-    else
-        [[ -r preview/$img.webp ]] || pams_webp=($pams_webp $img)
-    fi
+    [[ -r alt/$img.jpg ]] || [[ -r alt/$img.png ]] && : || {
+        grep -q "JPEG bitstream reconstruction" .info/$img.img &&
+            jpgs=($jpgs $img) || pngs=($pngs $img)
+    }
+    [[ -r preview/$img.webp ]] || pams=($pams $img)
 }
 
 [[ ${#jpgs} == 0 ]] || {
@@ -88,16 +76,11 @@ pngs=()
 mkpreview="pnmscale -w 100"
 mkpreview="$mkpreview | cwebp -quiet -pass 10 -alpha_filter best -m 6 -o preview/{}.webp -- -"
 mkpreview="$mkpreview && touch -r {} preview/{}.webp"
-[[ ${#pams_jxl} == 0 ]] || {
-    echo JPEG XL previews... >&2
-    parallel "$djxl2pam | $mkpreview" ::: $pams_jxl
-}
-[[ ${#pams_webp} == 0 ]] || {
-    echo WebP previews... >&2
-    parallel "dwebp {} -ppm -o - | $mkpreview" ::: $pams_webp
+[[ ${#pams} == 0 ]] || {
+    echo Generating previews... >&2
+    parallel "$djxl2pam | $mkpreview" ::: $pams
 }
-pams_jxl=()
-pams_webp=()
+pams=()
 
 for (( i=1 ; i <= ${#imgs} ; i++ )) {
     local img=${imgs[$i]}