2006-02-24 Marko Mäkelä Release 1.2.4 * photomolo.html: mention the examples directory * examples/README: short description of the example scripts * examples/ps2jpg: Ghostscript wrapper for converting the first page of Postscript and PDF documents to JPEG * setenv.c (set_environment): Win32 system calls return zero on error * tree.h (struct dirtree): replace n_others and n_others_dirs with n_jpeg, n_images, n_jpeg_dirs, and n_images_dirs * tree.c (readtree): update the counts of n_jpeg and n_jpeg_dirs * html.c (html_child_links): display the numbers of JPEG images, other images, and other files * photomolo.c (dumptree): create the output directory for -l or -L; update n_images and n_images_dirs (dumpfiles): update n_images (make_thumbnails): invoke jpeg_stdio_src() after rewind() in order to avoid an error from libjpeg (remove_thumbs): new function, split from dumphtmls() 2006-02-20 Marko Mäkelä * html.c (dumphtml): first dump all images, then other files * photomolo.1: note that -J should be used together with -l, -L, or -t * photomolo.c (make_thumbnails): avoid invoking the converter if all thumbnail image files exist 2006-02-19 Marko Mäkelä * html.c (html_child_links): cache tree->dirs[i] in a variable * tree.h, tree.c (readtree): add predicate img_p struct fileinfo: add field converted * photomolo.c (identify_images): new callback for readtree() 2006-01-16 Marko Mäkelä * photomolo.1: document option -J * setenv.h, setenv.c: wrapper for setting and unsetting environment variables * Makefile, Makefile.win32 (HDRS): add setenv.h * photomolo.c: implement option -J 2006-01-12 Marko Mäkelä * photomolo.c (create_css), html.c (dumphtml): Remove the dummy table, which was a workaround for CSS bugs in Netscape 4. Remove space between images. 2006-01-11 Marko Mäkelä * INSTALL: mention the example scripts * exifiron.1, jpegnail.1, photomolo.1: note that option -P is not available on Windows * exifiron.c, jpegnail.c, photomolo.c: disable option -P on Windows * photomolo.1: document options -l and -L; note that they are not available on Windows * photomolo.c: disable options -l and -L on Windows * tree.h, tree.c (HAVE_LINK, create_link): define on other platforms than Win32 * examples/photocopy: add code for copying raw image files * photomolo.c (dumpfiles): create links when -l or -L is specified * html.c (html_child_links): add parameter pflen, in order to create correct links when -l or -L is specified 2006-01-10 Marko Mäkelä * jpegnail.c (main): split the -h string to avoid exceeding the maximum string constant length in ISO 9899:1989 * tree.h, tree.c (create_link): new function * examples/exifiron-zenity, examples/jpegnail-zenity, examples/photomolo-zenity: add public domain notice 2006-01-08 Marko Mäkelä * html.h, html.c (dumphtml): add parameter pflen * photomolo.c: add options -l and -L 2005-12-28 Marko Mäkelä * photomolo.1, exifiron.1, jpegnail.1: document option -P * photomolo.1: replace " with \(lq or \(rq to get proper English quotes from groff -man -Tutf8 2005-12-23 Marko Mäkelä * photomolo.c: implement option -P for displaying progress information * tree.h (struct dirtree): add n_files_dirs, n_others_dirs * tree.c (readtree): initialize n_files_dirs, n_others_dirs * html.c (html_child_links): display n_files_dirs, n_others_dirs * exifiron.c, jpegnail.c: implement option -P for displaying progress information 2005-07-31 Marko Mäkelä Release 1.2.3 All files: update email address. * scale.c (scale_prepare): Do not enlarge thumbnail images from the original. Create thumbnails that are at most the original size. * photomolo.c, html.c, html.h (struct html_opts): Add the field "generator" for passing version number and other information in the meta element "Generator" * photomolo.c, html.c, html.h (dumphtml): Output the command-line arguments to the HTML documents in the meta element "Generator" 2005-07-30 Marko Mäkelä * jpegnail.1, exifiron.1, jpegnail.c, exifiron.c (main): Add option -n for disabling optimal Huffman coding * jpegnail.1, jpegnail.c (main): Add option -S to specify input directory for embedded thumbnail images. Previously, jpegnail would compute the thumbnail images itself. Check the return status from jpeg_transform(). * jpegnail.c, exifiron.c (jpeg_transform): Copy some function parameters to local variables in order to avoid warning about them being possibly clobbered by setjmp(3) 2005-07-23 Marko Mäkelä * exifiron.c (exif_parse): Note that the buggy Canon EOS 350D firmware version is 1.0.2 from May 2005. 2005-07-21 Marko Mäkelä * exifiron.c (exif_parse): Do not expect the unused bytes of the Orientation value to be zero, since Canon EOS 350D writes them as 0xffff. Allow the declared length of the embedded JPEG thumbnail to exceed the Exif tag by 8 bytes to work around a bug in the Canon EOS 350D firmware. 2005-07-21 Marko Mäkelä * html.c (dumphtml): declare Content-Type before title; escape the character set identifier * spec.h, spec.c (specstr): note that the string will be HTML * spec.c (specstr): use × instead of non-ASCII char codes * html.c (html_link_specs, html_a_specs, dumphtml): pass specstr() to html_raw() instead of html_esc() 2004-10-23 Marko Mäkelä * html.c (dumphtml): remove extra quote after "Content-Type; charset=" 2004-05-10 Marko Mäkelä Release 1.2.2 * photomolo.html: add version history 2004-05-09 Marko Mäkelä * rename.c, rename.h (rename_file): rename-and-replace for Win32 * exifiron.c, jpegnail.c, jpegcom.c: #include "rename.h" * Makefile (ALLSRCS): add rename.c * exifiron.c, html.c, rename.c, tree.c, jpegcom.c, jpegnail.c, photomolo.c: call fflush(stderr) before perror() to avoid mixed-up output on Win32 platforms 2004-05-07 Marko Mäkelä * jpegnail.c (exif_parse): more precise error reporting * photomolo.html, jpegnail.1 (BUGS): mention possible corruption of malformed Exif records 2004-05-01 Marko Mäkelä * exifiron.c (exif_date_invalid, exif_string_validate): new functions (exif_parse): more precise error reporting; ignore minor errors, do not touch the Exif block if there are major inconsistencies 2004-03-18 Marko Mäkelä * jpegnail.c (jpeg_transform): clear errno before opening files * exifiron.c (jpeg_transform): clear errno before opening files 2003-12-01 Marko Mäkelä Release 1.2.1 * Makefile (MANPAGES): added missing jpegnail.1 * *.c: removed all gcc and some splint warnings * jpegcom: properly skip comments everywhere 2003-10-03 Marko Mäkelä Release 1.2 * photomolo.html: mention ImageMagick and Gallery * INSTALL: mention the photocopy shell script for Unix-like systems * scale.c (scale_prepare): disable libjpeg prescaling, make libjpeg colour space transformations more explicit (color_transform): only convert CMYK to RGB, let libjpeg handle YCCK 2003-09-28 Marko Mäkelä * photomolo.html: mention colour space transformations * photomolo.c, photomolo.1: new option -c charset * photomolo.c, html.h, html.c (dumphtml): use struct html_opts * jpegnail.c (exif_parse): set thumb_maxlen correctly * scale.c (color_transform): libjpeg6b assumes that there is only Adobe YCCK, and we do so too 2003-09-27 Marko Mäkelä * html.c (dumphtml): write only ASCII literals * jpegnail.1: mention that the thumbnails are grayscale or YCbCr * scale.c (color_transform): convert CMYK to RGB and YCCK to YCbCr (scale_prepare): ensure YCbCr colours or grayscale in output images (rescale_jpeg, copy_jpeg): call color_transform when appropriate * exifiron.c (jtransform_request_workspace): removed a bogus "optimisation" that caused errors with grayscale files whose iMCU size differs from 1 2003-09-25 Marko Mäkelä * jpegnail.c (main): correct the assignment to write_JFIF_header, replace endian with exif_endian (for clarity) 2003-09-19 Marko Mäkelä * jpegnail.c, jpegnail.1: new files * photomolo.html: document jpegnail * Makefile: add jpegnail * exifiron.1 (BUGS): mention previously missing transformations of the Exif data * exifiron.c (jcopy_markers_execute): copy thumbnail images (thumb_in_fill, thumb_out_dummy, thumb_out_empty): auxiliary functions for thumb_transform (thumb_buf, thumb_length): common data for thumb_transform, exif_parse and main (thumb_transform): transform embedded Exif thumbnail images (exif_parse): also transpose XResolution and YResolution in IFD1 2003-09-03 Marko Mäkelä * exifiron.c (main): reset the libjpeg contexts on error (exif_parse): corrected off-by-one errors in the IFD boundary checks 2003-08-29 Marko Mäkelä * exifiron.c (exif_date): use numeric constants for characters, to ensure operation on non-ASCII systems (Exif dates are in ASCII) (exif_parse): process short (0..4 char) strings properly, flip horizontal/vertical image dimensions and resolutions if needed 2003-08-27 Marko Mäkelä * scale.c, scale.h (scale_prepare, scale_jpeg): lower-level interface 2003-08-24 Marko Mäkelä * exifiron.c (endianness): corrected misleading comment * spec.c, spec.h (specstr): corrected misleading comment 2003-08-15 Marko Mäkelä * photomolo.c (make_thumbnails, dumphtmls): detect fclose failures 2003-08-14 Marko Mäkelä * photomolo.html: report major changes since release 1.1.1 * jpegcom.c (main): detect fclose failures, abort on output error * exifiron.c (main): exit with status 2 on file output error * tree.h (fileinfo): rename from imagefile (freefileinfo): new function (dirtree): add n_others and others[] * tree.c (readtree): collect non-image files in others[] (freefileinfo): new function (freetree): deallocate files[] and others[] by calling freefileinfo * html.c (dumphtml): generate links for others[] * photomolo.c (main): deallocate others[] for the root directory 2003-07-31 Marko Mäkelä * tree.c (readtree): tolerate failed stat(2) calls 2003-07-28 Marko Mäkelä * photomolo.c (main), html.h, html.c, scale.h, scale.c, photomolo.1: added options -d (disable timestamp output) and -q (thumbnail quality) * jpegcom.c (main): display usage only when invoked with one argument, do not list unreadable or erroneous files, list image dimensions in lexical comments * exifiron.c (main): allow transformations of JFIF images, skip unreadable or erroneous files * exifiron.c: properly handle images containing partial iMCUs 2003-05-03 Marko Mäkelä Release 1.1.1 Fix fatal bug in Win32 exifiron.exe and jpegcom.exe: use binary mode * jpegcom.c (main), exifiron.c (main): [WIN32] added O_BINARY 2003-05-01 Marko Mäkelä Release 1.1 * INSTALL, photomolo.html, html.c, photomolo.c, exifiron.c: version 1.1 * jpegcom.c: create the destination files in exclusive mode * exifiron.c: adapted for Win32 * photocopy: sample exifiron front-end 2003-04-20 Marko Mäkelä * exifiron.1, exifiron.c (main): new options -s and -S 2003-04-10 Marko Mäkelä Release 1.0.1 * exifiron.c: added license information * README: copyright information for transupp.c, from which parts of exifiron have been derived 2003-04-09 Marko Mäkelä * exifiron.c: commented all functions with Doxygen tags * exifiron.1 (ENVIRONMENT): mention TZ * photomolo.html: document exifiron 2003-04-07 Marko Mäkelä * Makefile, INSTALL, photomolo.1, jpegcom.1: mention exifiron * exifiron.1, exifiron.c, ChangeLog: new files 2003-02-26 Marko Mäkelä Release 1.0