--- /Users/grant/src/filtr-0.1/filtr	2006-08-01 16:08:28.000000000 -0600
+++ /Users/grant/bin/filtr	2006-08-01 16:46:37.000000000 -0600
@@ -25,15 +25,7 @@
 
 case $OSTYPE in
     Darwin)
-    PREFIX="/sw/bin"
-    ;;
-    FreeBSD)
-    PREFIX="/usr/local/bin"
-    ;;
-    *)
-    echo "unknown or unsupported OS : ${OSTYPE}"
-    echo "exiting"
-    exit 1
+    PATH=/sw/bin:/opt/local/bin:$PATH
 esac
 
 #
@@ -63,29 +55,25 @@
     ;;
 esac
 
-IDENTIFY="${PREFIX}/identify"
-CONVERT="${PREFIX}/convert"
-COMPOSITE="${PREFIX}/composite"
-MONTAGE="${PREFIX}/montage"
-JHEAD="${PREFIX}/jhead"
-FFMPEG="${PREFIX}/ffmpeg"
-PERL="${PREFIX}/perl"
+IDENTIFY=identify
+CONVERT=convert
+COMPOSITE=composite
+MONTAGE=montage
+JHEAD=jhead
+FFMPEG=ffmpeg
+PERL=perl
 FILTR=$0 
-MD5=${PREFIX}/md5sum
+MD5=md5sum
 MD5_ARGS=""
 
-if test $OSTYPE = "Darwin"
-then
-    JHEAD="/opt/local/bin/jhead"
+# use GraphicsMagick if possible
+if test "`which gm`" != "" ; then
+    IDENTIFY="gm identify"
+    CONVERT="gm convert"
+    COMPOSITE="gm composite"
 fi
 
-if test $OSTYPE = "FreeBSD"
-then
-
-    IDENTIFY="${PREFIX}/gm identify"
-    CONVERT="${PREFIX}/gm convert"
-    COMPOSITE="${PREFIX}/gm composite"
-    MONTAGE="${PREFIX}/montage"
+if test $OSTYPE = "FreeBSD" ; then
     MD5_ARGS="-r"
 fi
 
@@ -223,7 +211,7 @@
     fi
     mv -f ${NEW} ${OUTPUT}
 
-    if [${DO_REPORT} -gt 0]
+    if [ ${DO_REPORT} -gt 0 ]
     then
         echo "generate report ${REPORT}"
         ${MONTAGE} -geometry ${W_REPORT}x${H_REPORT}+5+5 -tile 2x2 ${INPUT} ${MASK} ${LOMO} ${OUTPUT} ${REPORT}
@@ -238,9 +226,8 @@
     ${CONVERT} -gaussian 1x2 ${OUTPUT} ${OUTPUT}
     echo "grayscale"
     ${CONVERT} -depth 16 -colorspace GRAY -contrast -sharpen 5x5 ${OUTPUT} ${OUTPUT}
-    mv -f ${NEW} ${OUTPUT}
 
-    if [${DO_REPORT} -gt 0]
+    if [ ${DO_REPORT} -gt 0 ]
     then
         echo "generate report ${REPORT}"
         ${MONTAGE} -geometry ${W_REPORT}x${H_REPORT}+5+5 -tile 2x2 ${INPUT} ${OUTPUT} ${REPORT}
@@ -253,9 +240,8 @@
     ${CONVERT} -unsharp 1.5x1.5 -modulate 175,150 -contrast -contrast -contrast ${INPUT} ${OUTPUT}
     echo "blur"
     ${CONVERT} -gaussian 1x2 ${OUTPUT} ${OUTPUT}
-    mv -f ${NEW} ${OUTPUT}
 
-    if [${DO_REPORT} -gt 0]
+    if [ ${DO_REPORT} -gt 0 ]
     then
         echo "generate report ${REPORT}"
         ${MONTAGE} -geometry ${W_REPORT}x${H_REPORT}+5+5 -tile 2x2 ${INPUT} ${OUTPUT} ${REPORT}
@@ -294,7 +280,7 @@
           CROP_X=`awk "BEGIN { print ${W_IMG} - ${H_IMG} }"`
           CROP_Y=0
           
-          if [${W_IMG} -gt ${H_IMG}]
+          if [ ${W_IMG} -gt ${H_IMG} ]
           then
               CROP_TO=${H_IMG}
               CROP_Y=`awk "BEGIN { print ${H_IMG} - ${W_IMG} }"`
@@ -376,7 +362,7 @@
 
     H_HEATHR=${H_ORIG}
 
-    if [${H_ORIG2} -gt ${H_ORIG}]
+    if [ ${H_ORIG2} -gt ${H_ORIG} ]
     then
         H_HEATHR=${H_ORIG2}
     fi 
@@ -385,7 +371,7 @@
 
     BORDER_CALC=${W_HEATHR}
 
-    if [${H_HEATHR} -gt ${W_HEATHR}]
+    if [ ${H_HEATHR} -gt ${W_HEATHR} ]
     then
         BORDER_CALC=${H_HEATHER}
     fi 
@@ -469,11 +455,11 @@
     ;;
 
     *)
-    ${CONVERT} -size ${W_THUMB}x${H_THUMB} -contrast 150 -gaussian 1x2 +matte ${INPUT} ${MASK}
+    ${CONVERT} -size ${W_THUMB}x${H_THUMB} -contrast -gaussian 1x2 +matte ${INPUT} ${MASK}
     echo "resize mask"
     ${CONVERT} -resize ${W_ORIG}x${H_ORIG} -gaussian 0x5 -modulate 180,150 ${MASK} ${MASK}
     echo "create lomo"
-    ${CONVERT} -unsharp 1.5x1.5 -contrast 120 -modulate 100,120 ${INPUT} ${LOMO}
+    ${CONVERT} -unsharp 1.5x1.5 -contrast -modulate 100,120 ${INPUT} ${LOMO}
     echo "compose"
     ${COMPOSITE} -compose Multiply ${MASK} ${LOMO} ${NEW}
     mv -f ${NEW} ${OUTPUT}

