]> Sergey Matveev's repositories - dotfiles.git/commitdiff
Another scan.sh refactoring
authorSergey Matveev <stargrave@stargrave.org>
Tue, 7 Jul 2020 08:09:00 +0000 (11:09 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 7 Jul 2020 08:09:00 +0000 (11:09 +0300)
bin/bin/scan.sh

index e32f998594dd65e5be6ad5cd99d34cc8083938dd..57dbe80377d6d0ebeb88fe7b2faf334c6888b2af 100755 (executable)
@@ -6,22 +6,30 @@ cur=noname.ppm
 ctr=${1:-1}
 ctr=$(( $ctr - 1 ))
 
-[ -z "$NEGATIVE" ] && SRC="Flatbed" || SRC="Transparency Adapter"
-
 scan() {
     resolution=$1
     shift
-    scanimage --format=pnm --mode=Color --depth 16 --progress --resolution=$resolution --source="$SRC" $@ > tmp.ppm
+    [ -z "$NEGATIVE" ] && src="Flatbed" || src="Transparency Adapter"
+    [ -z "$NEGATIVE" ] && depth=8 || depth=16
+    [ -z "$NEGATIVE" ] && resolution=800 || resolution=1600
+    scanimage \
+        --format=pnm \
+        --mode=Color \
+        --depth $depth \
+        --progress \
+        --resolution=$resolution \
+        --source="$src" \
+        $@ > tmp.ppm
 }
 
 process() {
-    [ -z "$NEGATIVE" ] && inverter=cat || inverter=pnminvert
     [ $rotate -eq 0 ] && rotator=cat || rotator="pamflip -rotate$rotate"
+    [ -z "$NEGATIVE" ] && inverter=cat || inverter=pnminvert
     $rotator | pnmcrop -closeness=$crop | $inverter
 }
 
 preview() {
-    pamdepth 8 < tmp.ppm | pnmscale -w 600 | process > preview.ppm
+    pamdepth 255 < tmp.ppm | pnmscale -w 600 | process > preview.ppm
     sxiv preview.ppm
 }
 
@@ -54,24 +62,14 @@ while : ; do
         do_next
         ;;
     r)
-        echo -n Rotate:
+        echo -n "Rotate (n/r/l/t):"
         read rotate
         case $rotate in
-        n)
-            rotate=180
-            ;;
-        r)
-            rotate=90
-            ;;
-        l)
-            rotate=270
-            ;;
-        t)
-            rotate=0
-            ;;
-        *)
-            echo ?
-            ;;
+        n) rotate=180 ;;
+        r) rotate=90 ;;
+        l) rotate=270 ;;
+        t) rotate=0 ;;
+        *) echo ? ;;
         esac
         ;;
     c)