diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-10-06 14:00:40 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-10-06 14:00:40 +0200 |
commit | 6e9c41a892ed0e0da326e0278b3221ce3f5713b8 (patch) | |
tree | 2e301d871bbeeb44aa57ff9cc070fcf3be484487 /ChangeLog-1.0.0 |
Initial import of sane-backends version 1.0.24-1.2
Diffstat (limited to 'ChangeLog-1.0.0')
-rw-r--r-- | ChangeLog-1.0.0 | 4309 |
1 files changed, 4309 insertions, 0 deletions
diff --git a/ChangeLog-1.0.0 b/ChangeLog-1.0.0 new file mode 100644 index 0000000..0600ae1 --- /dev/null +++ b/ChangeLog-1.0.0 @@ -0,0 +1,4309 @@ +1998-11-21 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 1.0 released + + * From Brian J. Murrell: + + * backend/dll.conf: Mention dc210. + + * backend/cderror.h: New file. + * backend/jinclude.h: Ditto. + * backend/djpeg.c: Ditto. + * backend/dc210.desc: Ditto. + * backend/dc210.h: Ditto. + * backend/dc210.c: Ditto. + * backend/cdjpeg.h: Ditto. + + * doc/Makefile.in (SECT5): Mention sane-abaton.5. + * doc/sane-abaton.man: New file. + * backend/abaton.c: Ditto. + (wait_ready): Explicitly cost tv_sec member to (long) in order + to print it (avoids warning on platforms where tv_sec is not a long). + + * backend/abaton.h: Ditto. + * backend/abaton.conf: Ditto. + * backend/abaton.desc: Ditto. + * backend/dll.conf: Mention abaton. + + * Apollo/DomainOS fixes by Paul Walker: + * sanei/sanei_DomainOS.h: Add this missing file. + * sanei/sanei_config2.c: Include <sane/config.h> to get + u_char defined if necessary. + * sanei/sanei_DomainOS.c (upper_string): Delete. + (do_help): Ditto. + * include/sane/config.h.in: Add #undef HAVE_SYS_TIME_H. + + * lib/usleep.c [HAVE_SYS_TIME_H]: Include <sys/time.h> only if + we have it. + + * configure.in (CPPFLAGS): Check for sys/time.h. + + * frontend/gtkglue.c: Move include of <sys/types.h> in front + of include of <sys/stat.h>. + + * config.sub: Apply patch to recognize -sys5.3. + + * backend/microtek.c: Applied Matto's latest patch to upgrade + backend from v0.9 to v0.10. + +1998-11-04 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/microtek2.desc: Mention ScanMaker X6 and Phantom 636. + + * backend/microtek2.c (check_inquiry): Mention Phantom 636 in + model string. + +1998-11-03 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/microtek2.c (check_inquiry): Added patch by Sebastian + Erdmann <serdmann@cs.tu-berlin.de> to recognize ScanMaker X6. + +1998-11-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/artec.c: Print size_t as recommended in backend/GUIDE. + +1998-11-02 Chris Pinkham <cpinkham@infi.net> + + * backend/artec.c: changes to correct bugs when using AT12. + (sense_handler): New function (by Dick Bruijn). + (wait_ready): Ditto (by Dick Bruijn). + (abort_scan): Ditto (by Dick Bruijn). + Support added to read capability data from scanner if the model. + Supports this command (by Dick Bruijn). + Added call to sanei_scsi_close() if detected scanner is not + a Artec/Ultima model (by Francois Ouellet). + Added Negative option. Added Halftone Pattern option. + Added Filter Type option for mono scans. + Added Quality Calibration option. + Moved test_unit_ready command till AFTER we check for ULTIMA scanner. + +1998-11-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * config.guess: Upgrade to libtool v1.2. + * config.sub: Ditto. + * ltconfig: Ditto. + * ltmain.sh: Ditto. + +1998-10-29 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/mustek.c (encode_resolution): If MUSTEK_FLAG_DOUBLE_RES + is set, use resultion encoding reported by + <Heiko_Schroeder@t-online.de> + (attach): Set MUSTEK_FLAG_DOUBLE_RES for MSF-06000CZ. Do other + models need this, too? + (calibration): Declare NUM as size_t, not int. #ifdef out this + unused routine. + (reader_process): Print size_t values as %lu with explicit cast + to u_long. + + * backend/mustek.h (MUSTEK_FLAG_DOUBLE_RES): New flag. + + * backend/mustek.c (init_options): Initialize resolution with 18 + dpi, not 100dpi so that "scanimage" without options gives a + preview-quality image that doesn't take much space or time. + + * backend/mustek.c: Updated with Andreas Bolsch's version (adds + support for SE models). + * backend/mustek.h: Ditto. + * backend/mustek.spec: Ditto. + + * backend/pnm.c (sane_read): Replace C++ comment with C comment. + + * backend/microtek2.c: Updated with Bernd's v0.5. + * backend/microtek2.h: Ditto. + * backend/microtek2.conf: Ditto. + + * backend/umax.c: Updated with Oliver's latest version. + * backend/umax.h: Ditto. + * backend/umax-scsidef.h: Ditto. + * backend/umax-scanner.h: Ditto. + * backend/umax-uc630.h: Ditto. + * backend/umax-uc840.h: Ditto. + * backend/umax-ug630.h: Ditto. + * backend/umax-ug80.h: Ditto. + * backend/umax-uc1200s.h: Ditto. + * backend/umax-uc1200se.h: Ditto. + * backend/umax-uc1260.h: Ditto. + * backend/umax.conf: Ditto. + * include/sane/saneopts.h: Ditto. + * doc/sane-umax-doc.html: Ditto. + * doc/sane-umax-doc.tex: Ditto. + * doc/sane-umax.man: Ditto. + +1998-10-28 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane.tex (subsection{sane_control_option}): Clarify that + paramter "v" is ignored for SET_AUTO calls. + + * frontend/saned.c (init): Initialize w->version. + + * backend/net.c (connect_dev): Accept version code 2 and + set peer's version code in dev->wire.version. + + * include/sane/sanei_wire.h: New member "version". + + * sanei/sanei_net.c (sanei_w_control_option_req): Encode + option value only if peer_version is < 3 or if action is + not SANE_ACTION_SET_AUTO. + + * include/sane/sanei_net.h (SANEI_NET_PROTOCOL_VERSION): Up + protocol version to version 3. + + * sanei/sanei_net.c (sanei_w_control_option_req): Transcode + value_type, value_size, and value only if req->action != + SANE_ACTION_SET_AUTO. Reported by Petter Reinholdtsen. + + Patches by Petter Reinholdtsen <pere@hungry.com>: + + * backend/dmc.c (attach_one): Don't use C++-style comments. + + * backend/dc25.h (DEFAULT_TTY_BAUD): New macro. Move SPEEDS macro + to dc25.c. + + * backend/dc25.c: Initialize tty_baud to DEFAULT_TTY_BAUD. Use + B57600 and B115200 only if defined. + + * doc/saned.man: Mention that hostname matching no longer is case + significant. + + * configure.in + (lib/Makefile.in,lib/strcasecmp.c,frontend/saned.c): Use + strcasecmp() instead of strcmp to compare DNS hostnames. Case is + irrelevant when using DNS. + + * backend/dll.c: Add support for HP-UX 10.xx style shared + libs. + + * configure.in include/sane/config.h.in backends/dll.c: + Use dhl_load() family for DLL support on HP/UX. + + * backend/snapscan.c (sane_snapscan_open): Don't cast lvalue + (illegal according to ANSI C, I think). + + * backend/apple.c (init_options): Add explicit "break" after + "default:" to make HP-UX compiler happy (?). + (sane_read): Make stuff after #endif a comment. + + * backend/agfafocus.c: New file (by Karl Anders Oygard + <karlo@opera.no>). + * backend/agfafocus.h: Ditto. + * doc/sane-agfafocus.man: Ditto. + + * doc/sane-net.man: Fix typo: network service is called "sane", + not "saned" (by Andreas Dilger <adilger@enel.ucalgary.ca>). + + * backend/hp-scl.c (sanei_hp_scsi_pipeout): Use SIGPWR only if its + defined (by Peter Kirchgessner). + + * frontend/Makefile.in (INCLUDES): Mention @GTK_CFLAGS@ as part of + INCLUDES macro instead of CFLAGS. Despite its name, @GTK_CFLAGS@ + is guaranteed to contain CPP include directives only. (Reported + by Kevin Dalley <kevind@rahul.net>.) + +1998-10-27 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_scsi.c (sanei_scsi_open): Return + SANE_STATUS_ACCESS_DENIED if open() fails with errno==EACCES. + + * backend/ricoh-scsi.c: #ifdef out unused code and print values of + type size_t as prescribed in the file backend/GUIDE. + + * backend/dll.conf: Mention Ricoh backend. + + * backend/ricoh.c: New file (by Ricoh Dillema). + * backend/ricoh.h: Ditto.. + * backend/ricoh-scsi.c: Ditto.. + + * backend/microtek.c: Apply Aug 7 patch by Matto Marjanovic. + + * backend/dc25.c: Apply patch by Peter Fales (v1.1). + * backend/dc25.desc: Ditto. + * doc/sane-dc25.man: Ditto. + + * backend/pnm.c: Applied patch by Goran Thyni <goran@bildbasen.se> + that allows scanning parts of a PNM image. + + * backend/GUIDE: Add Matto's comment on .desc files. + + * backend/hp.c: New file from Peter Kirch (formerly known as xhp). + * backend/hp.h: Ditto. + * backend/hp-accessor.h: Ditto. + * backend/hp-device.h: Ditto. + * backend/hp-handle.h: Ditto. + * backend/hp-option.h: Ditto. + * backend/hp-scl.h: Ditto. + * backend/hp-scsi.h: Ditto. + * backend/hp-accessor.c: Ditto. + * backend/hp-device.c: Ditto. + * backend/hp-handle.c: Ditto. + * backend/hp-hpmem.c: Ditto. + * backend/hp-option.c: Ditto. + * backend/hp-scl.c: Ditto. + * backend/Makefile.in (libsane-hp.la): Make libsane-hp.la + dependent upon hp-accessor.lo, hp-device.lo, hp-handle.lo, + hp-hpmem.lo, hp-option.lo, and hp-scl.lo. + +1998-10-22 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-hp.man (Model): Mention HP6200 as per report by Tom + Martone <tommartone@erols.com>. + +1998-07-30 David Mosberger-Tang <David.Mosberger@acm.org> + + * include/sane/config.h.in: Apply Cory Kempf's + <ckempf@enigami.com> FreeBSD CAM support patch. + * sanei/sanei_scsi.c: Ditto. + * tools/find-scanner.c: Ditto. + * configure.in: Ditto. + +1998-07-27 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.74 released. + + * configure.in (CPPFLAGS): Save old CPPFLAGS in saved_CPPFLAGS and + then set CPPFLAGS (not saved_CPPFLAGS!) to include GTK_CFLAGS. + This should get GIMP detected again. + + * frontend/xscanimage.c (init): Add missing newline. + + * backend/net.c (sane_init): Look for service "sane", not "saned". + + * configure.in (V_MINOR): Make it 74. + + * tools/sane-desc.el: Hack a bit so sane-backends.html can be + generated some place other than the working directory + (which may not be writable). + + * tools/sane-desc.el: New file by Matto. + + * doc/Makefile.in (sane-backends-html): New rule to generate + sane-backends.html. + + * backend/apple.desc: List sane-apple man page. + + * backend/umax.c: Updated with Oliver's latest version (with Irix + 4MB workaround). + + * backend/microtek.c: Updated with Matto's v0.9. + * backend/microtek.h: Ditto. + * backend/microtek.conf: Ditto. + * backend/microtek.desc: Ditto. + * doc/sane-microtek.man: Ditto. + + * backend/apple.h: Updated with Milon's v0.3. + * backend/apple.c: Ditto. + + * doc/sane-apple.man: New file (contributed by Milon Firirkis). + +1998-07-23 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/canon-scsi.c (reserve_unit): Don't compile unused + reserve_unit(). + + * sanei/sanei_scsi.c: Apply Yuri's patch to add + sanei_scsi_find_devices() support to OS/2. + + * sanei/sanei_pio.c: Include <sane/sanei_backend.h> instead of + just <sanei/sanei_debug.h> so we pick up #define's for inb and + out. + + * include/sane/config.h.in: Mention HAVE_OS2_H and + HAVE_SYS_TYPES_H. + + * configure.in (AC_CHECK_HEADERS): Mention sys/hw.h and + sys/types.h. + (AC_CHECK_LIB): Check for syslog. + (AC_CHECK_FUNCS): Check for _portaccess. + (CPPFLAGS): Don't disable qcam backend if we have _portaccess. + These patches contributed by Yuri for the benefit of OS/2. + + * backend/qcam.c (qc_unlock) [!F_SETLK]: Fall back to convention + UNIX-style locking using O_EXCL (not ideal, but better than + nothing at all). + (qc_lock_wait): Ditto. + + * sanei/sanei_scsi.c (KillDomainServer): Add missing paren. + + * lib/usleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>. + + * include/sane/sanei_backend.h: Define i/o-port access + compatibility macros (by Yuri Dario). + + * backend/Makefile.in (CONFIGS): Mention dummy saned.conf + (this really ought to go in frontend/Makefile, but I'm too lazy to + add a configuration-install rule there...). + + * backend/coolscan.c: Update with Didier's latest version. + (send_one_LUT): Merge in alloca() fix from 1998-04-04. + +1998-07-22 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/dll.conf: Mention artec backend. + + * backend/mustek.c (sane_start): Remove duplicate status test. + +1998-07-21 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/saned.c (main): Look for service name "sane", not + "saned". + +1998-07-20 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/epson.c (epson_cmd): Add patch by Holger Frahm + <frahm@itp.uni-hannover.de> to support GT9500. + + * backend/microtek.c: Update with latest version (v0.8). + + * backend/artec.c (PREFER_PIXEL_MODE): Apply Chris Pinkham's + 6/4/98 patch to add preliminary support for AT6 and AT12 scanner + models. + + * backend/epson.c: Apply Christian Bucher's patch. + + * backend/dc25.h: New file (by Peter Fales <psfales@earthling.net>) + * backend/dc25.c: Ditto. + * backend/dc25.conf: Ditto. + * doc/sane-dc25.man: Ditto. + + * backend/microtek2.c: Replace dynamically sized array with + alloca() to be ANSI C compliant. + + * backend/epson.c: Replace zero-sized byte arrays with 1 byte + arrays to be ANSI C compliant. + + * doc/sane-hp.man: Mention ScanJet 3P (reported by Patrick Debois + <Patrick.Debois@lin.vlaanderen.be>). + + * backend/umax.c: Updated with Oliver's 5/7/98 patch. + +1998-07-20 Chris Pinkham <cpinkham@infi.net> + + * backend/artec.c: Added code to default to using millimeters + instead of pixels for measurements, can revert to pixels by + defining PREFER_PIXEL_MODE at compilation time. + + Added code to cause sane_read to block until data available to return, + also buffers as much data as possible before returning. + + Added code to cause sane_read to read as much data from scanner as + possible for each call, previously would read 1 line max from + scanner. + + Added code to attempt to detect scanner capabilities from scanner + if scanner supports this command, it not program has defaults + coded in for certain scanner models. + + Separated horizontal and vertical resolution settings with ability + to bind them together. This still has a bug, so the option is is + disabled by default until I can get it working correctly. + + Bug-fixes to get backend working properly with xscanimage. + Added preview mode option. + Added threshold option. + + * backend/artec.h: Added options codes to go along with options + added in artec.c file. + +1998-07-20 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/epson.c (scsi_write): Apply patch by Thomas Bogendoerfer + <tsbogend@alpha.franken.de> to get Epson backend to work for SCSI + scanners again. + +1998-06-05 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/mustek.c (attach): Move dev_wait_ready() after the check + for a Mustek scanner. This is to make sure we don't issue any + command other than INQUIRY to SCSI devices that are not known to + be Mustek scanners. + +1998-05-22 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/dmc.c: Updated with David Skoll's latest patch. + + * sanei/sanei_scsi.c (sanei_scsi_find_devices): Declare missing + findtype arg for dummy sanei_scsi_find_devices(). + +1998-05-16 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/hp.c (attach): Return right after INQUIRY if the device + doesn't look like an HP scanner. + +1998-05-15 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.73 released. + + * backend/mustek.c (attach): Initialize *devp to 0. + + * configure.in: Use AM_PATH_GTK to figure out if/how to compile + with gtk libs. + + * aclocal.m4: Include gtk.m4 from gtk-1.0.1 distribution. + + * backend/Makefile.in (install): Change install rule so there is + guaranteed to be a (symlink) of the form + libsane-$(BACKEND).so.$(V_MAJOR) pointing to the right version + of a dll. + + * backend/dll.c (load): Get rid of .la parsing non-sense. Instead, + always attempt to open libsane-$(BACKEND).so.$(V_MAJOR). + + * backend/mustek.c (sane_init): Make sure empty lines really + are ignored. + +1998-05-13 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/microtek2.conf: Add line "scsi * * Scanner". + * backend/microtek.conf: Ditto. + + * sanei/sanei_scsi.c (get_devicename): New function. + + * sanei/sanei_config2.c: New file. + + * sanei/Makefile.in (LIBSANEI_OBJS): Mention sanei_config2. + (LIBSANEI_LTOBJS): Ditto. + + * sanei/sanei_scsi.c (sanei_scsi_find_devices): New function + (comes in two flavors: one for Linux, one for the remaining + platforms). + + * include/sane/sanei_scsi.h: New function. + + * doc/sane-dll.man: Fix to make it work with man2html (use + \- instead of -). + * doc/sane-dmc.man: Ditto. + * doc/sane-epson.man: Ditto. + * doc/sane-hp.man: Ditto. + * doc/sane-microtek.man: Ditto. + * doc/sane-microtek2.man: Ditto. + * doc/sane-mustek.man: Ditto. + * doc/sane-pint.man: Ditto. + * doc/sane-scsi.man: Ditto. + * doc/sane-umax.man: Ditto. + * doc/saned.man: Ditto. + * doc/scanimage.man: Ditto. + * doc/xscanimage.man: Ditto. + + * doc/Makefile.in (MAN2HTML): New macro. + (html-man): New rule to generate HTML version of man-pages. + + * configure.in (V_MINOR): Up to 73. + + * backend/umax.conf: Add lines "scsi UMAX" and "scsi LinoHell + Office". + + * backend/microtek2.h: New file (by Bernd Schroeder + <bernd@aquila.muc.de>). + * backend/microtek2.c: Ditto. + * backend/microtek2.conf: Ditto. + + * backend/dll.conf: Mention "microtek2". + + * backend/apple.conf: Add line "scsi APPLE". + * backend/mustek.conf: Add lines for "scsi MUSTEK" and "scsi + SCANNER". + + * backend/apple.c (attach_one): New function. + (sane_init): Use sanei_config_attach_matching_devices(). + * backend/artec.c: Like for apple.c. + * backend/canon.c: Ditto. + * backend/coolscan.c: Ditto. + * backend/dmc.c: Ditto. + * backend/epson.c: Ditto. + * backend/hp.c: Ditto. + * backend/microtek.c: Ditto. + * backend/mustek.c: Ditto. + * backend/s9036.c: Ditto. + * backend/snapscan.c: Ditto. + * backend/tamarack.c: Ditto. + +1998-05-11 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/snapscan.c (sane_snapscan_get_parameters): Always set + depth of 8. + + * configure.in: Check for gtk_tooltips_set_tips _after_ gtk + libraries have been located. (Patch by Jake E. Hamby + <jehamby@lightside.com>). + +1998-05-09 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/Makefile.in (.c.o): Patch by Kaz Sasayama + <Kaz.Sasayama@hypercore.co.jp>: invoke $(COMPILE) if libtool + doesn't give us a regular .o file. + * lib/Makefile.in (.c.o): Ditto. + + * frontend/preview.c (preview_update): Call update_selection() so + selection is updated when scanwindow geometry changes. The patch + from 1998/4/2 never worked satisfactorily (and indeed was never + enabled in any of the SANE releases). + +1998-05-06 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/mustek.c (sane_init): Use sanei_config_skip_whitespace() + to skip whitespace. + +1998-05-05 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xscanimage.c (init): Allow -g as an option. + + * sanei/sanei_config.c (sanei_config_get_string): New function. + (sanei_config_skip_whitespace): Ditto. + + * backend/umax.c: Updated with Oliver's latest patch. + + * Makefile.in (INSTALLED_INCLUDES): Mention sanei_readproc.h. + + * backend/microtek.h: Updated with Matto's 0.7 patch. + * doc/sane-microtek.man: Ditto. + * backend/microtek.c: Ditto. + Added precalibration code: tries to intelligently have scanner + run a calibration only once when necessary --- this shaves a solid + six seconds off every scan! + Added model code/vendor name for ScanMaker 600ZS. + Added model codes/vendor name for Agfa Arcus II, StudioScan, + StudioScan II. + Patched up 3-pass scanning (forgot to switch color planes). + Corrected IIHR to 600dpi base resolution. + Check so that 0x0 regions are recognized as invalid. + Fixed subtle buffering bug in color scans. + Fixed-up active/inactive dependencies among options. + Make sure shadow <= midtone <= highlight. + Let shadow/midtone/hightlight be active during LineArt and Halftone. + "Halftoning" option moved into Scan Mode Group (from Enhancement). + Removed some illegal "TEST_UNIT_READY" commands (during scan). + Removed "MODE_SENSE_1", since it didn't quite work anyway. + +1998-05-03 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xscanimage.c (scan_preview): Don't register + preview_window_destroyed as a delete_event handler. + +1998-05-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/Makefile.in: Remove unused LIBLIB macro. + +1998-04-30 David Mosberger-Tang <David.Mosberger@acm.org> + + Patches by Matto Marjanovic: + + * frontend/gtkglue.c (gsg_close_dialog_callback): Remove + client_data pointer arg. + + * frontend/xscanimage.c (scan_win_delete): Remove GdkEvent arg. + (preview_window_destroyed): Ditto. + (input_available): Include bad_depth handling code only if + HAVE_LIBGIMP_GIMP_H is defined. + (scan_dialog): Remove client_data pointer arg. + +1998-04-29 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/gtkglue.c (gsg_get_filename): Use gtk_events_pending() + instead of gdk_events_pending(). + * frontend/preview.c (input_available): Ditto. + * frontend/xscanimage.c (quit_xscan): Ditto. + (input_available): Ditto. + +1998-04-08 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_pio.c (sanei_pio_open): Fix prototype. + +1998-04-07 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.72 released. + + * backend/epson.c (sane_init): Fix up config file reading + to be more like that of other backends. + (PATH_MAX): Use PATH_MAX instead of FILENAME_MAX. + + * backend/canon.c (sane_init): Read & process canon.conf (patch by + Yuri Dario <mc6530@mclink.it>). + +1998-04-06 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_init_debug.c (sanei_init_debug): Move up #endif + so NULL-test works for OS/2, too. + + * frontend/saned.c: Include <sys/types.h>. + + * backend/snapscan.c: Don't include non-ANSI <values.h>. + (sane_snapscan_start): Use INT_MAX instead of MAXINT. + (PATH_MAX): Define PATH_MAX as 1024 if not defined otherwise. + +1998-04-05 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/umax.c: Updated with Oliver's latest version + (0.72pre-a). + +1998-04-04 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/coolscan.c: Do lalloca.h spiel instead of including + alloca.h. + + * configure.in: Look for glib/include directory in /usr/local/lib + and /usr/lib. Add $C_SWITCH_X_SITE to CPPFLAGS, not DEFS. + + * doc/sane-mustek.man: Mention MFS-1200SP v1.07 as working as + reported by ehramm@dk3uz.hh.provi.de (Edmund H. Ramm). + +1998-04-03 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/canon-scsi.c (request_sense): ifdef out to quiet down + gcc. + + * backend/artec.c (read_data): Print size_t as (u_long) to make it + work right and without compiler warning both on 32 and 64 bit + platforms. + (artec_get_status): Ditto. + (init_and_start_scan): Ditto. + (sane_start): Ditto. + (sane_read): Ditto. + (artec_buffer_line_offset): Declare LEN as size_t. + * backend/epson.c (sane_read): Ditto. + + * sanei/sanei_pio.c (pio_wait): Initialize STAT with 0 to quiet + down gcc. + + * backend/Makefile.in (libsane-epson.la): Mention sanei_pio.lo. + (libsane-dll.la libsane.la): Ditto. + + * sanei/Makefile.in (LIBSANEI_OBJS): Mention sanei_pio.o. + (LIBSANEI_LTOBJS): Mention sanei_pio.lo. + + * frontend/xcam.c (input_available): Undo braindamage regarding + break out of scan loop (the SANE docs _do_ specify that in + blocking mode, *len==0 implies end of scan). + * frontend/xscanimage.c: Ditto. + + * doc/sane-dmc.man: New file by David Skoll. + + * sanei/sanei_DomainOS.c: New file by Paul Walker. + + * backend/snapscan.c (DL_INFO, DL_MAJOR_ERROR): Up error code to 1 + to avoid printing anything unless the user specifically asked + for this. + + * include/sane/sanei_debug.h (DBG_LEVEL): Define debug level + variable as macro DBG_LEVEL. + + * README.solaris (NOTE): Emphasize that generic scsi driver + needs to be installed before running configure. + + * backend/s9036.c: Don't depend on GNU C dynamically sized arrays. + + * backend/coolscan.c (send_one_LUT): Use alloca() instead of + depending on GNU C dynamically sized arrays. + Include <alloca.h>. + + * frontend/xscanimage.c (input_available): Break out of the + loop only if LEN==0 _and_ we have a non-negative input tag. + * frontend/xcam.c (input_available): Ditto. + + * backend/microtek.c (parse_inquiry): Handle for ScanMaker 35t+. + (id_microtek): Ditto. + +1998-04-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * configure.in (CPPFLAGS): Check for libXi. + + * frontend/gtkglue.c (panel_destroy): Clear dialog elements + after destroying the panel. + + Patches by Christian Bucher <cbucher@vernetzt.at>: + + * include/sane/sanei_pio.h: New file. + * sanei/sanei_pio.c: Ditto. + * backend/epson.c, backend/epson.h, backend/epson.conf: Updated + with Christian's version adds support for parallel port interface. + + * sanei/sanei_scsi.c (sanei_scsi_req_wait): Patch by Matto to let + sense-handler decide whether a non-zero sense_buffer[0] really + should be considered an error (needed for Microtek backend). + + * doc/sane.tex (\subsubsection{Option Value Unit}): Document new + unit SANE_UNIT_MICROSECOND. + + Patches by Oliver Rauch: + + * frontend/gtkglue.c (unit_string): Handle SANE_UNIT_MICROSECOND. + * frontend/scanimage.c (print_unit): Ditto. + (parse_scalar): Ditto. + + * include/sane/sane.h: Add SANE_UNIT_MICROSECOND. + + * Upgrade to Kevin's latest SnapScan backend (0.4). + + * doc/sane-hp.man: Mention ScanJet IIp C1790A as working (reported + by Ronald.Vogelaar@nl.origin-it.com). + + * frontend/xscanimage.c (init): Issue an error message when we see + option -g as this is most likely due to someone invoking + xscanimage through GIMP when GIMP support is missing. + (scan_done): Add sanity check. + (scan_start): Ditto. + + * Upgraded to Matto's latest Microtek backend (0.6). + + * Upgraded to Oliver's latest UMAX backend (0.71h). + + * frontend/preview.c (draw_selection): Fix so that selection is + updated when sliders are moved. Patch by Mikko Tyo"la"ja"rvi. + + * backend/snapscan.c (DL_INFO): Increase from 0 to 1. + (DL_MAJOR_ERROR): Ditto. This avoids printing error messages + unless the user specifically requests them. + + * frontend/gtkglue.c: Include <sys/types.h>. + + * include/sane/config.h.in: Ignore HAVE_USLEEP under Apollo + Domain. + + Patches by Paul Walker: + + * sanei/sanei_scsi.c: New Domain OS code. + + * tools/find-scanner.c: Include <sane/config.h>. + + * lib/usleep.c (usleep): Use time_$wait() to avoid broken usleep() + implementation in Domain Sys5.3 environment. + + * config.sub: Translate sys5.3 into sysv3 for the benefit + of Apollo Domain/OS. + + * sanei/sanei_init_debug.c (sanei_init_debug): Use DosScanEnv() + instead of getenv() under OS/2. (Patch by Yuri Dario + <mc6530@mclink.it>) + +1998-03-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xcam.c (main): Remove obsolete call to + gdk_set_debug_level (0). + + * backend/mustek.c (attach): Print debug message when discovering + unknown model. + + * doc/sane-scsi.man: Mention Adaptec 1505. + + * tools/find-scanner.c (main): List FreeBSD specific device names. + + * tools/Makefile.in (LIBS): Define. + (find-scanner): Mention $(LIBS). + + * backend/epson.conf: New file. + + Patches by Yuri Dario <mc6530@mclink.it>: + + * backend/epson.c (sane_init): Support config file. + + * sanei/sanei_ab306.c (outb): Add missing parens. + + * backend/snapscan.c: Don't include <values.h> + + * backend/net.c: Include netdb.h after in.h to appease OS/2. + Include <sys/types.h>. + + * sane-0.71.spec (%files): Mention sane-dmc.5. + * doc/Makefile.in (SECT5): Ditto. + + * backend/dmc.c, backend/dmc.h: Update with Feb 26 patch from + David Skoll. + * doc/dmc.man: New file by David Skoll. + +1998-02-25 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/dmc.c (DMCSetMode): Add missing field name (patch by + Martin Huber). + + * tools/find-scanner.c (main) [__sun]: Add missing command (patch + by Martin Huber. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Fix typo: fd_Info->fd_info + (patch by Jeff Freedman). + + * configure.os2: Update with patch by Jeff Freedman. + + * backend/snapscan.c (sane_snapscan_start): Replace non-standard + MAXINT by INT_MAX from <limits.h>. + (PATH_MAX): Define PATH_MAX as 1024 if not defined by headers. + +1998-02-23 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.71 released. + + * backend/dmc.c (DMCAttach): Close scsi fd before returning. + + * backend/microtek.c: Default to no_dump. + (sane_init): Change "nodump" into "dump" option. + * doc/sane-microtek.man: Document this change. + + * backend/snapscan.c: Include <sane/sanei_config.h>. + (sane_snapscan_init): Use sanei_config_open() instead of fopen(). + + * backend/snapscan.c: Upgrade to latest version (0.3 patch 7). + * backend/snapscan.h: Ditto. + + * configure.in (V_MINOR): Up version to 0.71. + + * sanei/sanei_scsi.c (scsi_cmd) [USE == SOLARIS_INTERFACE]: "or" + in lun instead of overwriting cdb[1] (patch by Martin Huber + <hu@garfield.m.isar.de>). + + * backend/snapscan.c: Replace <posix1_lim.h> with <limits.h>. + + * backend/mustek.c (fix_line_distance_mfs): Add back missing + multiplication by bpl (patch by Stefano Garavaglia + <alter.ego@iol.it>). + + * backend/coolscan.c: Updated with Didier's latest version. + (COOLSCAN_CONFIG_FILE): Rename from PATH_COOLSCAN_CONFIG and + define as "coolscan.conf". Include <sane/sanei_config.h>. + (sanei_init): Use sanei_config_open() instead of fopen(). + + * backend/coolscan-scsidef.h: Ditto. + * backend/coolscan.h: Ditto. + + * backend/hp.c (sane_close): Change s to s->next (patch by David + Skoll <dskoll@chipworks.com>). + +1998-02-17 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention apple & + coolscan. + + * backend/coolscan.c: New file (by Didier Carlier + <didier@sema.be>).. + * backend/coolscan.h: Ditto. + * backend/coolscan-scsidef.h: Ditto. + + * backend/apple.c: Include <sane/sanei_config.h> + (APPLE_CONFIG_FILE): Rename from PATH_APPLE_CONFIG. + (sane_init): Use sanei_config_open(). + + * backend/apple.conf: New file. + + * backend/dll.conf: Mention apple & coolscan backends. + + * backend/apple.c: New file (by Milon Firikis + <milonf@isosun.ariadne-t.gr>). + * backend/apple.h: Ditto. + + * sane-0.70.spec: Make symlink for libsane.so.0. + + * doc/sane-epson.man: Mention GT-5500 scanner as working (as + reported by Umberto Zanatta <uzanatta@foscolo.org>). + +1998-02-12 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_scsi.c (DOMAINOS_INTERFACE): Define. Add + Apollo Domain/OS support contributed by Paul Walker. + + * configure.in (AC_CHECK_HEADERS): Mention apollo/scsi.h. + Add #undef of HAVE_APOLLO_SCSI_H. Add type checks for u_char, + u_int, u_long (DomainOS reportedly needs these). + + * sanei/sanei_scsi.c (sanei_scsi_req_wait) [USE == + LINUX_INTERFACE]: Always check for a non-zero error code in the + sense-buffer. The Linux sg driver guarantees that the sense + buffer is clear to zero when no sense code has been requested, so + this is safe. + +1998-01-28 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.7 released. + +1998-01-27 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xscanimage.c (quit_xscan): Exit with status 0, not 1. + + * tools/xerox (scale): Added improvements contributed by Joachim + Woll <woll@physik.uni-kassel.de>. + + * Upgrade to Oliver's latest UMAX backend. + + * include/Makefile.in (distclean): Add empty all rule. Add + distclean rule to delete Makefile. + + * Makefile.in (distclean): Delete japi/Makefile as well (this + command should be removed once japi gets added to SUBDIRS). + + * backend/Makefile.in (EXTRA): Remove ../lib/usleep.lo and + ../lib/strndup.lo. + (libsane.la): Make dependent on $(LIBOBJS). + + * frontend/xscanimage.c (preview_window_destroyed): Declare second + arg (added in some version of gtk?). + + * tools/find-scanner.c (main): Change __sgi__ to __sgi. + +1998-01-26 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/microtek.c: Don't declare strdup()---you're bound to get + it wrong for some platforms! + + * doc/sane-scsi.man: Say explicity that generic SCSI support needs + to be enabled. + + * doc/sane-hp.man (Problems): Document PhotoSmart problems + as reported Peter Kirchgessner <Pkirchg@aol.com>. + + * backend/snapscan.c: Upgrade to v0.3 from + http://www.cs.ualberta.ca/~charter/snapscan.html. + * backend/snapscan.h: Ditto. + +1998-01-22 David Mosberger-Tang <David.Mosberger@acm.org> + + SnapScan backend by Franck Schnefra, Michel Roelofs and + Kevin Charter: + + * backend/snapscan.c: New file. + * backend/snapscan.h: Ditto. + * backend/snapscan.conf: Ditto. + + * backend/umax-scanner.h (scanner_str): Add missing comma. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Pass sense_handler_arg to + sense handler for BSD_INTERFACE, HPUX_INTERFACE, + OPENSTEP_INTERFACE, DECUNIX_INTERFACE, SCO_OS5_INTERFACE, + OS2_INTERFACE, IRIX_INTERFACE, AIX_GSC_INTERFACE, and + SOLARIS_INTERFACE. + + * include/sane/config.h.in: Add missing #undef of + HAVE_SYS_SCSI_TARGETS_SCGIO_H. + Ditto for HAVE_SYS_SCSI_SGDEFS_H. + +1998-01-20 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.69 released. + + * doc/sane-scsi.man: Limit ncr810 patch to kernel versions < + 2.0.33. + + * tools/xerox (HEIGHT): Add A4 paper size as comment. + +1998-01-19 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/preview.c (make_preview_image_path): New function. + (preview_destroy): Save scan surface parameters as a comment + in the preview image. + (restore_preview_image): Read scan surface parameters from + preview image file and restore only if the parameters match + the currently selected surface. + (paint_image): Gracefully handle NULL image_data. + (event_handler): Don't call restore_preview_image(). + (preview_update): Detect if the scan surface changed. If so, + establish a new preview widget size, preview area size, and + restore a preview image, if available. + + * backend/mustek.c (sense_handler): Declare closure argument. + + * sanei/sanei_scsi.c (sanei_scsi_open): Fix typos. + + * backend/umax-scsi.c (umax_open_scanner): Pass us as sense_arg. + (umax_open_scanner): Ditto. + (umax_open_scanner): Ditto. + * backend/umax.c (sane_start): Ditto. + + * backend/canon.c (attach): Pass 0 as sense_arg to sanei_scsi_open(). + (sane_start): Ditto. + * backend/epson.c (attach): Ditto. + (sane_start): Ditto. + * backend/tamarack.c (sense_handler): Ditto. + * backend/s9036.c (sane_start): Ditto. + * backend/mustek.c (dev_open): Ditto. + * backend/hp.c (attach): Ditto. + (sane_start): Ditto. + * backend/mustek.c (dev_open): Ditto. + * tools/find-scanner.c (main): Ditto. + + * include/sane/sanei_scsi.h (SANEI_SCSI_Sense_Handler): Declare + closure arg. + (sanei_scsi_open): Ditto. + + * doc/sane-hp.man (Model): Remove obsolete comment regardign 5P. + +1998-01-17 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/mustek.c (dev_open): Fix debug message. + + * Solaris related patches by Martin Huber: + + * backend/umax-scsi.c (umax_wait_scanner): Sleep for 1 second + instead of 100ms on Sun platforms---the SCHILYscg driver prints a + warning message each time a device is busy. Duh. + (umax_get_data_buffer_status): Don't do + umax_get_data_buffer_status() on Sun's. This should be fixed... + + * sanei/sanei_scsi.c (sanei_scsi_open): Call unit_ready() towards + the end of this function. + (CCS_SENSE_LEN): Define as 18 if not defined + by any header files. + (sanei_scsi_cmd): Use sensebuffer to collect sense info. + (scsi_cmd): Better error handling when using SCHILYscg driver. + +1998-01-14 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xscanimage.c (scan_start): Turn off dialog sensitivity. + (scan_done): Restore dialog sensitivity. + + * backend/qcam.c (init_options): Turn on SANE_CAP_ALWAYS_SETTABLE. + + * frontend/preview.c (scan_done): Enable dialog sensitivity. + (scan_start): Disable dialog sensitivity. + + * include/sane/sane.h (SANE_CAP_ACTIVE_WHILE_SCANNING): New + manifest constant. + +1998-01-12 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/gtkglue.c (panel_destroy): Call gtk_tooltips_unref() + instead of gtk_tooltips_destroy() as suggested by Ben Gertzfield + <che@debian.org>. + +1997-12-25 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/canon.c: New file by Helmut Koeberle + <helmut.koeberle@bytec.de>. + (sane_start): Print variables of type size_t as %lu and cast to + (u_long), to make it compile without warning on all platforms. + (attach): Remove extraneous semicolon. + + * backend/canon.h (canon_h): Ditto + * backend/canon-scsi.c: Ditto. + +1997-12-24 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_ab306.c (sanei_ab306_cmd): Write the first + 6 bytes of a SCSI command only (suggested by Andreas, but + is this really correct??). + + * backend/mustek.c (gamma_correction): Add patch by Andreas + Czechanowski <andreas@inspc44c.ins.uni-stuttgart.de> to + fix lineart scanning for Paragon II 600 N scanner. + +1997-12-23 David Mosberger-Tang <David.Mosberger@acm.org> + + * tools/find-scanner.c (scanner_identify_scanner): Print info on + all SCSI devices when --verbose is in effect. + (main): Add Sun device names. + + * include/sane/config.h.in: Define _POSIX_SOURCE and + __EXTENSIONS__ when compiling on a Sun with GCC. + + * configure.in (AC_CHECK_HEADERS): Mention sys/scsi/sgdefs.h and + sys/scsi/targets/scgio.h. + +1997-12-17 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xscanimage.c (device_dialog): Suggestion by Matt: set + window auto-shrink by calling gtk_window_set_policy(). + + * japi/ImageCanvas.java: Updated with Jeff's latest patch. + * japi/Jscanimage.java: Ditto. + * japi/Makefile.in: Ditto. + * japi/README.JAVA: Ditto. + * japi/ScanIt.java: Ditto. + * japi/ImageCanvasClient.java: New file. + +1997-12-16 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/gtkglue.c (panel_build): Patch by Matt: a) For all + individual options flagged as "advanced", panel_build will only + display the option if the "Show advanced" button is toggled. + Group identifiers flagged as "advanced" are handled the same as + before. b) panel_rebuild is called whenever the "Show advanced" + button is toggled on or off. + + * doc/sane-scsi.man: Mention sane-epson(5) and sane-microtek(5). + * doc/scanimage.man: Ditto. + * doc/xscanimage.man: Ditto. + + * doc/sane-microtek.man: New file by Matt. + + * backend/microtek.c: Updated with Matt's version 0.4. + * backend/microtek.h: Ditto. + * backend/microtek.conf: Ditto. + + * doc/Makefile.in (SECT5): Mention sane-microtek.5. + +1997-12-15 Fred Hucht & Michael Staats <{fred|michael}@thp.Uni-Duisburg.DE> + + * Added support for generic SCSI under AIX 4.1.x using the device + driver gsc written by Matthew Jacob <mjacob@feral.com> (nice piece + of work!). + Find this driver under + ftp://ftp.feral.com/pub/aix/gsc.tar.gz or + ftp://ftp.thp.Uni-Duisburg.DE/pub/source/gsc.tar.gz. + Changed files: sanei/sanei_scsi.c, include/sane/config.h.in, + configure.in. + + * Moved '#include <lalloca.h>' to very beginning in all source + files as AIX needs it there. + + * Added define OUTFILENAME to frontend/xscanimage.c. + + * Fixed wrong environment reference in /doc/sane-scsi.man. + + * Several changes in tools/find-scanner.c to run using + above mentioned driver. + Fixed wrong IN_periph_devtype_cpu (was 1, should be 3). + +1997-12-14 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-hp.man: Mention ScanJet 4P (reported to work by + Adam Sjoegren <asjo@diku.dk>). + +1997-12-09 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/saned.c (check_host): Change len from size_t to int to + match getpeername() as per Single Unix Spec (as opposed to POSIX + drafts...). + (start_scan): Ditto for getsockname(). + * backend/net.c (sane_start): Ditto. + + * backend/tamarack.c (TAMARACK_CONFIG_FILE): Delete. + (TAMARACK_CONFIG_FILE): New macro. + Include <sane/sanei_config.h>. + (sane_init): Use sanei_config_open() instead of fopen(). + (read_data): Declare nbytes as size_t---makes a difference + on 64-bit platforms. + +1997-12-07 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/s9036.c (sane_init): Run through "indent -gnu". Use + sanei_config_open() instead of fopen(). Include + <sane/sanei_config.h>. + (read_more_data): Print size_t variables by casting them to + (u_long) and using %lu format (some platforms have size_t as + u_long, others as u_int, which does make a difference if + sizeof(long) > sizeof(int). + (sane_start): Ditto. + Add English translation for comments that were in German only. + + * backend/s9306.c: New file by Ingo Schneider. + * backend/s9306.h: New file by Ingo Schneider. + +1997-12-04 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/mustek.c (sane_cancel): Collect child process status + after killing it (avoids accumulating zombie processes). Reported + by Mike Sweet. + * backend/umax.c (sane_cancel): Ditto. + * backend/qcam.c (sane_close): Ditto. + (sane_cancel): Ditto. + +1997-12-03 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.68 released. + +1997-12-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/scanimage.c (window_val_user): New variable. + (fetch_options): Don't overwrite window_val[i] if it's + user-specified. + (main): Set window_val_user[i] as necessary. + + * backend/mustek.c (send_gamma_table): New function. + (sane_start): Send gamma table both before and after start_scan(). + The MFS-06000CX is reported to need the gamma-table before + start_scan() and the Mustek docs do indeed indicate downloading + the gamma-table twice. + (init_options): Make --custom-gamma option active by default (since + gray-scale mode is the default mode). + +1997-11-30 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-mustek.man: Mention MFC-08000CZ. + + * backend/mustek.c (attach): Reduce y_range.max for MFC-08000CZ + from 300 to 292mm as reported by Jeroen Steenblik + <jeroens@esrac.ele.tue.nl>. Ditto for MFC-06000CZ. + +1997-11-28 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/umax-scanner.h (scanner_str): Add "Astra 610S". + (known_scanners): Increment from 13 to 14. + + PP fixes by Andreas Czechanowski: + * backend/mustek.c (EXTRA_SAVE_LINES): New macro. + (fix_line_distance_pp): Use EXTRA_SAVE_LINES instead of hardcoded + constant. Various fixes to make it actually work. + (reader_process): Initialize s->ld_ld_line to zero. + + * backend/mustek.h (struct Mustek_Scanner): Add member ld_line. + +1997-11-26 David Mosberger-Tang <David.Mosberger@acm.org> + + * tools/Makefile.in (.c.o): Add this rule. + + * tools/find-scanner.c: Include sanei_scsi.h and sanei_debug.h + via <> quotes (note ""). + +1997-11-25 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_ab306.c (sanei_ab306_exit): Fix by Andreas + Czechanowski: output 0x00 at port[i].base + 1 instead. + +1997-11-22 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-mustek.man (Model): Clarify that paralell port != printer + port. + + * backend/mustek.c (fix_line_distance_mfs): Add missing SANE_UNFIX() + calls for x_range.max and dpi_range.max. + (fix_line_distance_pp): Correct based on Andreas' feedback. + +1997-11-18 David Mosberger-Tang <David.Mosberger@acm.org> + + * configure.in (CFLAGS): Don't specify -ansi---with older libcs, + it's causing more problems than it's worth. + + * Patch by Jeff Freedman: + + * japi/Sane.c: Limit string length to option size. + + * japi/SaneOption.java: Fix indentation. + (unitString): New function. + + * japi/ImageCanvas.java: New file. + * japi/Jscanimage.java: Ditto. + * japi/ScanIt.java: Ditto. + + * japi/Makefile.in (CLASSES): Mention ScanIt.class and + ImageCanvas.class. + (all): Mention Jscanimage.class. + * japi/Scan.c: Include <string.h>. + (String_length): New function. + +1997-11-16 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/gtkglue.c (scale_update): In recent versions of GTK, + "value_changed" callbacks no longer return a value. Change this + function to type "void" accordingly. + + * sanei/sanei_scsi.c: Declare cam_fd only if USE == + DECUNIX_INTERFACE. + + * sanei/sanei_load_values.c (sanei_load_values): Detect errors + while reading the option name (first call to sanei_w_string()). + Reported by Geoffrey T. Dairiki. + + * sanei/sanei_ab306.c [HAVE_UNISTD_H]: Include <unistd.h>. Fix by + Geoffrey T. Dairiki. + + * lib/alloca.c: Enclose in #ifndef HAVE_ALLOCA bracket. Fix by + Geoffrey T. Dairiki. + + * include/lalloca.h: Declare alloca() as returning void* when + __STDC__ is in effect so declaration matches definition in + lib/alloca.c. Reported by Geoffrey T. Dairiki. + + * frontend/preview.c (update_selection): Set coord[] values to + rounded-to-nearest-int of float values. This avoids the jumping + selection box effect. Fix by Geoffrey T. Dairiki. + + * frontend/gtkglue.c (scale_update): Patch by Geoffrey T. Dairiki + <dairiki@apl.washington.edu>: emit value_changed signal if the + backend changed the value. + + * backend/umax.c: Upgraded to Oliver's latest UMAX version. + + * backend/mustek.c (sane_init): Ignore white space in front of an + option/device-name. + +1997-11-12 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_ab306.c (sanei_ab306_get_io_privilege): + (struct port): Remove member HAVE_IO_PRIVS. + (sanei_ab306_get_io_privilege): Get ioperm()issions independent of + HAVE_IO_PRIVS. + + * backend/mustek.c (do_stop): Always send STOP command before + closing the device. + (dev_read_req_enter): For parallel-port scanner, set *idp to 0. + +1997-11-10 David Mosberger-Tang <David.Mosberger@acm.org> + + Bug reported by Matto Marjanovic <maddog@mir.com>: + + * frontend/gtkglue.c (panel_build): Create button only after we + know the option's value. + (button_new): Add VAL argument and initialize button state to + + correct value before connecting the toggled callback. + + Bugs reported by Petter Reinholdtsen <pere@link.no>: + + * sanei/sanei_config.c (sanei_config_open): Add missing cast to + (char *). + + * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE == IRIX_INTERFACE]: Fix + (u_char) cast to (u_char *). + +1997-11-06 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/qcam.c (init_options): Set the type of OPT_NUM_OPTS to + SANE_TYPE_INT (suggested by Guido Muesch + <odiug@faho.rwth-aachen.de>). + * backend/mustek.c (init_options): Ditto. + +1997-11-04 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/xcam.c (xcam_exit): Protect against recursive + invocation. + (main): Turn on preferences.advanced as no graphical geometry + selection exists right now. + Include <preferences.h>. + preferences: New variable. + (pref_toggle_advanced): New function. + (pref_toggle_tooltips): Ditto. + (build_preferences_menu): Add button to control advanced & tooltips + preferences. + + * doc/sane.tex (subsection{sanecontrol_option}): Make it illegal + for SANE_INFO_RELOAD_OPTIONS to be set needlessly. + + * backend/hp.c (sane_control_option): Only turn on RELOAD_PARAMS + when value changed. + + * backend/qcam.c (sane_control_option): Only turn on + RELOAD_PARAMS when value changed. + + * backend/mustek.c (sane_control_option): Only turn on + RELOAD_OPTIONS and/or RELOAD_PARAMS when value changes. + + * Integrate b&w quickcam fixes by Guido Muesch + <odiug@faho.rwth-aachen.de>: + + * backend/qcam.c (bw_x_range, odd_bw_x_range, bw_y_range, + odd_bw_y_range): New constants. + (sane_open): Disable despeckle, black-level, hue, saturation, + resolution & test options for b&w camera (either not useful or not + supported at this point). + (sane_start): Use QC_MONO_SET_CONTRAST instead of + QC_BW_SET_CONTRAST. + (sane_start): Call qc_reset() for b&w camera to avoid hangs (color + camera doesn't need this and is faster that way). + (sane_start): Multiply undecimated_width by s->val[OPT_DEPTH].w, + not 4. + + * backend/qcam.h: Remove obsolete QC_BW_SET_CONTRAST, + QC_BW_AUTO_ADJUST_OFFSET, QC_BW_GET_OFFSET, and QC_SET_CONTRAST + macros. + +1997-11-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-hp.man (Model): Mention ScanJet IIcx. Johannes Geiger + <J_Geiger@fleury.de> reported it to work fine under OS/2 with + sane-0.66 + + * backend/umax.c: Apply patch by Oliver Rauch that avoid + umax hangs. + +1997-11-01 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.67 released. + + * sanei/sanei_ab306.c: New file. + + * backend/mustek.h (MUSTEK_FLAG_PP): New macro. + (struct Mustek_Scanner): Add members ld.index and ld.lmod3 + for parallel-port scanner line-distance correction. + + * backend/mustek.c (color_seq): Move to global level from + fix_line_distance_normal(). + (fix_line_distance_pp): New function. + (scsi_wait_ready): Renamed from wait_ready(). + (pp_wait_ready): New function. + (dev_wait_ready): Ditto. + (dev_open): Ditto. + (dev_cmd): Ditto. + (dev_req_wait): Ditto. + (dev_read_start): Ditto. + (dev_read_req_enter): Ditto. + (dev_close): Ditto. + (attach): Modify to use dev_open(). Set minimum scan resolution + to 51 dpi for parallel-port scanners. + (scan_area_and_windows): Call dev_cmd() instead of + sanei_scsi_cmd(). + (mode_select): Ditto. + (gamma_correction): Ditto. + (start_scan): Ditto. + (stop_scan): Ditto. + (line_distance): Ditto. + (get_image_status): Ditto. + (backtrack_and_adf): Ditto. + (gamma_correction): Return immediately if custom-gamma is turned + off or if not doing a multibit scan. Add support for sending all + three gamma tables with a single command. + (line_distance): Initialize additional line-distance correction + state needed by parallel-port scanner. + (read_req_enter): Remove. + (send_data): Modify to support parallel-port scanner line-distance + correction. + (reader_process): Require I/O-privilege if dealing with parallel + port scanner and call dev_read_start(). Use dev_read_req_enter() + instead of read_req_enter(), dev_req_wait() instead of + sanei_scsi_req_wait(). + (sane_start): For parallel-port scanner, send gamma table with + a single gamma_correction() call. + + * doc/sane-mustek.man: Update with info regarding parallel port + scanner. + + * backend/dll.c (add_backend): When a backend is present already, + move it to the head of the backend list, so pre-loaded backends + appear in the same order as if they had been loaded dynamically + + * backend/mustek.c (pp_mode_list): New constant. + + * backend/mustek.c (init_options): Use pp_mode_list for parallel + port type scanners (no color lineart/halftone modes). + + * sanei/sanei_codec_ascii.c (ascii_w_string): free(*s) only if *s + is non-NULL (reported by Geoffrey T. Dairiki + <dairiki@apl.washington.edu>). + + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_LD_NONE for + MFS-12000SP with firmware 1.02 or newer. Reported by Henning + Busacker <henning.busacker@Duesseldorf.netsurf.de>. + +1997-10-25 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane.tex (chapter{Contact Information}): Update mailing list + and home page address. + + * backend/dll.c: Include <sane/sanei_config.h>. Call + sanei_config_open() instead of fopen(). + * backend/hp.c: Ditto. + * backend/mustek.c: Ditto. + * backend/net.c: Ditto. + * backend/pint.c: Ditto. + * backend/qcam.c: Ditto. + * backend/umax.c: Ditto. + + * backend/Makefile.in (EXTRA): Mention ../sanei/sanei_config.lo. + + * doc/sane-dll.man: Document SANE_CONFIG_DIR. + * doc/sane-hp.man: Ditto. + * doc/sane-mustek.man: Ditto. + * doc/sane-net.man: Ditto. + * doc/sane-pint.man: Ditto. + * doc/sane-qcam.man: Ditto. + * doc/sane-scsi.man: Ditto. + * doc/sane-umax.man: Ditto. + * doc/saned.man: Ditto. + + * backend/microtek.c: Updated with v0.3 from Matt. + Include <sane/sanei_config.h> + (MICROTEK_CONFIG_FILE): Define as "microtek.conf". + (PATH_MICROTEK_CONFIG): Delete. + (sane_init): Replace fopen() with sanei_config_open(). + + * backend/microtek.h: Ditto. + +1997-10-24 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_config.c (sanei_config_open): Add multiple-directory + support for SANE_CONFIG_DIR. + + * sanei/sanei_config.c: New file by Jeff Freedman. + * include/sane/sanei_config.h: Ditto. + +1997-10-23 David Mosberger-Tang <David.Mosberger@acm.org> + + * Fixes for OS/2 by Jeff Freedman: + * frontend/Makefile.in (SBINPROGS): Set to @SANED@. + * configure.os2 (LN_S): Add --sysconfdir=. + * configure.in: Set up SANED depending on <sys/socket.h>. + * backend/Makefile.in (EXTRA): Mention usleep.lo and strndup.lo. + * backend/pnm.c (rgblength, rgbbuf, rgbleftover): Declare as + static. + * ltconfig: Upgrade to 1.0d. + * ltmain.sh: Ditto. + * sanei/sanei_constrain_value.c: Include <sane/config.h>. + +1997-10-22 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/gtkglue.h (struct GSGDialog): Remove idle_id member. + + * frontend/gtkglue.c (idle_handler): Remove. GTK's reference + counting appears to have been fixed (?). + + * backend/umax_scanner.h: Update with Oliver's latest version. + * backend/umax-scsi.c: Ditto. + * backend/umax-scsidef.h: Ditto. + * backend/umax-struct.h: Ditto. + * backend/umax.c: Ditto. + * backend/umax.h: Ditto. + +1997-10-18 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_scsi.c (sanei_scsi_req_enter): Set cdb.hdr.pack_id + to unique id number. + +1997-10-17 David Mosberger-Tang <David.Mosberger@acm.org> + + * japi/Makefile.in: New file (by Jeff Freedman <jsf@hevanet.com>). + * japi/README.JAVA: Ditto. + * japi/Sane.c: Ditto. + * japi/Sane.java: Ditto. + * japi/SaneDevice.java: Ditto. + * japi/SaneOption.java: Ditto. + * japi/SaneParameters.java: Ditto. + * japi/SaneRange.java: Ditto. + * japi/Test.java: Ditto. + + * configure.in (AC_OUTPUT): Mention japi/Makefile. + + * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE == IRIX_INTERFACE]: + Add data buffer alignment fix by Michael Sweet. + +1997-10-24 Jeff Freedman <jsf@hevanet.com> + + * sanei_open_config() added. Backends call it to open .conf files. + +1997-10-14 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.66 released. + + * README: Update with new URLs and latest GIMP/GTK info. + +1997-10-11 David Mosberger-Tang <David.Mosberger@acm.org> + + * include/sane/saneopts.h: Add #defines for TEN_BIT_MODE, WARMUP, + RGB_PREVIEW_PATCH, and START_SCAN_PATCH. + + * README: Remove umax-specific configure options (they're now + runtime options). + * configure.in (CPPFLAGS): Ditto. + * include/sane/config.h.in: Ditto. + + * backend/epson.c: Updated + +1997-10-09 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/umax.c (sane_exit): Remove bogus call to free() + (reported by Peter). + +Thu Oct 9 20:20:32 1997 Kazuhiro Sasayama <kaz@hypercore.co.jp> + + * epson.c (sane_start): Fix lcount computation. + +Thu Oct 9 11:44:03 1997 Kazuhiro Sasayama <kaz@hypercore.co.jp> + * epson.c (sane_start): Use byte-interleaved mode if available. + (sane_start): Set line counter for byte-interleaved mode. + (sane_read): Handle byte-interleaved mode. + (sane_init) [PACKAGE && VERSION]: Debug out PACKAGE and VERSION. + +Tue Oct 7 18:44:36 1997 Kazuhiro Sasayama <kaz@hypercore.co.jp> + + * epson.c (set_lcount): New function. + (sane_start): Use block mode for monochrome if available. + (sane_read): Handle block mode. + + * epson.h (struct Epson_Scanner): Add block. + +Tue Oct 7 15:48:11 1997 Kazuhiro Sasayama <kaz@hypercore.co.jp> + + * epson.c (set_speed): New function. + (sane_start): Use set_speed. + +Tue Oct 7 15:44:33 1997 Kazuhiro Sasayama <kaz@hypercore.co.jp> + + * README: Add info about a mailing list. + + * Makefile.am (libsane_epsonx_la_LDFLAGS): Increment the revision. + + * epson.c (identify): Debug output the command level. + +1997-10-08 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/mustek.conf: Turn on linedistance-fix and lineart-fix by + default. + + * include/sane/config.h.in: Remove + NEED_MUSTEK_LINE_DISTANCE_WORKAROUND. + + * doc/sane-mustek.man (CONFIGURATION): Document option + linedistance-fix and lineart-fix. + + * configure.in: Remove test for --enable-ld-fix. + + * backend/mustek.h (MUSTEK_FLAG_LD_FIX): New flag. + (MUSTEK_FLAG_LINEART_FIX): Ditto. + + * backend/mustek.c (line_distance): Replace + NEED_MUSTEK_LINE_DISTANCE_WORKAROUND with runtime test for same. + (reader_process): If MUSTEK_FLAG_LINEART_FIX is on, delay 200ms + when scanning in lineart mode. + (sane_init): New variable. Add linedistance-fix and lineart-fix + support. + + * backend/Makefile.in (install): Fix install rule so all symlinks + necessary for libsane.so are installed. + + * backend/dll.c (load): Change from LIBNAME to LIBPATH (as per + libtool-1.0c documention). + + * sanei/sanei_scsi.c (issue): Declare `static'. + + * aclocal.m4: Update with contents of libtool.m4. + + * configure.in (AC_PROG_RANLIB): Remove (once again!). + + * config.guess: Update from libtool-1.0c. + * config.sub: Ditto. + * ltconfig: Ditto. + * ltmain.sh: Ditto. + + * backend/epson.c: Update with Kazuhiro's latest epson version + (1.1.6). + +1997-10-07 David Mosberger-Tang <David.Mosberger@acm.org> + + * frontend/gtkglue.c (panel_destroy): Clear elem->menu after + freeing it (reported by Kazuhiro Sasayama <kaz@hypercore.co.jp>). + +1997-10-06 David Mosberger-Tang <David.Mosberger@acm.org> + + * backend/epson.c: Updated with Kazuhiro Sasayama + <kaz@hypercore.co.jp> latest version (1.1.5). + +1997-10-04 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.65 released. + + * sanei/sanei_scsi.c (close_aspi): Rename from sanei_close_aspi (static + functions don't need ugly sanei_ prefix...). + (open_aspi): Ditto. + + * configure.os2: New file (from Jeff's config.os2). + + * backend/umax-scsi.c: Mmove include of <scsi/scsi.h> and + <scsi/sg.h> into !def UMAX_TO_SANE bracket. + + * backend/pnm.c (getparmfromfile): Open with mode "rb" to get + binary file on platforms where this is meaningful. + +1997-10-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-epson.man: Mention that backend is known to work with + GT-5000. + +1997-10-01 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-epson.man: New file (based on Kzuhiro's README file). + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention epson. + (libsane-epson.la): Add dependencies for Epson backend. + + * backend/epson.c: New file by Kazuhiro Sasayama + <kaz@hypercore.co.jp>. + * backend/epson.h: Ditto. + + * backend/microtek.c: Updated with latest version from + http://www.mir.com/mtek/ by Matt Marjanovic <maddog@mir.com>. + * backend/microtek.h: Ditto. + +1997-10-3 Jeff Freedman <jsf@hevanet.com> + + * sanei/sanei_scsi.c: Minor fixes for OS/2 support. + + * configure.in: Check for presence of sys/socket.h to set @NET@. + + * backend/Makefile.in: net -> @NET@ + +1997-09-30 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_scsi.c: Integrate OS/2 support by Jeff Freedman: + (OS2_INTERFACE) Define. + (open_aspi,close_aspi): New OS/2-specific functions. + (sanei_scsi_open): Add OS/2 support. + [USE = OS2_INTERFACE]: OS/2 version of sanei_scsi_cmd(). + (sanei_scsi_cmd, sanei_scsi_req_wait) [STUBBED_INTERFACE]: + Return proper value. + + * include/sane/config.h.in (HAVE_STRNCASECMP, HAVE_OS2_H): Add + #undef. If !HAVE_STRNCASECMP, define strncasecmp macro as + alias for strnicmp. + + * configure.in (AC_CHECK_FUNCS): Check for strncasecmp(). + (AC_CHECK_HEADERS): Check for os2.h. + +1997-09-30 David Mosberger-Tang <David.Mosberger@acm.org> + + * sanei/sanei_scsi.c: Integrate OS/2 support by Jeff Freedman: + (OS2_INTERFACE) Define. + (open_aspi,close_aspi): New OS/2-specific functions. + (sanei_scsi_open): Add OS/2 support. + [USE = OS2_INTERFACE]: OS/2 version of sanei_scsi_cmd(). + (sanei_scsi_cmd, sanei_scsi_req_wait) [STUBBED_INTERFACE]: + Return proper value. + + * include/sane/config.h.in (HAVE_STRNCASECMP, HAVE_OS2_H): Add + #undef. If !HAVE_STRNCASECMP, define strncasecmp macro as + alias for strnicmp. + + * configure.in (AC_CHECK_FUNCS): Check for strncasecmp(). + (AC_CHECK_HEADERS): Check for os2.h. + +1997-09-24 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.64 released. + + * PROJECTS (Backend): Update microtek entry. + Add entry for sgivl. + + * backend/microtek.conf: New file. + + * backend/dll.conf: Mention microtek. + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention microtek. + (libsane-microtek.la): Mention microtek dependencies. + + * backend/microtek.c: New file by Matthew Marjanovic. + * backend/microtek.h: Ditto. + +1997-09-23 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Integrate Michael Sweet's + latest Irix implementation of sanei_scsi_cmd(). + +Sat Sep 6 08:59:24 1997 David Mosberger-Tang <David.Mosberger@acm.org> + + * Version 0.63 released. + + * configure.in (V_MINOR): Bump up to 63. + + * configure.in (AM_PROG_RANLIB): Go back to AC_PROG_RANLIB. The + former causes a bad configure script. + +Fri Aug 29 16:08:05 1997 David Mosberger-Tang <David.Mosberger@acm.org> + + * doc/sane-umax.man: Change status of "Astra 1200S" to "all modes ok" + as Oliver tells me that this has been tested and is working now. + +Wed Aug 20 17:23:04 1997 David Mosberger-Tang <David.Mosberger@acm.org> + + * sane-0.63.lsm: Update email addresses etc. + + Integrate Oliver Rauch's UMAX improvements: + + * README: Document --enable-umax-preview-fix, + --enable-umax-start-scan-fix. + + * configure.in (UMAX_RGB_PREVIEW, UMAX_START_SCAN_PATCH): Define if + necessary. + + * include/sane/config.h.in (UMAX_RGB_PREVIEW, UMAX_START_SCAN_PATCH): + Add #undef. + + * include/sane/saneopts.h: Add manifest constants for options + resolution-bind, negative, quality-cal, threshold, analog-gamma, + analog-gamma-r, analog-gamma-g, analog-gamma-b, analog-gamma-bind, + smear, white-bind, black-bind. + + * AUTHORS (Frontends): Update email addresses of Oliver Rauch and + myself. + +1997-08-07 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (attach): Print Mustek scanner info at + debug level 2, not 3. + +1997-08-06 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/preview.c (XSERVER_WITH_BUGGY_VISUALS): Make conditional + on #ifdef __alpha__ (Michael Sweet reports that the old code broke + SGI IRIX 6.3). + +1998-08-01 David Mosberger-Tang <davidm@azstarnet.com> + + * include/sane/config.h.in (HAVE_SYS_SCSICMD_H, HAVE_SYS_DSREQ_H): + Undefine. + + * configure.in (AC_CHECK_HEADERS): Mention sys/scsicmd.h and + sys/dsreq.h. + + * sanei/sanei_scsi.c (SCO_OS55_INTERFACE, IRIX_INTERFACE, + SOLARIS_INTERFACE): Define. + +1997-07-27 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscanimage.c (quit_xscan) [HAVE_LIBGIMP_GIMP_H]: When + running as a GIMP extension, call gimp_quit(). + (init) [HAVE_LIBGIMP_GIMP_H]: Set GDK's xshm flag based on GIMP's + flag. + + * doc/sane-mustek.man (SCSI ADAPTER TIPS): Try to make complete + sentences. + +1997-07-25 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.62 released. + + * configure.in (CPPFLAGS): Test for gtk_gamma_curve_new() to + see whether appropriate version of gtk is installed. + + * backend/mustek.c (sane_init): Add parsing support for option + `strip-height'. + (strip_height): New variable to limit scan strip height. + (reader_process): If strip_height is greater than 0.0, limit + lines_per_buffer so that no more than strip_height inches are + scanned with a single SCSI read command. + + * doc/sane-mustek.man (CONFIGURATION): Describe strip-height + option. + +1997-07-23 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane-hp.man (Model): Added ScanJet 3c info. + +1997-07-22 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/scanimage.README: Remove file. + + * doc/sane-scsi.man: Add info on generic AM53C974 driver. + +1997-07-19 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c [USE == LINUX_INTERFACE]: Include + <sys/time.h>. + +1997-07-18 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c (sanei_scsi_req_flush_all) + [WE_HAVE_ASYNC_SCSI]: Implement stub. + + * scripts/xerox: New file (simple xeroxing script). + + * frontend/scanimage.c (main): When opening a device fails, also + print reason for failure. + + * frontend/preview.c (preview_new): Register expose_event handler. + (preview_destroy): Call scan_done() if called when preview + scanning in progress. + + * backend/mustek.c (attach): Add argument MAY_WAIT. If it's TRUE, + wait for scanner to become ready before sending inquiry command. + (do_cancel): Rename to do_stop. Ignore child's exist status + when we're really cancelling a scan. Issue stop_scan() command + only if the scan got cancelled and do a wait_ready() before + issueing the stop_scan(). + (read_data): Delete. + (sane_init): Call attach() with MAY_WAIT set to SANE_FALSE. + (sane_open): Call attach() with MAY_WAIT set to SANE_TRUE. + + * frontend/preview.c (display_partial_image): Use gtk_preview_put() + to update the preview window. Much faster than hiding/showing the + widget. + (expose_handler): New function. + + * frontend/progress.c (progress_new): Make "Cancel" button a + toggle-button so user can see when it was pressed down while + the backend cancels its operation. + + * backend/mustek.c (do_cancel): Call wait_ready() before + attempting to stop scanner. + (read_req_enter): New function. + (send_data): Ditto. + (sigterm_handler): New function. + (reader_process): Reimplement using asynchronous SCSI command + interface. + (wait_ready): Use gettimeofday() to implement timeout. The + scsi command itself may take a considerable amount of time + (1 second or more) so we can't just loop for a fixed number + of times. + + * include/sane/sanei_scsi.h: Declre sanei_scsi_req_enter, + sanei_scsi_req_wait, and sanei_scsi_req_flush_all. + + * sanei/sanei_scsi.c [WE_HAVE_ASYNC_SCSI]: Define. + (issue): New function. + (sanei_scsi_req_flush_all): New function. + (sanei_scsi_req_enter): Ditto. + (sanei_scsi_req_wait): Ditto. + (sanei_scsi_cmd): Reimplement in terms of enter/wait. + (sanei_scsi_req_enter) [!WE_HAVE_ASYNC_SCSI]: Stub that + simply calls sanei_scsi_cmd(). + (sanei_scsi_req_wait): Empty stub. + +1997-07-16 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane-scsi.man: Add Tekram DC390 info (contributed by + kawk@Home.Yo.COM (Kolja Waschk)) + +1997-07-15 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c (sanei_scsi_cmd) [USE==LINUX_INTERFACE]: + Return SANE_STATUS_NO_MEM if write() of SCSI command fails. + + * backend/mustek.c (do_cancel): If reader_process exited, use + exit status as return value. + (reader_process): Return SANE_STATUS_IO_ERROR instead of 1. + Return SANE_STATUS_NO_MEM instead of 2. Return STATUS instead + of 3. Return SANE_STATUS_GOOD instead of 0. + (sane_read): If do_cancel() returns anything but + SANE_STATUS_CANCELLED or SANE_STATUS_GOOD, something bad has + happened and the return status should be returned. + + * doc/sane-scsi.man: Fix typo: sg.h is in /usr/include/scsi, not + /usr/include. + + * PROBLEMS: Add warning about updating Linux kernel after increasing + SG_BIG_BUFF. + +1997-07-14 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscanimage.c (quit_xscan): Destroy preview window before + quitting, so preview image gets saved if necessary. + + * frontend/Makefile.in (LIBX11): New macro. + (LIBGTK): Ditto. + (xscanimage): Use $(LIBGTK) instead of $(LIBS). + (xcam): Use $(LIBGTK) instead of $(LIBS). + + * configure.in (LIBX11): Define as all libraries necessary when + using X11. + (LIBGTK): Define as all libraries necessary when using GTK+. + + * backend/mustek.c (sane_start): Don't send gamma in lineart and + halftone mode! + + * doc/sane-scsi.man: Add info on how to setup BT958 card (contributed + by Jeremy <jeremy@xxedgexx.com>). + +1997-07-13 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane-scsi.man: Add info on FreeBSD. + +1997-07-12 David Mosberger-Tang <davidm@azstarnet.com> + + * ltmain.sh: Installed libtool-1.0-nomode patch. + + * configure.in (AC_PROG_RANLIB): Change to AM_PROG_RANLIB. + +1997-07-11 David Mosberger-Tang <davidm@azstarnet.com> + + * ltmain.sh: Upgrade to libtool-1.0. + * ltconfig: Ditto. + * config.guess: Ditto. + * config.sub: Ditto. + * aclocal.m4: Ditto. + +1997-07-08 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.61 released. + + * backend/Makefile.in (LIBLIB_FUNCS): Mention snprintf. + + * backend/umax-struct.h (LINEART, HALFTONE, GREYSCALE, RGB): Move + the pound sign to the beginning of the line. + * backend/umax-scsidef.h: Ditto for all indendent #defines in this + file. + * backend/umax-scsi.c: Ditto for all # directives in here. + + * frontend/saned.c [HAVE_LIBC_H]: Include <libc.h>. + +1997-07-07 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/net.c [HAVE_LIBC_H]: Include <libc.h>. + + * lib/usleep.c: New file (adapted from glibc). + + * lib/strndup.c: Move #ifndef HAVE_STRNDUP up so nothing + except <config.h> gets included unless really needed. + Include <sys/types.h> to get size_t defined. + + * lib/snprintf.c (vsnprintf): Rename from vplp_snprintf. + (snprintf): Rename from plp_snprintf. + + * include/sane/config.h.in: Add #undef HAVE_USLEEP. Add #undef + HAVE_IO_CAM_CAM_H. + + * configure.in: Test ${ac_cv_prog_gcc} instead of $CC to find out + whether we're dealing with gcc. Test for io/cam/cam.h header. + (AC_C_INLINE): Add. + (AC_CHECK_FUNCS): Mention usleep. + Check for Xext after checking for X11 since on some platforms, + linking against Xext requires functions from X11. + + * backend/umax.c (PATH_MAX): Define as 1024 if undefined. + + * backend/Makefile.in (CONFIGS): Don't add $(srcdir) prefix. + (LIBLIB_FUNCS): Mention usleep. + (install): Invoke $(LIBTOOL) $(MINST) --finish $(libdir) in + a final step. Correct installation rule for config files. + +1997-07-06 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c (sanei_scsi_cmd): New variable RESULT. + +1997-07-05 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Improve BSD version based + on patch by Amancio Hasty <hasty@rah.star-gate.com>. + (BSD_INTERFACE): Rename from NETBSD_INTERFACE (FreeBSD uses the + same interface). + + * configure.in (CPPFLAGS): Check for scsireq_enter in libscsi.a. + + * doc/Makefile.in (SECT5): Mention sane-scsi.5. + * doc/sane-scsi.man: New file. + + * doc/sane-umax.man: Add SEE ALSO section mentioning sane-scsi(5). + * doc/sane-mustek.man: Ditto. + + * doc/scanimage.man: Mention sane-umax(5). + * doc/xscanimage.man: Ditto. + * doc/saned.man: Ditto. + + * configure.in (AC_TYPE_PID_T): Add. + * include/sane/config.h.in: Add undef of pid_t. + +1997-07-04 David Mosberger-Tang <davidm@azstarnet.com> + + * lib/sigprocmask.c (sigprocmask): Use hardcoded values instead + of SIG_BLOCK, SIG_UNBLOCK, and SIG_SETPROCMASK. + +1997-07-03 David Mosberger-Tang <davidm@azstarnet.com> + + * configure.in (CPPFLAGS): Remove -D_POSIX_SOURCE. We can't define + it safely since it causes select() related typedefs and defines + to go away under FreeBSD, for example. + +1997-07-02 David Mosberger-Tang <davidm@azstarnet.com> + + * configure.in (CPPFLAGS): Put -D_GNU_SOURCE and -D_POSIX_SOURCE + in CPPFLAGS, not CFLAGS. + + * doc/sane-umax.man: Change SG_BIG_BUFF example from 128KB to + 127.5KB. + * doc/sane-mustek.man: Ditto. Mention DTC3181E together with + DTCT436. + + * frontend/gtkglue.c (gsg_create_dialog): Initialize dialog->advanced + to TRUE so "dumb" frontends will show all options. + + * frontend/xscanimage.c (device_dialog): Turn off advanced options + by default. + + * configure.in (AC_CHECK_TYPE): Check for u_long and u_int. + Check for scsireq_t. + * sanei/sanei_scsi.c: Don't define scsireq_t here. + + * include/sane/config.h.in: Add undef of u_long, u_int, and + scsireq_t. + +1997-07-01 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscanimage.c (quit_xscan): No longer call + preview_destroy() since that now gets called as part of + the "destroy" callback. + + * backend/hp.c (attach) [PREFER_DEVICEPIXEL]: Use device-pixel + unit commands instead of decipoint commands so things work on a 5p + as well (contributed by NOGAYA Shigeki + <nogaya@mbox.kyoto-inet.or.jp>). + (sane_start) [PREFER_DEVICEPIXEL]: Convert from mm to pixels. + + * frontend/preview.c (input_available): Break out of per-bit loop + when done with one line (fix contributed by NOGAYA Shigeki + <nogaya@mbox.kyoto-inet.or.jp>). + * frontend/xscanimage.c (input_available): Ditto. + + * doc/sane-umax.man: Rename SCSI id to Product id to reduce + confusion. + * doc/sane-hp.man: Ditto. + * doc/sane-mustek.man: Ditto. + + * backend/mustek.c (wait_ready): Ignore errors during wait_ready(). + With 3-pass scanners, ncr810 driver returns EIO while the scanner + is getting ready for pass 2 or 3. + +1997-06-30 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sense_handler): Print debug info if we + find unknown sense result. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Consider sense_buffer[] + only when result != 0. + + * frontend/scanimage.c (sighandler): Change return value type + from void to RETSIGTYPE (from <sane/config.h>). + + * doc/sane-mustek.man: Mention problems with MSFS-12000SP. + + * backend/umax.c (sane_start): Don't use C++ style line comments. + + * backend/umax-scsi.c (umax_do_scsi_cmd): Use sigemptyset() to clear + out signal set. Include <sane/config.h>. + + * frontend/saned.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>. + * include/sane/config.h.in: Mention HAVE_SYS_SELECT_H. + +Thu Jun 26 10:19:50 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * README: Mention permissions on generic SCSI device. + +Tue Jun 24 17:35:52 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/xscanimage.man: Fix spacing. + + * doc/sane-dll.man: Mention how list of pre-loaded backends + can be changed. + +Sun Jun 22 08:29:47 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * PROBLEMS: Add note on SCSI device names under OpenStep. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Fix various minor bugs. + (sanei_scsi_open): Add support for OpenStep. + + * backend/Makefile.in (install): Replace 'ln -f -s' with `rm -f', + `ln -s' sequence. OpenStep doesn't support the -f option at all. + +Fri Jun 20 07:30:18 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane-qcam.man: Updated B&W status. + + * sanei/sanei_save_values.c [HAVE_LIBC_H]: Include <libc.h>. + * sanei/sanei_load_values.c: Ditto. + + * lib/sigprocmask.c: New file. + * lib/strdup.c: Ditto. + + * lib/Makefile.in (LIBLIB_OBJS): Mention strdup.o and sigprocmask.o. + (LIBLIB_LTOBJS): Mention strdup.lo and sigprocmask.lo. + (liblib.a): Use $(RANLIB) instead of -ranlib. + + * include/sane/sanei_backend.h [!HAVE_SIGPROCMASK]: Define + compatibility macros sigset_t, sigemptyset(), sigfillset(), + sigaddset(), sigdelset(), and sigaction(). + Define macro SIGACTION. + + * frontend/saned.c (HAVE_VARARG_MACROS): Don't define unless we + have at least gcc 2.6. + * include/sane/sanei_debug.h Ditto. Use HAVE_VARARG_MACROS + instead of __GNUC__. + * sanei/sanei_init_debug.c: Ditto. + + * configure.in (AC_PROG_RANLIB): Mention. + (CFLAGS): Move up near the beginning and add -D_POSIX_SOURCE. + (AC_CHECK_HEADERS): Test for libc.h. + (AC_TYPE_SIGNAL): Mention. + (AC_CHECK_FUNCS): Check for sigprocmask. + + * backend/net.c (sane_init): Honor SANE_NET_HOSTS even if + net.conf does not exist. + + * backend/mustek.c (sane_start): Use "struct SIGACTION" so it's + easier to make code work on platforms that don't support + sigprocmask(). + * backend/umax.c (sane_start): Ditto. + + * ltmain.sh: Upgrade to libtool-0.9h. + * ltconfig: Ditto. + * config.guess: Ditto. + * config.sub: Ditto. + * aclocal.m4: Ditto. + +Thu Jun 19 08:26:33 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * configure.in (V_MINOR): Update forgotten version number... + + * backend/qcam.c (reader_process): Scale 4 and 6 bpp to 8 bpp. + + * backend/mustek.h (MUSTEK_FLAG_LD_NONE): New flag. + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_LD_NONE for + MSF-06000SP (this fixes the problems for Andreas Gaumann + <gg261@appl2.hrz.uni-siegen.de>). + (attach): Print debug message when MUSTEK_FLAG_LD_NONE is on. + (line_distance): Fix up ld correction only if MUSTEK_FLAG_LD_NONE + is not on. + +Wed Jun 18 15:42:25 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (section{Image Data Format}}): Clarify + what valid bit-depths are. + +Tue Jun 17 07:47:51 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/qcam.c (sane_get_parameters): Test for != QC_COLOR + instead of == QC_MONO. Apparently, there are several versions + of the monochrome camera. + (qc_setscanmode): Ditto. + + * lib/snprintf.c: Update with latest version (also includes + license information now). + + * sane-0.6.lsm (Author): Update Tristan Tarrant's email address. + * AUTHORS: Ditto. + * frontend/xscanimage.c: Ditto. + +Sun Jun 15 10:08:44 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/xscanimage.man: Add section on how to run xscanimage under + the GIMP. + + * frontend/xscanimage.c (init) [HAVE_LIBGIMP_GIMP_H]: Call + gtk_rc_parse() with gimp_gtk_rc() to get space-saving layout of + The GIMP. (Suggested by Sven Neumann.) + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Add NeXTStep/OpenStep + implementation. + (sanei_scsi_cmd): Adjust NetBSD version to make it more like + NeXTStep/OpenStep version. + + * configure.in (AC_CHECK_HEADERS): Mention bsd/dev/scsireg.h. + +Thu Jun 19 15:19:38 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * backend/umax-scsi.c: Parameterize slightly more so that the + build succeeds on non-Linux platforms. + + * Makefile.in, backend/Makefile.in, doc/Makefile.in, + frontend/Makefile.in (install): Fail immediately if any + installation fails. Use mkinstalldirs to create all installation + directories. + +Sat Jun 14 11:07:13 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.6 released. + + * frontend/preview.c (preview_new): Connect "destroy" signal + so we notice if window manager closes our window. + (top_destroyed): New function. + + * frontend/xscanimage.c (scan_preview): Make it robust against + preview_new() returning NULL and connect "destroy" signal so we + notice when the window manager closes the preview window. + (preview_window_destroyed): New function. + + * LICENSE: New file. + + * backend/dll.c: Change license from GPL to relaxed GPL. + * backend/hp.c: Ditto. + * backend/hp.h: Ditto. + * backend/mustek.c: Ditto. + * backend/mustek.h: Ditto. + * backend/net.c: Ditto. + * backend/net.h: Ditto. + * backend/pint.c: Ditto. + * backend/pint.h: Ditto. + * backend/pnm.c: Ditto. + * backend/pnm.h: Ditto. + * backend/qcam.c: Ditto. + * backend/qcam.h: Ditto. + * sanei/sanei_codec_ascii.c: Ditto. + * sanei/sanei_codec_bin.c: Ditto. + * sanei/sanei_constrain_value.c: Ditto. + * sanei/sanei_init_debug.c: Ditto. + * sanei/sanei_load_values.c: Ditto. + * sanei/sanei_net.c: Ditto. + * sanei/sanei_save_valus.c: Ditto. + * sanei/sanei_scsi.c: Ditto. + * sanei/sanei_wire.c: Ditto. + +Fri Jun 13 18:35:47 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * lib/snprintf.c: New file (Patrick Powell). + + * frontend/xcam.c: Use guint32 and guint32 instead of u_int16_t + and u_int32_t (Tristan Tarrant). + + * doc/Makefile.in (SECT5): Mention sane-umax.5. + + * configure.in (PACKAGE_VERSION): Check for snprintf (Tristan + Tarrant). + + * backend/dll.conf: Mention umax. + + * backend/umax-scanner.h: New file (from umax-0.5.5). + * backend/umax-scsi.c: Ditto. + * backend/umax-scsidef.h: Ditto. + * backend/umax-struct.h: Ditto. + * backend/umax-uc630.h: Ditto. + * backend/umax-ug630.h: Ditto. + * backend/umax-umax.c: Ditto. + * backend/umax.conf: Ditto. + * backend/umax.h: Ditto. + * doc/sane-umax.5: Ditto. + + * backend/Makefile.in (PRELOADABLE_BACKENDS): Mention umax. + (libsane-umax.la): List dependencies for umax library. + + * COPYING: New file. + + * include/sane/config.h.in: Add #undef HAVE_SNPRINTF. + +Tue Jun 10 21:00:34 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * ltmain.sh: Upgrade to libtool-0.9g. + +Sun Jun 8 21:24:27 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/dll.c (load): Also check SHLIB_PATH (HP-UX) and LIBPATH + (AIX). + + * include/sane/config.h.in: Remove HAVE_GTK_GTKCURVE_H. + +Sat Jun 7 11:19:57 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscanimage.c (pref_device_save): Call gsg_sync() before + saving the values. + + * backend/Makefile.in (libsane-%.la): Add -export-dynamic flag. + + * frontend/xscanimage.c (query): Rename "/Extensions/" to "/Xtns/" + to reflect gimp-0.99.10 changes. + (query): Don't put in separator---it confuses gimp. + (main): Temporarily install a null print handler so gimp_main() + doesn't produce any ugly messages when program gets invoked in + stand-alone mode. + + * ltconfig: Upgrade libtool to version 0.9f. + * ltmain.sh: Ditto. + * config.guess: Ditto. + * config.sub: Ditto. + + * frontend/Makefile.in (install): Define MKDIR as + $(top_srcdir)/mkinstallldirs. + Use $(MKDIR) instead of mkdir. + * backend/Makefile.in (install): Ditto. + * doc/Makefile.in (install): Ditto. + + * mkinstalldirs: New file (from maint-0.1g). + +Tue Jun 3 10:29:17 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * LEVEL2: New file. + +Sun Jun 1 13:26:40 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/Makefile.in (LATEX, DLH): New macros. + (sane.ind): Prefix source filename with $(srcdir). + (ps): Ditto. + (html): Ditto. + + * doc/net.tex (subsection{SANE_NET_START}): Document member + byte_order. + + * sanei/sanei_net.c (sanei_w_start_reply): (De-)code BYTE_ORDER + member. + + * frontend/saned.c (byte_order): New union. + (process_request): Initialize byte_order member. + + * include/sane/sanei_net.h (SANE_Net_Byte_Order): New enum type. + (SANE_Start_Reply): New member BYTE_ORDER. + +Wed May 28 17:13:43 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/Makefile.in (install): Create $(mandir)/man1 and + $(mandir)/man5 if necessary. + +Tue May 27 09:31:39 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/hp.c: Remove s7_range and s1_range. + (attach): Add inquiry of min/max brightness/contrast and fill in + dev->brightness_range and dev->contrast_range accordingly. + (init_options): Use s->hw->brightness_range instead of s7_range. + Use s->hw->contrast_range instead of s7_range. Disable contrast + option if min value is same as max value. + + * backend/hp.h (struct HP_Device): Add members BRIGHTNESS_RANGE + and CONTRAST_RANGE. + + * sanei/sanei_scsi.c (sanei_scsi_open): Add more debug info. + +Mon May 26 10:43:51 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (INCLUDES): Move -I directives from CPPFLAGS to this macro. Also + search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + + * lib/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (INCLUDES): Move -I directives from CPPFLAGS to this macro. Also + search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + + * include/Makefile.in: New file. + + * frontend/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (INCLUDES): Also search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + (install): Add $(srcdir) prefix to sane-style.rc. + + * doc/Makefile.in: Add definitions for VPATH, srcdir, top_srcdir, + and top_builddir. + (%.1 %.5): Use $^ instead of $* so source file can be found even + when in a different directory. + + * configure.in (AC_OUTPUT): Create (dummy) include/Makefile to + ensure include directory exists in build tree. + + * backend/Makefile.in: Add definitions for VPATH, srcdir, + top_srcdir, and top_builddir. + (INCLUDES): Also search in $(srcdir), $(top_builddir)/include, and + $(top_srcdir)/include. + (CONFIGS): Add $(srcdir) prefix. + (%-s.c): Ditto. + + * Makefile.in (INSTALLED_INCLUDES): Mention include/sane/config.h. + Add definitions for VPATH, srcdir, top_srcdir, and top_builddir. + (INSTALLED_INCLUDES): Change include/sane to $(top_srcdir)/include/sane + and use "addprefix" function to add prefix. + +Thu May 15 07:26:06 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane-mustek.man (Model): Add entry for MFC-600CD. + (Model): Mention AHA-2940. + + * frontend/xscanimage.c (scan_dialog): Move gsg_sync() to here + (from scan_start()). + + * backend/mustek.c (init_options): Disable brightness/contrast for + 1-pass scanners only (in color mode). + +Wed May 14 09:17:02 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c: Add ax_brightness_range, ax_contrast_range. + (init_options): Use ax_brightness_range/ax_contrast_range for + brightness/contrast option when using a 3-pass scanner. + (encode_percentage): Remove extraneous division by 100.0. + + * doc/sane-mustek.man (Model): Add MFS-12000CX entry. + +Mon May 12 07:58:34 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/scanimage.c (main): Shorten help string so it fits in + 80 characters. + + * frontend/preview.c (paint_image): Only increment height if + height < p->image_height. + +Sat May 10 14:43:05 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.57 released. + + * backend/mustek.c (attach): Fix range to 220x300mm. + (init_options): Initialize OPT_PREVIEW and OPT_GRAY_PREVIEW. + (sane_control_option): Handle OPT_PREVIEW and OPT_GRAY_PREVIEW. + Do not allow OPT_NUM_OPTS to be set. + (sane_get_parameters): Except for s->params.format and + s->params.last_frame, do not change any parameters when scanning + is in progress. + (sane_start): Handle mono-chrome previewing. + + * backend/mustek.h (Mustek_Option): Add OPT_PREVIEW and + OPT_GRAY_PREVIEW. + + * frontend/progress.c (progress_new): Fix position of progress bar + window to (progress_x,progress_y). + + * frontend/gtkglue.c (panel_build): Skip Preview option. + +Thu May 8 19:39:48 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/scanimage.man: New file. + + * doc/Makefile.in (SECT1): Mention scanimage.1. + + * backend/dll.conf: Add hp to dll.conf. + +Wed May 7 07:28:18 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * include/sane/sanei_scsi.h (SANEI_SCSI_Sense_Handler): New type. + (sanei_scsi_close): Add SENSE_HANDLER argument (NULL means no + special handler needed). + + * backend/hp.c (sane_start): Pass 0 as SENSE_HANDLER argument. + (attach): Ditto. + + * backend/mustek.c (sense_handler): Rename from request_sense and + simplify. + Remove all explicit request-sense calls. + + * sanei/sanei_scsi.c: Include <stdlib.h>. + (num_handlers_alloced): New variable. + (sense_handler): Ditto. + (sanei_scsi_open): Add SENSE_HANDLER argument. Stash it away in + SENSE_HANDLER array if non-NULL. + (sanei_scsi_cmd) [HAVE_SYS_SG]: Invoke SENSE_HANDLER[FD] if it + exists and is non-NULL and we have a valid sense-buffer. + (sanei_scsi_cmd) [HAVE_SYS_SCSI]: Ditto. + (sanei_scsi_close): Reset SENSE_HANDLER[FD] to NULL if it exists. + + * frontend/xcam.c: Include <sane/config.h>. + + * configure.in: Add a big fat warning that PROBLEMS should be + read before running any programs. + + * PROBLEMS: Add info on how to avoid damaging Mustek scanners. + +Mon May 5 07:06:54 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (chapter{Contact Information}): Fix URL. + + * doc/net.tex: Add missing sections. Make into chapter. + + * backend/pint.README: Remove. + + * backend/dll.c (ASSERT_SPACE): Call malloc() when devlist is + NULL. SunOS realloc() returns NULL otherwise. + * backend/net.c (ASSERT_SPACE): Ditto. + +Sun May 4 09:21:48 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/saned.c (EXIT_SUCCESS): Define as 0 if not defined by + stdlib.h. + + * frontend/scanimage.c: Include <sys/types.h>. + + * backend/qcam.c: Define PATH_MAX as 1024 if limits.h doesn't + define it. + * backend/dll.c: Ditto. + * backend/hp.c: Ditto. + * backend/mustek.c: Ditto. + * backend/net.c: Ditto. + * backend/pint.c: Ditto. + * backend/qcam.c: Ditto. + * frontend/xscanimage.c: Ditto. + * frontend/xcam.c: Ditto. + * frontend/preview.c: Ditto. + + * sanei/sanei_wire.c: Include <sane/config.h>. + * sanei/sanei_net.c: Ditto. + * sanei/sanei_codec_ascii.c: Ditto. + * sanei/sanei_codec_bin.c: Ditto. + * sanei/sanei_save_values.c: Ditto. + * backend/net.c: Ditto. + * frontend/saned.c: Ditto. + + * configure.in (AC_CHECK_HEADERS): Mention + /usr/src/linux/include/scsi/sg.h. + + * include/sane/config.h.in: Add + #undef HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H. + + * sanei/sanei_scsi.c [HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H]: + Include "/usr/src/linux/include/scsi/sg. + (sanei_scsi_cmd): Use Linux version if either HAVE_SCSI_SG_H or + HAVE__USR_SRC_LINUX_INCLUDE_SCSI_SG_H are defined. + + * doc/xscanimage.man: Rename --no-shm to --no-xshm. + +Mon Apr 28 09:55:02 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.56 released. + + * backend/qcam.c (sane_open): Move disabling of despeckle-filter + for b&w cameras to here (from init_options()). + + * frontend/preferences.c: Add missing default value for FILENAME. + + * backend/qcam.h: Add QC_BW_SET_CONTRAST, + QC_BW_AUTO_ADJUST_OFFSET, and QC_BW_GET_OFFSET. * backend/qcam.c + (sane_start): Use QC_BW_SET_CONTRAST when dealing with B&W camera. + Fix computation of QC_SET_NUM_H value. [Based on Guido Muensch's + patches.] + + * frontend/scanimage.c (advance): Move out-of-memory error message + from scan_it() to here. + (scan_it): When height is known a priori, allocate one extra line + to avoid realloc() when image has been filled. + + * backend/hp.c (BACKEND_NAME): Define as hp (reported by Henryk + Paluch). + + * backend/mustek.c (request_sense): Increase result size from 4 to + 16 bytes to shut up aha1542 driver (reported by Mathias Lautner). + + * frontend/scanimage.c (advance): Fix memory allocation logic + (bug reported by Matthias Lautner). + + * doc/sane-dll.man: Clarify that pre-loaded backends are not + affected by dll.conf. + + * doc/sane-pint.man: New file (contributed by Gordon Matzigkeit). + + * backend/dll.c (RTLD_NOW): Define as 0 if dlfcn.h doesn't define + it. + +Wed Apr 23 23:03:47 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * backend/Makefile.in, frontend/Makefile.in: Specify full + filenames, rather than just the directory name for INSTALL + destinations. This Automakeism helps debugging when the target + directory doesn't exist. + + * include/sane/config.h.in (HAVE_SYS_SCANIO_H): Define, for PINT's + sake. + + * backend/pint.c: Prefix sane includes with <sane/...>. + + * backend/dll.c (RTLD_NOW): Paramaterize, so that RTLD_LAZY is + used if RTLD_NOW is not defined. + (load): Try looking up the symbol with a leading underscore, if we + can't find it the first time. + + Make dynamic loading conditional on HAVE_DLOPEN rather than the + library and header file. + + * configure.in (enable_dynamic): Disable dynamic loading if the + system doesn't have dlopen. + +Tue Apr 22 00:17:41 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.55 released. + + * frontend/xscanimage.c (browse_filename_callback): Initialize + FILENAME before calling gsg_get_filename(). + + * doc/sane.tex: Change obsolete \driver{DVIps} into DVIps document + style option. + + * frontend/xscanimage.c (query): Update to new command name + length. + +Mon Apr 21 08:27:28 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/Makefile.in (install): Add rule to install man-pages. + (%.1 %.5): Add rule to generate man-pages (by substituting + actual paths). + (SECT1): New variable. + (SECT5): Ditto. + (MANPAGES): Ditto. + + * doc/sane-pnm.man: New file. + * backend/pnm.README: Deleted. + + * doc/sane-hp.man: New file. + * backend/hp.README: Deleted. + + * doc/saned.man: New file. + * frontend/saned.README: Deleted. + + * doc/sane-qcam.man: New file. + * backend/qcam.README: Deleted. + + * doc/sane-mustek.man: New file. + * backend/mustek.README: Deleted. + + * doc/sane-net.man: New file. + * backend/net.README: Deleted. + + * doc/sane-dll.man: New file. + * backend/dll.README: Deleted. + + * doc/xscanimage.man: New file. + * frontend/xscanimage.README: Deleted. + + * frontend/preview.c (event_handler): Restore preview image only + if preferences.preserve_preview is TRUE. + + * frontend/xscanimage.c (preview_options_dialog): Add an option + to control whether the preview image should be preserved. + + * sanei/sanei_load_values.c (sanei_load_values): Copy string value + into temporary buffer that is opt->size bytes long. Then pass copy + to sane_control_option(). + + * AUTHORS (Backends): Updated according to recent changes. + + * doc/sane.tex (The SANE Application Programmer Interface (API)): + Fix typo: replace () by {}. + + * PROJECTS (Backend): Update PINT entry. + + * frontend/xscanimage.c (prog_name): New variable. + (input_available): Use prog_name instead of hardcoding "xscan". + (preview_options_ok_callback): Ditto. + (preview_options_dialog): Ditto. + (usage): Ditto. + (interface): Ditto. + (main): Initialize prog_name. + + * frontend/scanimage.c: Update for new name (scanimage instead of + scan). + + * frontend/Makefile.in (SCAN_OBJS): Rename sources to xscanimage.c + and scanimage.c as well. + +Sun Apr 20 09:09:06 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.54 released. + + * sanei/Makefile.in (LIBSANEI_LTOBJS): Remove @LTALLOCA@. + (LIBSANEI_OBJS): Remove @ALLOCA@. + + * lib/Makefile.in: Invoke $(LIBTOOL) with --mode arg to avoid + depending on command names. Prefix $(LIBTOOL) invocation with + @-sign to reduce verbosity. + * frontend/Makefile.in: Ditto. + * backend/Makefile.in: Ditto. + * sanei/Makefile.in: Ditto. + + * frontend/saned.c (_PATH_HEQUIV): Define if not defined yet.. + + * configure.in: Check for libgimp/gimp.h instead of -lgimp since + -lgimp cannot be linked by itself (it has an unresolved reference + to PLUG_IN_INFO). + + * lib/strndup.c (strndup): Include <stdlib.h>. + + * frontend/xscanimage.README: Update. + + * sanei/sanei_scsi.c: Add missing "int" type in front of + sanei_scsi_max_request_size. + + * configure.in: Check for -lintl, -lsocket, and -lnsl for + braindamaged SVR4 systems. + + * frontend/scan.c (scan_it): Initialize min with 0xff, not ~0 + (Sun CC complains otherwise). + + * backend/Makefile.in: Use "ln -f -s", not "ln -sf", Solaris doesn't + like the former. Grrr... + + * lib/alloca.c: Don't use xmalloc(). + + * frontend/saned.c (store_reclen): Declare BUF as a pointer to + SANE_Byte (not char). + (do_scan): Ditto. + + * frontend/scan.c (fetch_options): Cast opt->name to (char *) + to suppress (spurious) warning. + + * backend/dll.c (sane_init): Skip preloaded backends with no name. + + * backend/hp.c (inquire): Cast BUF to (char *) to avoid warning. + (sane_read): Change type of NREAD to size_t (from ssize_t). + + * include/sane/sanei_backend.h (u_int16_t): Define u_int8_t, + u_int16_t, and u_int32_t if necessary. + + * include/sane/sane.h (sane_strstatus): Remove non-ANSI "const". + * backend/sane_strstatus.c (sane_strstatus): Ditto + + * include/sane/sanei_debug.h (DBG): Define alternate version for + non-GNU C compilers. + + * sanei/sanei_init_debug.c (sanei_debug) [!__GNUC__]: New function. + (max_level) [!__GNUC__]: New variable. + + * include/sane/sanei_wire.h: Fix typo in prototype for + sanei_w_value_type. + + * configure.in: Test for gtk_check_button_new() in libgtk. + + * lib/Makefile.in (CPPFLAGS): Add -I../include/sane. + + * frontend/scan.c (STRIP_HEIGHT): New macro. + (advance): Use above macro instead of hard-coding value. + (scan_it): Ditto. + (scan_it): Print error when out of memory. + + * frontend/sane-style.rc: Make the curve in the graph red. + + * frontend/preview.c (XSERVER_WITH_BUGGY_VISUALS): Define for now. + (preview_new): Avoid push_visual()/get_visual() since it seems to + cause problems with some XFree86 servers (and may be others as + well). + + * frontend/preferences.h: Add member ADVANCED. + * frontend/preferences.c: Initialize member ADVANCED and add + an option descriptor for it. + + * frontend/gtkglue.c (panel_build): Layout panel different: all + options are now in one column (advanced options are at the + bottom). The graph widget (if any), will be shown in a separate + column to the right of the options. Display a group only when + there is at least one option in it. Create graph widget if there + is at least one vector-valued option. + (gsg_sync): New function. + (gsg_set_advanced): Ditto. + (gsg_message_dialog_active): Rename from SHOWING_MESSAGE and make + global. + + * frontend/gtkglue.h (GSGDialog): Rename member NOTEBOOK to + MAIN_HBOX. Add members ADVANCED_VBOX and ADVANCED. + + * frontend/gtkglue.c (group_new): New function. + (curve_new): Ditto. + (vector_new): Ditto. + + * backend/mustek.c (init_options): Initialize OPT_CUSTOM_GAMMA. + (sane_control_option): Handle OPT_CUSTOM_GAMMA. + + * backend/mustek.h (OPT_CUSTOM_GAMMA): New option. + + * configure.in (AC_CONFIG_HEADER): Update for new location. + + * include/sane/config.h.in: Move to here from include/config.h. + * *.[ch]: Replace <config.h> with <sane/config.h> (except for + files in lib. + + * frontend/saned.README: saned moved from bin/saned to sbin/saned. + + * configure.in (AC_CHECK_HEADERS): Check for gtk/gtkcurve.h. + + * backend/mustek.c (init_options): Undo changes of April 18th. + + * frontend/Makefile.in (install): Install $(BINPROGS) in $(bindir) + and $(SBINPROGS) in $(sbindir). + (SBINPROGS): New variable. + (BINPROGS): Ditto. + (PROGRAMS): Define as concatenation of the two vars above. + (install): Create $(bindir) and $(sbindir) if necessary. + +Sat Apr 19 18:21:02 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/Makefile.in (scanimage): Rename "scan" binary to + "scanimage" to avoid name-collision with MH's scan command. + + * backend/mustek.c (gamma_correction): Update according to new + gamma-table handling. + + * backend/mustek.h: Declare gamma_table as 4 arrays of 256 words + each. + + * backend/mustek.c (sane_control_option): Add missing return after + setting OPT_GAMMA_VECTOR. + + * frontend/progress.h: Protect against multiple inclusion using + macro progress_h, not __PROGRESS_H__ (names starting with + underscores are reserved for libc/system). + + * frontend/gtkglue.c: Remove include of <gtk.h>. + * frontend/xcam.c: Ditto. + * frontend/xscan.c: Ditto. + + * frontend/gtkglue.h: Include <gtk/gtk.h> instead of <gtk.h>. + * frontend/progress.c: Ditto. + + * Makefile.in (install): Install headerfiles. + (INSTALLED_INCLUDES): List of header files that need to be + installed. + +Sat Apr 19 18:15:03 1997 Michael K. Johnson <johnsonm@redhat.com> + + * */*.[ch]: Prefix sane-includes with <sane/...>. + include/sane*: Move to include/sane subdirectory. + +Sat Apr 19 08:25:36 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/gtkglue.c (set_option): Add missing return and use + snprintf instead of sprintf. + + * frontend/xscan.c (update_param): Multiply size by 3 if we're + dealing with a frame from a 3-pass image. + +Fri Apr 18 07:28:46 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (init_options): Mark all vector options as + SANE_CAP_ADVANCED. + + * frontend/scan.c (scan_it): Fail if advance() fails. + +Thu Apr 17 08:59:00 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_read): Add debug statement. + (reader_process): Remove extraneous if-statement that had the + effect of not passing along any data in 3-pass mode. + +Wed Apr 16 09:16:01 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/preview.h: Add member CANCEL. + * frontend/preview.c (scan_start): Make p->cancel sensitive. + (scan_done): Make p->cancel insensitive. + (preview_new): Set p->cancel insensitive. + + * frontend/preferences.h (Preferences): Add member "filename". + * frontend/preferences.c: Initialize new member "filename". + Declare member "filename" as a string. + + * frontend/xscan.c (device_dialog): Rename "Files" to "File". + (quit_xscan): Call pref_xscan_save() before exiting. Replace + global variable filename by preferences.filename. + + * frontend/xcam.c (main): Ditto. + + * PROBLEMS: New file. + + * frontend/gtkglue.c (scale_new): Set the adjustment page size to + 0.0. Make horizontal scale 200 pixels wide. + + * frontend/xscan.c (device_dialog): Move gtk_widget_show + (ScanWin.shell) after pref_device_restore (0, 0). + (pref_device_restore): Make arg-less since callback arguments must + not be used. + (device_dialog): Remove dummy args from call to pref_device_restore(). + + * include/saneopts.h (SANE_TITLE_SCAN_TL_X, SANE_TITLE_SCAN_TL_Y, + SANE_TITLE_SCAN_BR_X, SANE_TITLE_SCAN_BR_Y): Shorten titles. + + * frontend/xcam.c (main): Move gtk_widget_show(win.shell) to end + of function. + + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_USE_EIGHTS for + MFS-12000CX. + (sane_get_parameters): Must not depend on s->mode in this routine, + since s->mode is valid only once scanning has begun. + +Tue Apr 15 23:06:17 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_start): Issue SCAN_AREA and BACKTRACK + commands even during second and third pass. + (sane_get_parameters): Be sure to properly update the + params.format member during second and third pass. + +Sat Apr 12 11:40:52 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/scan.c (STRIP_HEIGHT): New macro. + (scan_it): Fix typo: test parm.lines instead of image.height. + + * backend/pnm.c (hand_scanner): New variable. + (sane_control_option): Handle setting/reading of HAND_SCANNER + option. + (getparmfromfile): Set parms.lines to -1 when simulating + hand-scanner. + (sod): Add hand-scanner option descriptor. + + * frontend/gtkglue.c (panel_build): Move gtk_widget_show + (notebook) to the very of this function. This works around the + notebook redrawing problems. Define WORKING_NOTEBOOK. + + * frontend/xscan.c (interface): Call quit_xscan() if + device_dialog() did not end up with a non-NULL dialog. + (quit_xscan): Add missing exit() call. + + * backend/mustek.c (attach): Print more debug info on detected + scanner (1 vs 3-pass, ADF & TA support). + (start_scan): Fix typo in code selecting the three-pass color filter. + +Sun Apr 13 23:53:02 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * backend/pint.c, backend/pint.h, backend/pint.README: Added to + distribution. + +Fri Apr 11 22:04:17 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.53 released. + + * frontend/xscan.c: Default to "out.pnm" instead of "out.ppm". + + * backend/mustek.c (get_image_status): Add debug message. + (sane_start): Only divide pixels_per_line by three if we're doing + a one-pass color scan. + (do_eof): New function. + (sane_read): Call do_eof() when done with a frame. + (do_cancel): Call do_eof(). + + * frontend/scan.c (write_pnm_header): New function. + (advance): Ditto. + (scan_it): Modify to support three-pass scanning and scanning of + images whose height is not known a priori (hand-held scanners). + +Wed Apr 9 14:39:59 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (ok_choose_dialog_callback): Make + argument-free. + (select_device_callback): Declare event as second argument and + call ok_choose_dialog_callback() if the callback was invoked + through a double-click. + (choose_device): Register select_device_callback() as + "button_press_event" handler instead of as "clicked" so we can + catch double-clicks. + +Tue Apr 8 10:31:47 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (init): Enable gtk_rc_parse() code (GTK-0.99.7 + requires patch for gtkstyle.c). + + * backend/hp.c (attach): Fix parenthization to shut up gcc. + +Mon Apr 7 13:08:45 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (preview_options_dialog): Rename "changed_text" + to "changed" to reflect latest GTK version. + (device_dialog): Ditto. + * frontend/gtkglue.c (text_entry_new): Ditto. + + * Version 0.52 released. + + * AUTHORS: Various updates. + + * backend/mustek.README: Add Adaptec info. + + * backend/mustek.c (sane_start): Call wait_ready() before any + other scanner command. + (wait_ready): New function. + (attach): Call wait_ready() instead of open-coding it. + + * doc/sane.tex (subsection{\code{sane\_strstatus}}): Include + net.tex. + * doc/net.tex: New file. + +Thu Apr 3 08:51:13 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (update_param): Change type of SIZE to u_long + (from long) since under NetBSD there seem to be some odd sign + problems otherwise (compiler bug?). + +Wed Apr 2 07:15:41 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_read): Always deliver EOF after reading + 0 bytes. + + * backend/qcam.c (reader_process): Fine-tune pixel interpolation. + (despeckle32): Ignore last red pixel in every line (it's always + black). Switch red and blue pixel location (the Connectix docs + are wrong). + + * backend/mustek.c (start_scan): Fix typo that caused start[4] to + be set incorrectly. + + * frontend/preview.c: Include <sys/param.h> to get PATH_MAX. + +Tue Apr 1 18:45:14 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/qcam.c (despeckle): New function. + (despeckle32): Ditto. + (init_options): Initialize OPT_DESPECKLE. + (reader_process): Add despeckling support. + (sane_control_option): Ditto. + (sane_start): Initialize req.despeckle. + + * backend/qcam.h: New member DESPECKLE. + + * frontend/preview.c (restore_option): Fix typo: it should be + SANE_ACTION_SET_VALUE (not _get_). + + * backend/mustek.c (attach): Turn on MUSTEK_FLAG_USE_EIGHTS for + MFS-06000CX. + + * backend/hp.c (attach): Allow both TYPE_PROCESSOR (0x03) and + TYPE_SCANNER (0x06) as the first inquiry byte---some scanners use + the former, others the latter. + + * Version 0.51 released. + + * configure.in: Check for gtk_tooltips_new in libgtk. + +Mon Mar 31 14:42:56 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * frontend/scan.c (main): Added full_optstring, to allow getopt to + do full parsing of the option arguments. + + * backend/pnm.c (getparmfromfile): Need to round up the number of + bytes per line when scanning bitmaps. + +Mon Mar 31 07:48:50 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/qcam.c (attach): Send a dummy black-level command. The + first black-level command aftera camera reset doesn't appear to + "take." + + * lib/strndup.c: Correct typo: HAVE_STRDUP -> HAVE_STRNDUP. + + * frontend/xscan.c (pref_set_tooltips): New function. + (pref_build_menu): Build tooltip submenu. + + * frontend/preferences.h: New member TOOLTIPS_ENABLED. + * frontend/preferences.c: Add entry for TOOLTIPS_ENABLED. + + * frontend/gtkglue.h: Add members TOOLTIPS, TOOLTIPS_FG, and + TOOLTIPS_BG. + + * frontend/gtkglue.c (set_tooltip): New function. + (autobutton_new): Add argument TOOLTIPS and add button-description + via set_tooltip(). + (button_new): New args TOOLTIPS & DESC. Set DESC as tooltip help + string. + (scale_new): Ditto. + (option_menu_new): Ditto. + (text_entry_new): Ditto. + (panel_destroy): Destroy dialog tooltips as well. + (panel_build): Create tooltips and allocate colors for it; pass + new args to above functions. + (gsg_set_tooltips): New function. + + * Version 0.5 released. + + * backend/Makefile.in (install): Add missing double-quotes to + $(LIBS) and $(CONFIGS). Also create a symlink for libsane.a. + + * ltconfig: Revert back to version 0.9. + * ltmain.sh: Ditto. + + * frontend/scan.c (print_option): Substitute our own help string + for -x and -y options. + (main): Remove BROKEN_GETOPT code. + + * frontend/Makefile.in (CPPFLAGS): Undo yesterday's change. + * lib/getopt1.c: Ditto. + * lib/getopt.c: Ditto. + + * frontend/scan.c (main): Add some clever getopt () hackery to + work around multi-scan getopt () bug (patch by Gord Matzigkeit). + + * backend/qcam.README: Correct path of configuration file. + +Sun Mar 30 21:42:12 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/Makefile.in (CPPFLAGS): Add back -DBROKEN_GETOPT. + + * frontend/scan.c (main): Reinstantiate BROKEN_GETOPT code. + getopt_long() is _STILL_ broken. ;-( + + * lib/getopt.c: Use this code if __GNU_LIBRARY__ <= 6. Early + versions of glibc had a buggy getopt(). + * lib/getopt1.c: Ditto. + + * frontend/Makefile.in (xscan): Mention $(LIBSANEI). + + * frontend/xscan.c: Include <libgimp/gimp.h>, not <gimp.h>. + + * Makefile.in (distclean): Mention libtool. + * configure.in (AC_CHECK_FUNCS): Ditto. + + * include/config.h.in: Add undef of STRSEP. + + * sanei/sane_strstatus.c: Move to backend directory to minimize + chance of confusing this with a SANE-internal routine. + + * sanei/Makefile.in (LIBSANEI_OBJS): Remove sane_strstatus.o. + (LIBSANEI_LTOBJS): Remove sane_strstatus.lo. + + * backend/Makefile.in (libsane-%.la): Mention sane_strstatus.lo + explicitly (every SANE backend library MUST define this function + so we can switch backends at will). + + * frontend/Makefile.in (SCAN_OBJS): Remove getopt.o, getopt1.o. + + * Makefile.in (SUBDIRS): Mention lib as first directory. + + * configure.in (AC_OUTPUT): Mention lib/Makefile. + + * lib/strsep.c: New file. + * lib/strndup.c: Ditto. + * lib/Makefile.in: Ditto. + + * sanei/test_wire.c (main): Initialize codecs through + sanei_w_init(). + + * sanei/sanei_codec_bin.c (sanei_codec_bin_init): Ditto. + + * sanei/sanei_codec_ascii.c (sanei_codec_ascii_init): Remove + w->buffer initalization---this function should be called through + sanei_w_init () only. + + * sanei/sanei_scsi.c: Rename _sanei_scsi_max_request_size to + sanei_scsi_max_request_size. + + * backend/mustek.c (reader_process): Rename macro + SANEI_SCSI_MAX_REQUEST_SIZE to variable + sanei_scsi_max_request_size. + + * include/sanei_scsi.h: Rename _sanei_scsi_max_request_size to + sanei_scsi_max_request_size (names with a leading underscore are + reserved for libc/system). + (SANEI_SCSI_MAX_REQUEST_SIZE): Remove macro. + + * frontend/scan.c (main): Add a brief description of the program. + + * frontend/getopt.c: Move to lib. + * frontend/getopt1.c: Ditto. + + * backend/pnm.c (enum ppm_type): Remove non-ANSI trailing comma. + Correct struct indentation. + + * include/lalloca.h: Isolate alloca cruft in this file. + * frontend/gtkglue.c: Include lalloca.h in place of alloca hack. + * frontend/dll.c: Ditto. + * frontend/scan.c: Ditto. + * sanei/sanei_load_values.c: Ditto. + * sanei/sanei_scsi.c: Ditto. + +Sat Mar 29 00:14:37 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * backend/pnm.c (sane_read): Slurp in RGB files all at once, + rather than limping along three bytes at a time. + + * frontend/xscan.c (advance): Only define if HAVE_LIBGIMP. + + * backend/pnm.c (sane_read, sane_start, getparmfromfile): Handle + grayscale and monochrome bitmapped PNM files. + + * frontend/scan.c (main): Remove BROKEN_GETOPT workaround---the + new getopt() works properly when making multiple passes over the + argument list. + +Fri Mar 28 21:33:36 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * configure.in: Make the QuickCam device conditional on whether or + not the ioperm function exists. + + * sanei/sanei_scsi.c: created a stubbed version of sanei_scsi_cmd. + + * frontend/scan.c (main): Only print error messages to stderr. + Use fputs or fputc when it is possible to avoid printf. + + * sanei/sanei_wire.c (sanei_w_array, sanei_w_ptr, sanei_w_init), + sanei/sanei_save_values.c (sanei_save_values), + sanei/sanei_codec_ascii.c (ascii_w_string): Return an error if + malloc fails. + + * sanei/test_wire.c (main): Added --readonly flag to help test + wire robustness. + + * backend/Makefile.in (LIBSANEI): Deleted the `EXTRA' variable, + and used the convenience library, ../sanei/libsanei.a. + +Sat Mar 29 10:19:58 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex: Change version from 0.42 to 0.5. + + * README: Add pointer to frontend & backend specific README files. + + * backend/net.c (connect_dev): Ensure dev->ctl gets closed and + reset to -1 in case of failure. + + * configure.in: Look for gtk_preview_new() in libgtk so we can + ignore old GTK versions against which we can't build. + + * (config.sub): Replace with version that comes with + autoconf-2.12. The version that came with libtool-0.9 + doesn't like i686-unknown-linux. + +Fri Mar 28 13:12:17 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (subsection{sane_get_select_fd}): Remove extraneous + backslash. + + * backend/stubs.c (sane_cancel): Don't return anything. + + * include/sane.h: Remove trailing comma (for -pedantic). + + * frontend/xscan.c (interface): Complain when trying to call + a device that's unavailable. + (select_device_callback): Correct prototype. + + * frontend/xcam.c (main): Remove unused variable `label.' + + * backend/net.c (sane_cancel): Call SANE_NET_CANCEL. + (sane_start): Handle failure of SANE_NET_START. + + * frontend/saned.c (process_request): Implement SANE_NET_CANCEL. + + * frontend/gtkglue.h (GSGDialogElement): Remove member "label". + * frontend/gtkglue.c: Update accordingly. + (button_new): Use gtk_check_button_new_with_label () to simplify + this function. + + * frontend/gtkglue.c (unit_string): New function. + (panel_build): Append unit_string () to option's title if + the unit is not SANE_UNIT_NONE. Use "title" instead of opt->title + when creating widgets. + + * frontend/preview.c (preview_update): Compute width/height as + (max - min + eps) where eps is 1 for integer coordinates and + SANE_UNFIX(1) for fixed-point coordinates. + (display_partial_image): Support different scaling in x/y + direction. In the case where surface_unit == SANE_UNIT_PIXEL, + compute xscale/yscale based on the ratio between the _expected_ + width/height and the actual width/height. If they're not equal, + the backend must be doing some scaling (e.g., transfer-scale in + the qcam backend). + + * frontend/xscan.c (init): Disable gtk_rc_parse () calls for now + since gtk styles seem to be a bit buggy right now. + (scan_done): Remove input_tag if it is >= 0. + + * frontend/gtkglue.c: Include <preferences.h>. + (panel_build): For fixed-point range-constraints scale min/max/quant + based on the preferred metric. + (scale_update): Ditto. + (gsg_update_scan_window): Ditto. + + * backend/mustek.c (sane_control_option): For OPT_GAMMA_VECTOR_* + options, fail with SANE_STATUS_INVAL if the vector has zero length + (i.e., hasn't been set yet). + + * frontend/progress.c (progress_new): Don't make Cancel the + default-button---it's too easy to cancel by mistake otherwise. + + * frontend/sane-style.rc: New file. + + * frontend/xscan.c (init): New function. Parse gtk_rc_parse () + on /usr/local/share/sane-style.rc and ~/.sane/sane-style.rc if + those files exist. + + * configure.in (CPPFLAGS): Add PATH_SANE_DATA_DIR. + + * frontend/gtkglue.c (gsg_warning): New function. + (gsg_message): New function. + (gsg_error): Implement in terms of gsg_message (). + +Thu Mar 27 16:52:27 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/gtkglue.c (gsg_make_path): Terminate buffer with '\0' + before attempting mkdir(). + + * frontend/xcam.c (main): Use gtk_menu_item_new_label () instead + of gtk_label_new ()/gtk_menu_item_new (). + + * frontend/preview.c (establish_selection): Invoke + param_change_callback only if non-NULL. + (preview_update): Convert scale range to inches if that's user's + preference. + + * frontend/xcam.c (delayed_switch): New function. + (device_activate_callback): Call delayed_switch() rather than + executing that code directly. Pete tells me GTK is not designed + to have a widget rebuilt while a submenu is active. + + * frontend/gtkglue.c (panel_build): Avoid using notebook widget + until GTK+ has been fixed. + (idle_handler): New function: rebuild dialog if dialog->rebuild is + set. + (set_option): Set dialog->rebuild to TRUE and schedule + idle_handler() rather than directly calling panel_rebuild(). Pete + tells me GTK is not designed to have a widget rebuilt while a + submenu is active. + (gsg_refresh_dialog): Ditto. + +Thu Mar 27 14:54:23 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu> + + * backend/Makefile.in: Converted all for statements that might be + empty to use a temporary list variable. + + * frontend/Makefile.in (scan): Added getopt.o, getopt1.o to scan + dependencies. + + * frontend/getopt.c, frontend/getopt1.c, include/getopt.h: Added + to the distribution. + + * backend/net.c (connect_dev), frontend/saned.c (main): Don't use + TCP_NODELAY if it has not been defined. Look up tcp protocol + number if SOL_TCP is not defined. + + * sanei/test_wire.c (main): lseek after changing direction, or the + direction change ends up at the end of the output file. + Added option parsing, a usage message, and other cleanups. + + * sanei/sanei_codec_ascii.c (sanei_codec_ascii_init), + sanei/sanei_codec_bin.c (sanei_codec_bin_init): Initialize the + wire if it has a 0-length buffer. + + * sanei/sanei_wire.c (sanei_w_init): Only call the codec_init_func + if it is not NULL. + + * sanei/sanei_scsi.c: Parameterize inclusion of generic SCSI + headers based on HAVE_SCSI_SG_H, HAVE_SYS_SCSI_H, or + HAVE_SYS_SCSIIO_H. + + * configure.in (AC_CHECK_HEADERS): Check for scsi/sg.h, + sys/scsi.h, and sys/scsiio.h. + + * sanei/sanei_load_values.c, sanei/sanei_scsi.c, backend/dll.c: + Replaced unconditional alloca.h include with the cruft suggested + by the Autoconf manual. + + * sanei/alloca.c: Add to distribution. + + * sanei/Makefile.in: Eliminate GNU make dependencies, and use + @ALLOCA@ and @LTALLOCA@ as appropriate. + + * configure.in (AM_FUNC_ALLOCA): Use it. + + * aclocal.m4 (AM_FUNC_ALLOCA): Define it. + +Wed Mar 26 17:25:49 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_wire.c (sanei_w_status): Update *v only when decoding. + (sanei_w_bool): Ditto. + (sanei_w_constraint_type): Ditto. + (sanei_w_value_type): Ditto. + (sanei_w_unit): Ditto. + (sanei_w_action): Ditto. + (sanei_w_frame): Ditto. + + * frontend/xscan.c (quit_xscan): Always invoke gtk_main_quit() + (not just in standalone mode). + (quit_callback): Correct prototype. + + * backend/pnm.c (sod): Fix doc-string for option "three-pass". + + * frontend/xscan.c (advance): New function. + (input_available): Support 1 bpp frames. Call advance() instead + of open-coding it. Add RED/GREEN/BLUE frame support in GIMP mode. + Complain when encountering unknown depth. + (ScanWin): add member first_frame. + (scan_start): Initialize first_frame and frame_offset in + GIMP mode. + + * Integrate force unidirectional mode patch by Guido Muesch + <odiug@faho.rwth-aachen.de>: + * backend/qcam.c (attach): Force uni-directional mode if port + address starts with `u'. + (attach): Add debug statement to print QCam version. + + * Integrate 3-pass patches by Heiko + <Heiko.Schroeder@Post.RWTH-Aachen.de>: + * backend/mustek.cb + (scan_area_and_windows): Use 1/8" mode when MUSTEK_FLAG_USE_EIGHTS + is on (instead of pixel unit). + (mode_select): Set bit 3 in mode byte only if + MUSTEK_FLAG_USE_EIGHTS is off. + (encode_resolution): Don't do funky encoding for 3-pass scanners + in 10% resolution mode. It seems the docs are wrong and the + actual scanners require a much simpler setup. + + * frontend/preview.h: Add include of <sys/types.h>. + +Sat Mar 22 16:37:34 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (input_available): Reset ScanWin.x to zero at + the end of each line. + (input_available): Reset tile_offset to zero after updating a + tile. + (scan_done): Call gimp_display_new() to display the newly acquired + image. Draw final few lines of image if image height is not a multiple + of the tile-height. + + * frontend/saned.c (process_request): quit when receiving + unexpected procedure number---ignoring is dangerous. + + * backend/dll.c (load): Fix off-by-one bug in allocation of + libname. + + * frontend/xcam.c (prompt_for_device_name): Move grab-default + call behind signal_connect since otherwise the default action + won't work. + + * frontend/xscan.c (choose_device): Let "Ok" button be the one + that gets activated by default (by hitting the Return key). + + * frontend/preview.c (preview_destroy): Rename save_preview_image + to preserve_preview_image. + * frontend/preview.h: Ditto. + + * frontend/preview.c (restore_preview_image): New function. + (preview_destroy): Save preview image if it exists. + (preview_scan): New parameter SELECTION_ONLY. If true, + preview-scanning is limited to the selected area. + + * frontend/xscan.c (scan_done): Call quit_xscan() to exit. + (quit_xscan): Destroy preview if ScanWin.preview is non-NULL. + + * frontend/preview.c (draw_selection): Don't draw if p->gc is + NULL (i.e., if windows aren't mapped yet). + + * frontend/xscan.c: Move HAVE_LIBGIMP-specific code further + down (past the type & global variable decls). + + * configure.in (CPPFLAGS): Make --disable-shared impy + --enable-preload. + + * include/config.h.in: Add HAVE_STRNDUP. + +Fri Mar 21 00:01:00 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Implemented FreeBSD + version (untested). + + * sanei/sanei_load_values.c: Include <alloca.h> + + * frontend/preview.c (update_selection): New function to set + selection based on current scan-area option values. + (preview_update): Call update_selection (). + + * sanei/sanei_save_values.c: Add copyright notice. + * sanei/sanei_load_values.c: Add copyright notice and explanation + of algorithm. + (BITS_PER_LONG): New macro. + (SET): Ditto. + (IS_SET): Ditto. + (sanei_load_values): Add variables caused_reload and keep_going to + keep track of what options caused a reload_option and whether + the whole option-value setting process should be repeated. + + * include/config.h.in: Add #undef HAVE_LIBGIMP. + * frontend/xscan.c: Put all GIMP-dependencies inside + #ifdef HAVE_LIBGIMP. + Include <config.h>. + + * sanei/sanei_wire.c (sanei_w_init): Initialize status to 0. + (sanei_w_free): Preserve existing direction and do not flush i/o. + (sanei_w_space): Return EINVAL if reading 0 bytes. + +Thu Mar 20 09:11:21 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/gtkglue.h (dev_name): New member. + * frontend/gtkglue.c (gsg_destroy_dialog): free dialog->dev_name. + (gsg_create_dialog): Keep copy of device name in dev_name member. + + * include/sanei_backend.h: Move stubs into backend/stubs.c and + define redirection macros only if STUBS is not defined. + * backend/stubs.c: New file. + + * configure.in (AC_PROG_RANLIB): Removed. No longer needed with + libtool. + * (frontend/Makefile.in): Adapt to libtool. + * (backend/Makefile.in): Ditto. + * (sanei/Makefile.in): Ditto. + + * backend/mustek.c (attach): Check result[0] == 0x06 to find out + whether we're dealing with a scanner (rather than attemting to + find the string "SCANNER" ). + + * backend/hp.c (sane_read): Initialize nread with max_len, not + *len. + (sane_get_parameters): Add missing `== 0' comparison for strcmp() + calls. + (inquire): Generalize so we can inquire any quantity and improve + parsing. + (attach): Use reasonable default value if inquiry of a quantity + fails. + (sane_start): Report error if inquiry of a scan parameter fails. + +Wed Mar 19 18:03:38 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xcam.c (prompt_for_device_name): grab default for OK + button (doesn't seem to work, though). + + * frontend/progress.c (progress_new): Connect progress_cancel() + via signal_connect(), not signal_connect_object() and pass P, not + P->SHELL. + (progress_cancel): Don't free progress structure (must be done by + app). + + * frontend/xscan.c (input_available): New function. + (scan_done): Ditto. + (scan_start): Ditto. + (progress_cancel): Simply call sane_cancel(). + (scan_dialog): Moved most of the code to above functions. + + * frontend/gtkglue.c (get_filename_button_clicked): New function. + (gsg_get_filename): Ditto. + + * frontend/xscan.c (scan_dialog): Do not quit xscan when in + standalone mode. + (scan_dialog): Prompt for output filename in standalone mode. + (filename): New variable. + + * backend/pnm.c (sane_control_option): Remove "pnm." prefix + in debug messages. + + * backend/qcam.c (sane_cancel): Remove "qcam." prefix in debug + messages. + + * backend/mustek.c: Remove "mustek." prefix in debug messages. + +Tue Mar 18 17:30:29 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_close): Remove superfluous "[mustek]" in + debug string. + + * sanei/sanei_scsi.c (sanei_scsi_cmd): Implement HP-UX version + of this function (untested). + + * backend/qcam.c (reader_process): Enable code to handle 4 bpp + and 6 bpp cases. + +Thu Mar 13 13:15:21 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (subsection{Scan Area Options}): Attempt to + clarify the meaning of "top-left" corner. + +Tue Mar 11 07:12:53 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/gtkglue.c (panel_build): Fix typo in matching of + "resolution" option (missing == 0). + +Mon Mar 10 20:19:06 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * Announced pre0.5 snapshot. + + * backend/qcam.h: Make transfer-scale part of the "mode" group. + + * backend/qcam.c (sane_read): Moved return of SANE_STATUS_EOF + behind test for delivering EOF. + + * frontend/xscan.c (device_dialog): Relabel "Cancel" button to + "Quit". + + * backend/qcam.c (init_options): Set SANE_CAP_ADVANCED for geometry + group. + * backend/mustek.c (init_options): Ditto. + + * backend/pnm.c (pass, three_pass): New variables. + (sod): Add option "three-pass" to simulate a three-pass scanner. + (sane_control_option): Add support for three_pass option. + (getparmfromfile): In three-pass mode, set format and last_frame + based on `pass'. + (sane_start): If input file is open already, fail unless we're + scanning the next frame of a three-pass image. + (sane_read): Handle three-pass case. + +Sun Mar 9 13:20:19 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/gtkglue.c (text_entry_callback): Only call + gtk_entry_set_text() if the backend modified the string. Otherwise, + infinite recursion occurs on any change (since the change results + in a change...). + + * frontend/xcam.c (next_frame): Reset win.remaining to zero. + + * backend/qcam.c (init_options): Set size of "resolution" option + to sizeof("High"). + + * doc/sane.tex (subsection{Scan Area Options}): Allow word-list + as a constraint. + + * configure.in (CFLAGS): Add -D_GNU_SOURCE to CFLAGS since we + now depend on snprintf (). + + * frontend/xscan.c (device_dialog): Fix typo: PixelHeight should + be > 0, not == 0 in order for us to create the preview window. + (device_dialog): Ditto. + (device_dialog): Add ScanWin.preview to frame container. + +Sat Mar 8 10:19:41 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (subsection{sane_get_select_fd}): Clarify what + must happen when the end of a frame has been reached. + + * frontend/xcam.c (input_available): Stop when sane_read() returns + 0 bytes. Fix typo: win.data needs to be set to dst, not src, on + exit. + + * backend/qcam.h (read_fd): New member. + * backend/qcam.c (sane_get_select_fd): Return read_fd instead of + from_child. + (sane_open): Initialize s->read_fd to -1. + (sane_close): Close s->select_fd if >= 0. + (sane_start): Make read_fd dup() of s->from_child. + (sane_cancel): Close s->read_fd if >= 0. + (sane_set_io_mode): Modify s->read_fd instead of s->from_child. + + * frontend/scan.c: Include <sanei.h> for NELEMS macro. + * frontend/xcam.c: Ditto. + + * configure.in (CPPFLAGS): Add defines for V_MAJOR and V_MINOR. + (V_MAJOR, V_MINOR): New variables. + + * sanei/Makefile.in (SANEI_OBJS): Mention sanei_net.o. + + * include/sanei_net.h: New file (split from sanei_wire.h). + * sanei/sanei_net.c: New file (split from sanei_wire.c). + + * configure.in: Add -Wall to CFLAGS when using gcc. + + * frontend/Makefile.in (saned): List -lsanei before -lsane + so saned never depends on sanei_*-routines that may be present + in -lsane (the only dependencies for that library must be + on sane_* names). + + * backend/Makefile.in (LIBS): Remove -ldl (configure will add + it if available). + (SHLDFLAGS): Use -usanei_init instead of --whole-archive option. + (SHLDPOSTFLAGS): Remove --no-whole-archive. + + * backend/dll.c: Add include of <config.h>. + (DYNAMIC): New macro. Defined it dynamic loading support is + available and enabled. + Include <dlfcn.h> only when DYNAMIC is defined. + (load): Make no-op when DYNAMIC is not defined. + (sane_exit): Never call dlclose() if DYNAMIC is not defined. + + * include/sanei_scsi.h: Rename from genscsi.h and rename prefix + from `genscsi_' to `sanei_scsi_'. + * sanei/sanei_scsi.c: Ditto. + * backend/mustek.c: Rename `genscsi_' to `sanei_scsi_'. + + * configure.in: Check for availability of -ldl and <dlfcn.h>. + +Fri Mar 7 15:21:38 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * sanei/sanei_wire.c: New file. + * sanei/sanei_codec_bin.c: Ditto. + * sanei/sanei_codec_ascii.c: Ditto. + + * backend/dll.c (sane_exit): Call dlclose() only if handle is + non-NULL. + (sane_init): Chain together preloaded backends. + + * backend/qcam.c (attach): Make static. + (sighandler): Ditto. + (qc_getstatus): Ditto. + * backend/mustek.c (attach): Ditto. + + * backend/dll.c (op_name): Remove `sane_' prefix. + + * sanei/sanei_init_debug.c (sanei_init_debug): Upcase backend + name when building environment variable name. + + * backend/genscsi.c: Make use of sanei_debug.h. + + * backend/mustek.c: Adapt to use sanei_backend.h. + * backend/net.c: Ditto. + * backend/pnm.c: Ditto. + * backend/qcam.c: Ditto. + + * backend/dll.c (sane_exit): Fix typo that resulted in the + last backend not being exited. + +Thu Mar 6 21:25:27 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (subsection{\code{sane\_init}}): Allow + authorization callbacks during sane_start() but not during + sane_read(). + +Tue Mar 4 21:04:16 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_close): Print debug message when trying + to close an unknown handle. + +Thu Feb 27 18:10:20 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (chapter{Contact Information}\label{chap:contact}): + Add `listserv.' to mailing list address---seems to be needed for + subscriptions etc. + +Sun Feb 9 12:54:20 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.README: Add pointer to Ingmar's 53c400 patch. + +Sat Feb 8 11:49:24 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (line_distance): Add more debug output. + +Fri Feb 7 19:21:36 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (line_distance): Remove erroneous #ifdef + around FACTOR and COLOR. + + * doc/sane.tex (subsection{sane_init}): Make username/password + fixed length arrays so no malloc/free magic is needed. + (subsection{Preview Mode Option}): New section. + + * include/sane.h: Ditto. + + * include/sane.h (SANE_Char): New type. + +Tue Feb 4 18:47:52 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_get_parameters): Correct typo: replace + s->pass with s->params.format. + +Fri Jan 31 16:16:26 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (attach): Print debug message when using + special line-distance algorithm. + Enable special line-distance algorithm only for firmware + revisions < 1.02. + Determine fw revision based on INQUIRY result. + +Thu Jan 30 21:22:38 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (section{Attaching to a SANE backend}): Rename + metanet -> net, netproxy -> saned, metadl -> dll and update + hierarchy figure as well. Added autolum meta backend as a + filter example. + + * TODO: Rename metanet -> net, metadl -> dll. + + * AUTHORS (Frontends): Rename metanet -> net, metadl -> dll, + mention saned and xcam and sort entries alphabetically. + + * backend/net.c (sane_control_option): Replace all occurances of + metanet with net. + * backend/net.README: Ditto. + Rename env var METANETHOST to SANE_NET_HOST. + + * backend/dll.README: Replace all occurances of metadl with dll. + * backend/dll.c: Ditto. + + * backend/dll.conf: Comment out metanet since it's a bit of a + security risk (no authentication just yet). + + * backend/Makefile.in (CONFIGS): New macro (list of config files) + (install): Change install rule so existing configuration files + are not overwritten. + Replace all occurances of metanet with net. + + (V_MINOR): Bump up to 43. + +Tue Jan 28 08:17:18 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/Makefile (saned): Mention -lsanei before -lsane so + saned does not incorrectly depend on sanei_printf/sanei_scanf in + -lsane (if it happens to define those symbols). + + * backend/metanet.c (sane_init): Rename SANE_Authorization_Callback + to SANE_Auth_Callback. + * backend/mustek.c (sane_init): Ditto. + * backend/pnm.c (sane_init): Ditto. + * backend/metadl.c (sane_init): Ditto. + + * frontend/saned.c (main): Put output socket in TCP_NODELAY mode. + Include of <sys/socket.h> + + * backend/metanet.c (openit): Ditto. + +Mon Jan 27 19:32:29 1997 David Mosberger-Tang <davidm@azstarnet.com> + + + * doc/sane.tex (subsection{Device Descriptor Type}): Change vendor + name "None" to "Noname". + * backend/pnm.c (dev): Change vendor name from "noname" to "Noname". + + * include/sane.h (SANE_STATUS_ACCESS_DENIED): New status value. + * sanei/sane_strstatus.c (sane_strstatus): Return appropriate + status string. + + * frontend/xscan.c (scan_dialog): Don't depend on first_frame + when creating image---the old code didn't work for R/G/B-only + frames anyhow, so there is no point pretending. + + * include/sane.h (SANE_Parameters): Rename first_frame to + last_frame. + * backend/metanet.c (sane_get_parameters): Update accordingly. + * backend/qcam.c (sane_get_parameters): Ditto. + * frontend/saned.c (readcmd): Ditto. + * frontend/test.c (testsane): Ditto. + * backend/mustek.c (sane_get_parameters): Set last_frame unless + the current pass is acquiring a red- or green-only frame. + + * doc/sane.tex (subsection{sane_get_parameters)): Change + FIRST_FRAME into LAST_FRAME. + + * backend/metanet.c: Initialize PEER with -1. + (sane_get_select_fd): Return PEER and succeed if not negative. + + * include/netsane.h (ns_printf, ns_scanf, netfd_wr, netfd_rd): + Remove (obsolete). + + * frontend/saned.c: Increase STRBUF size to 32KB to get better + scan_read() throughput. + + * include/sane.h (SANE_Athorization_Callback): Return void + (instead of int) and make USERNAME and PASSWORD (pointers to) + return values. + + * frontend/saned.c (netsane_auth_callback): Update prototype. + + * backend/metanet.c (sane_init): Move assignments out of + if-conditional for clarity (and to avoid gcc warning). + + * sanei/sanei_printf.c: Include <memory.h>, <string.h>. + + * backend/Makefile.in (libsane-mustek.a): Replace + ../sanei/sane_strstatus.o with appropriately defined EXTRA + macro. + + * backend/mustek.c (attach): Initialize ld.mode to MLD_NORMAL for + all scanners but MFS-12000SP. + (line_distance): In MD_MFS correction mode, do not issue LD + command. + (sane_close): Free s->ld.red_buf if non-NULL. + (fix_line_distance_mfs): New function. + (fix_line_distance_normal): Rename from fix_line_distance(). + (reader_process): In MLD_MFS line-distance mode, call the + mfs-specific routine, not the normal one. + + * backend/mustek.h (Mustek_Scanner): New members ld.red_buf, + ld.green_buf. + (MUSTEK_FLAG_LD_MFS): New flag to indicate when MFS-specific + line-distance correction is needed. + + * backend/metanet.c: Fix up some minor formatting problems due + to indent. + + * Merge in Andy's netsane diffs. + +Sun Jan 26 00:04:22 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (zoom_in_preview): Ignore selections of zero + or negative width/height. + (set_max_selection): Use SANE_UNFIX() instead of open coding. + Adapted to use gtkglue. + + * backend/metadl.c (sane_init): Grab authorization callback. + (authorization_callback): New variable. + (load): Pass authorization callback to init function. + + * frontend/gtkglue.h (gsg_destroy_dialog): Add param_callback. + +Sat Jan 25 17:35:52 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/Makefile.in (distclean): Mention $(TESTPROGRAMS). + + * backend/metanet.c (copy_opt): Fix constraint-length computation. + + * backend/metadl.c (sane_get_devices): Pass along LOCA_ONLY arg + to backend. + + * frontend/xcam.c (main): Remove extraneous calls to gtk_exit() + and sane_exit(). + + * frontend/scan.c (main): Install sane_exit() as atexit handler. + + * backend/metadl.c (sane_get_devices): Ignore NULL BE_LIST. + + * frontend/saned.c (quit): New function. + (main): catch SIGALRM, and SIGPIPE. + + * backend/metanet.c (sane_get_devices): Return empty list of + LOCAL_ONLY is TRUE. + + * frontend/saned.c (readcmd): Don't take LOCAL arg from + request---always pass SANE_TRUE! + + * doc/netprotocol.doc (sane_get_devices): Don't need LOCAL arg. + + * include/sanei.h: Include <sane.h>. + + * frontend/test.c (testsane): Print status message instead of + status code and make robust against failed calls. Use fprintf(stderr + instead of printf. + + * backend/qcam.c (reader_process): Remove extraneous arg. + (reader_process): Declare `static' to make setjmp() safe. + + * frontend/saned.c (readcmd): Delete unused variable schr_hlp. + (peerfp): New variable. + Rename ns_printf() to sanei_printf() and pass peerfp arg. + Rename ns_scanf() to sanei_scanf() and pass peerfp arg. + (say_helo): Make peerfp refer to fd 0. + + * backend/metanet.c (openit): Return FILE*, not socket. + (openit): Return 0, not -1 in case of failure. + (peerfp): New variable. + Rename ns_printf() to sanei_printf() and pass peerfp arg. + Rename ns_scanf() to sanei_scanf() and pass peerfp arg. + + * sanei/sane_strstatus.c: New file (in lieu of backend/sane.c) + * sanei/sanei_constrain_value.c: Ditto. + * sanei/sanei_init_debug.c: Ditto. + + * sanei/sanei_scanf.c (ns_scanf): New file (based on Andy's + ns_scanf). + Use int8_t for 'c', int32_t for 'd'. + Include <sys/types.h>. + + * sanei/sanei_printf.c (sanei_printf): New file (based on Andy's + ns_printf). + Use int8_t for 'c', int32_t for 'd'. + Include <sys/types.h>. + + * include/netsane.h (CMD_SANE_STRS): Remove. + + * backend/metanet.c: Include <errno.h> + (sane_strstatus): Remove. + + * backend/Makefile.in (BACKENDS): Mention libsane-metanet. + + * backend/metanet.c (openit): Use memcpy instead of bcopy. Use + inet_aton() instead of inet_addr(), don't prototype. + (sane_get_devices): Use strdup() instead of opencoding it. + (sane_get_devices): Don't append " (NS)" to modelname! Metanet + already prefixes the devicename with netsane, which is good + enough. + + * backend/sanei.h (IF_DBG): New macro. + + * PROJECTS (Backend): Mention saned, metanet, and autoadj. + (Frontend): New info. + + * AUTHORS: Update to reflect sanescan -> xscan namechange. + Credit Andy for netsane. + +Fri Jan 24 00:01:45 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * doc/sane.tex (subsection{\code{sane\_get\_option\_descriptor}}): + Define how long the returned option descriptor must remain valid. + + * frontend/gtkglue.c (autobutton_update): Check for + SANE_INFO_RELOAD_OPTIONS. + (button_update): Ditto. + + * frontend/xcam.c (main): Add device info label. + + * backend/mustek.c (init_options): Make OPT_BRIGHTNESS and + OPT_CONTRAST inactive by default. + + * frontend/xcam.c (exit_callback): Only call gsg_destroy_dialog() + if dialog is non-null. + +Thu Jan 23 00:17:46 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (sane_control_option): Return + SANE_STATUS_DEVICE_BUSY when attempting to set option during + scanning. + (sane_close): Call do_cancel(), not sane_cancel(). + (sane_start): Ditto. + + * backend/pnm.c (sod): Rename "File" group to "Source Selection". + + * frontend/xcam.c (device_name_dialog_cancel): New function. + (device_name_dialog_ok): Ditto. + (prompt_for_device_name): Ditto. + (build_device_menu): Move "Rescan devices..." from build_files_menu() + to here. Add "Specify device name..." entry that invokes + prompt_for_device_name. + (play_stop_button): Ignore call if there is no device_dialog yet. + (main): Don't attempt to set preview size if there is no device + dialog yet. + + * frontend/gtkglue.c (text_entry_callback): Don't ignore tab + key---it's used to switch focus! + + * backend/qcam.c (qc_wait): Return read value so optimizer won't + be able to get rid of it easily. + (qc_lock_wait): Use same lockname as qcam-0.7d for + interoperability. + (reader_process): Explicitly do an enable_ports() in the reader + process. Linux/x86 doesn't inherit i/o port access rights. + + * frontend/xcam.c (stop_camera): New function. + (input_available): Use stop_camera(). + (next_frame): Ditto. + + * backend/genscsi.c (genscsi_open): Add missing DBG_INIT(GENSCSI). + (genscsi_cmd): Return SANE_STATUS_DEVICE_BUSY if EBUSY is + returned. + + * frontend/xcam.c (input_available): Fix line wrap for + SANE_FRAME_GRAY. + + * include/sane.h: Remove old SANE_STATUS_AGAIN. + * backend/sane.c (sane_strstatus): Ditto. + * backend/mustek.c (sane_read): Return SANE_STATUS_GOOD, not AGAIN + when no data available. + (sane_start): Add debug printing. + (sane_set_io_mode): Fix typo: return SANE_STATUS_GOOD on success. + + * backend/mustek.c (sane_control_option): Add support for + OPT_BACKTRACK. + (attach): Add lots of debug printing. + + * backend/qcam.README: New file. + + * backend/qcam.c (sane_control_option): Allow changing resolution + while scan is in progress, but set RELOAD_OPTIONS only if not + scanning already. + + * frontend/xcam.c (canvas_events): Get rid of old debug messages. + + * backend/qcam.c (sane_get_parameters): Update parameters only if + not scanning. This makes it possible to change certain options + (such as width/height while a scan is in progress). + (sane_control_option): Allow changing of image corners, + transfer-scale, and depth while scan is in progress. Set + RELOAD_PARAMS only if scan is not in progress. + (sane_start): Return DEVICE_BUSY if scan is in progress. + + * configure.in (PACKAGE_VERSION): Version 0.41 released. + + * backend/qcam.c (brightness_range): New variable. + (init_options): Use brightness_range instead of u8_range to + avoid going into bulb-mode accidentally. + +Wed Jan 22 09:16:21 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/qcam.c (reader_process): Correct typo: it's buf, not + buffer that we want to write out in high-res mode. + (qc_reset): New function. + (reader_process): Send at least one byte of data after receiving a + signal. + (sighandler): New function. + (sane_cancel): If a read request is outstanding, cancel request by + (a) sending SIGINT to reader process, (b) reading one byte of data + in blocking mode, and then (c) reading whatever is left in the + pipe in non-blocking mode. + (sane_read): Return SANE_STATUS_CANCELLED if SCANNING is not set. + + * backend/qcam.h (QC_Scanner): Remove unused x/y fields. + + * backend/qcam.c (sane_close): Call disable_ports(). + (sane_init): Replace isblank() with isspace() (former is a GNU + extension). + (sane_control_option): Scale corner coordinates when switching + resolution and ensure they're always legal values. + (sane_close): Check for reader_pid >= 0 not != 0! + (sane_exit): Move disable_ports () from sane_close to here. + (sane_start): Keep track of when we're holding lock. + (sane_read): Release lock if s->holding_lock is TRUE and we + read a few bytes. + (sane_cancel): Release lock if it's being held. + + * backend/qcam.c: Clean up unused variables. + +Tue Jan 21 13:49:00 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/qcam.c (sane_control_option): Keep track of changes to + option values. + (sane_get_select_fd): Implemented. + (sane_set_io_mode): Ditto. + (reader_process): New function. + (sane_start): Modify to use reader_process(). + + * backend/qcam.h: (struct QC_Scanner): New field value_changed. + +Mon Jan 20 22:11:11 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/metadl.c (sane_open): Correctly handle case where + backend name is empty. + +Sun Jan 19 10:29:43 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/qcam.c (attach): Add qc_wait() calls after each + write_lpcontrol() call to ensure reliable communication. + (attach): Add debug output in case of failure. + + * Version 0.4 released. + +Sat Jan 18 10:12:40 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/xscan.c (get_scan_size): Handle case where scan + width/height is of type SANE_TYPE_INT. + (get_scan_size): If width/height unit is pixels and the height is + less than 500 pixels, use a ratio of 1. + (device_dialog): Call update_complete_dialog() to ensure inactive + options do not show (there probably is a better solution to this). + + * frontend/scan.c (main): Compute bottom-right position as + top-left + width/height - 1 (the - 1 is new and necessary and + works both for fixed and integer values). + (print_option): Insert line-break when column >= 79 (not 80) to + leave last column blank (better when running inside Emacs, for + example). + (main): Fix typos: case 't': window[2] -> window[3], switch short + option names for top/left. + (print_option): Print current option values (except for vectors). + (fetch_options): Another off by one bug: width is br_x|y-tl_x|y+1. + +Thu Jan 16 20:26:29 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/sane.c (sanei_constrain_value): Fix so it properly + handles strings that are longer than any of the strings in a + string list. + + * frontend/scan.c (main): Subtract value of top-left-x/top-left-y + from width/height, respectively after all options have been + read in. + (main): Print help message _after_ options have been processed. + (fetch_options): New function. + (set_option): Call fetch_options() if SANE_INFO_RELOAD_OPTIONS is + set. + (main): Call fetch_options() instead of open-coding same. + + * doc/sane.tex (subsection{Device Descriptor Type}): Add index + entry for device-name. + +Wed Jan 15 19:55:03 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/metadl.c (sane_init): Call DBG_INIT() and declare + debug level variable with DBG_DECL. Added various debug + statements. + + * backend/pnm.c (sane_init): Ditto. + * backend/mustek.c (sane_init): Ditto. + + * frontend/scan.c (parse_scalar): Default to mm again (instead of + cm). Using `mm' as the default is counter-intuitive since the + help info is printed with `mm' as the unit. + + * frontend/xscan.c (main): Pass local_only==SANE_FALSE as second + argument to sane_get_devices(). + +Sun Jan 12 13:12:45 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/sane.c (sanei_constrain_value): For string-lists, ignore + case and allow prefixes as long as they remain unique. + + * frontend/scan.c (print_option): Print "auto" as a legal option + value if the option has capability SANE_CAP_AUTOMATIC set. + (process_backend_option): If option has SANE_CAP_AUTOMATIC set, + let option value of "auto" turn on automatic mode. + +Wed Jan 8 19:55:31 1997 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/Makefile.in (install): Modify install rule so that + $(libdir) gets added to /etc/ld.so.conf if it isn't there + already. + (COMPILE): Use $(SHCFLAGS) instead of $(CFLAGS). + (LINK): Remove (unused). + +Wed Dec 25 20:21:39 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.README: Add section "SCSI Adapter Tips". + +Fri Dec 13 20:02:03 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (line_distance): Rename + LINE_DISTANCE_WORKAROUND to NEED_MUSTEK_LINE_DISTANCE_WORKAROUND. + Include <config.h>. + +Thu Dec 12 20:19:26 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.h (next): New member. Forms linked list of open + handles. * backend/mustek.c (first_handle): New variable. Root + of list of open handles. + (sane_open): Insert handle into list of open handles. + (sane_close): Remove handle from list of open handles. + +Wed Dec 4 18:37:45 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (attach): Added back MFS-12000SP, MFS-08000SP, + and MFS-06000SP. At least the first one really does exist. I + don't know how the differ from the other scanners, but it looks as + if line-distance correction might be different. + +Tue Dec 3 21:22:54 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/sane.c (sane_strstatus): Remove trailing dot from error + message. + +Mon Dec 2 19:12:53 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * backend/mustek.c (max_string_size): New function to determine + maximum size of a string constraint list. + (init_options): Use max_string_size () to initialize size of + string-valued options. + +Sun Dec 1 15:44:53 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * Version 0.1 released. + + * backend/mustek.c (attach): Fix mispelled/bad model names: + MFS-12000SP -> MSF-12000SP + MFS-08000SP -> MSF-08000SP + MFS-06000SP -> MSF-06000SP + MFS-08000CZ -> <removed> + MFS-06000CZ -> <removed> + +Tue Nov 26 19:11:18 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/scan.c (print_option): Separate option name from option + values by blank, not equal so the syntax is correct even for short + options. + (parse_scalar): Added missing newline to error message. + +Sat Nov 16 17:26:19 1996 David Mosberger-Tang <davidm@azstarnet.com> + + * frontend/scan.c (main): Created (by Andy). + + * backend/pnm.c: Adapted from Andy's pnm.c (just minor updates). + + * backend/mustek.c: Created. + * backend/metadl.c: Ditto. |