[sane-devel] New snapshot: 2001-10-27 and TODO list

Henning Meier-Geinitz henning@meier-geinitz.de
Sat, 27 Oct 2001 02:36:56 +0200


I have just made a new snapshot of SANE (backends + frontends):


The snapshot can also be downloaded from the mostang.com website (link
on the main page).

Keep in mind that feature freeze is on 2001-10-29.

Here is the current TODO list:

TODO (2001-10-26)

******** todo ********

  * Configuration problems:
    - add options "--exec-prefix=...." and "--prefix=..." compareable
      to gtk-config

  * Add new backends (?)
    - primax http://primax.sourceforge.net/
    - hp4200 http://hp4200-backend.sourceforge.net/
    - v4l2 http://video.inodes.org/sane-v4l2/
    - Relisys Scorpio Super 3 SCSI II
      Mark Plowman <mplowman@wxs.nl>
    - Linux Handscanner Ioctl Interface scanner by Harald
      Bauer <bauer-h@web.de>
    - viceo (Visioneer OneTouch 8600)
    - bearpaw (Mustek BearPaw 1200 + maybe 2400)
      Henning Meier-Geinitz <hmg@gmx.de>
    - Genius Vivid Pro USB, Colorado USB 19200, Visioneer OneTouch 7600 
      IBM IdeaScan 2000 USB 
    - Fujitsu M3091DCd support
      Frederik Ramm <frederik@remote.org>
    - Canon FB620S flatbed scanner and FS2710 film scanner
      Ulrich Deiters <ukd@xenon.pc.Uni-Koeln.DE>
    - UMAX Astra 1220U  backend

  * Update backends
    - Combine all the Fujitsu backends into one single backend

  * Use DBG(...) instead of fprintf(stderr, ...) or printf
     - microtek

  * Check net/saned
     - saned times out after 5 minutes (now 60 minutes). Check if the
       watchdog timer is really necessary (e.g. to avoid blocking scanners
       by one user). Maybe add an command line option to saned to set the
       timeout. Otherwise turn on TCP keep alive (where available) and
       (maybe) check the connection from server side.

  * qcam:
     - implement auto mode for brightness and black-level (don't
       just advertise it!) Actually, implement an auto "backend" instead
       that can be plugged in front of any backend with brightness/contrast
       etc controls
     - figure out how/if to support bulb mode
     - convert to use sanei_pio functions instead of direct port
     - Check file handling in /tmp.

  * dc210 and jpeg stuff: move sanei_* functions to sanei/ (if they are 

  * v4l: Problems (crash) with more than one video card. It looks like 
    the two different cards are identified as the same card.

  * Fix backends where sane_exit() do not release memory allocated by
      - abaton
      - agfafocus
      - apple
      - as6e
      - avision
      - bh
      - canon
      - coolscan
      - dmc
      - m3096
      - microtek
      - qcam
      - ricoh
      - s9036
      - sharp
      - sp15c
      - tamarack
      - etc?

  * as6e: attach: memory (dev + dev-sane.name) isn't freed if diver isn't

  * avision: line 1393: word isn't freed sometimes (maybe if  cp == line?)

  * add a contact address for each backend (in backend.desc).

  * Documentation for sanei API
    - any ideas for this?
    - Options:
      - Doxygen, <URL:http://www.stack.nl/~dimitri/doxygen/>
      - ROBODoc, <URL:http://www.xs4all.nl/~rfsber/Robo/>

  * sane.tex: Define the return values for sane_init?  Define the
    consequences if sane_init do not return SANE_STATUS_GOOD.
    Add a warning/explanation about problems with sane_get_select_fd,
    Unix select() calls and sane_cancel.

  * Update backend manpages

  * Use @LIBDIR@, @CONFIGDIR@ and the other @@ macros to refer to paths.
    These are updated when installing to a non-standard prefix.
    - umax
  * dll: Rewrite to use libtool ltdl library

  * Add a check in the frontends if the backend delivers more data than
    it announced by sane_get_parameters to avoid segfaults with bad 

 [the remaining entries have been moved to the sane-frontends package]

  * SCSI access doesn't seem to work on Linux/Sparc. See emails from
    Tomislav Renic on sane-devel (2001-09-21).

  * sanei_usb: Add sanei_usb_write_control or similar. At least the Linux
    USB scanner driver allows to send control messages since kernel 2.4.13.

  * create sanei_parport_* and remove all inb, outb,... from all backends;
    use libieee1284 if available (see
    http://people.redhat.com/twaugh/libieee1284/). Or just include this
    library into sane.

  * Remove compiler warnings (>300 warnings even in disable-warnings mode,
    >700 with --enable-warnings))

  * Test SANE on different os/platforms, fix possible compilation problems 
     Test methods: scanimage -d pnm:0 --filename=file.pnm -T
                   scanimage -d net:localhost:pnm:0 --filename=file.pnm -T
                   (start saned by inetd or saned -d before testing)
                   xscanimage / gimp with xscanimage plugin (where available)
     All the above with shared and static libraries.

  * Use #include "../include/sane/..." instead of #include <sane...>

  * Use #include "../include/lalloca.h" instead of #include <lalloca.h>

  * Check include/sane/config.h.in for unnecessary macros.

  * Add configure option to enable only the net backend for users without
    local scanners. Install only sane-dll/sane-net (or even only sane-net).
    Maybe something like  --network-client-only or --disable-local-devices.

  * check memory leaks (checked with purify and mtrace (from glibc)):

  * Add installation procedure for translations of SANE backend's options.