# TODO list

From: Henning Meier-Geinitz (hmg-ml@gmx.de)
Date: Sun Oct 29 2000 - 13:49:14 PST

- Next message: Henning Meier-Geinitz: "Re: Time for a new release?"
  - Previous message: Karlheinz Günster: "Re: Agfa Snapscan 310 color problem"
  - Next in thread: kwlee: "Re: TODO list"
  - Reply: kwlee: "Re: TODO list"
  - Reply: Christophe Thommeret: "Re: TODO list"
  - Reply: Mark Plowman: "Re: TODO list"
  - Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

  Hi,

  this is the current version of the TODO list. Please check and comment.

  Bye,
  Henning
  TODO (2000-10-29)

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

  backends
  --------
  * add new backends (?)
  - as6e http://as6edriver.sourceforge.net/
  - bh http://www.martoneconsulting.com/sane-bh.html
  - Polaroid SprintScan 35 LE [should be included into microtek]
  Dick Bruijn <dick@wau.mis.ah.nl>
  - primax http://primax.sourceforge.net/
  - hp4200 http://hp4200-backend.sourceforge.net/
  - v4l2 http://video.inodes.org/sane-v4l2/
  - Relisys Scorpio Super 3 SCSI II by Tyler
  Bindon <martica@martica.org>.
  - Linux Handscanner Ioctl Interface scanner by Harald
  Bauer <hbauer@online.de>
  - sane-pie (Pacific Image Electronics series of ScanAce SCSI
  scanners, and the Devcom 9636/9630 BlackWidow)
  http://www.munton.demon.co.uk/sane

  * use DBG(...) instead of fprintf(stderr, ...)
  - microtek
  - microtek2

  * check #include <lalloca.h> (is this a global system header
  on any platform? Otherwise --> "lalloca.h")

  * make authorization_callback work in net-backend and saned

  * check net/saned
  - net backend segfaults if saned isn't started
  - don't just ignore the byte-order for the image data (needed to
  support depths > 8 bits/channel)

  * 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
  * qcam: figure out how/if to support bulb mode

  * qcam: convert to use sanei_pio functions instead of direct port
  access.

  doc

      ---
        * add sane manpage
           - versioning system
           - SANE API
        * add sane-usb manpage
        * Documentation for sanei API
          - any ideas for this?
      frontends
      ---------
        * Remove frontends (at least xscanimage/xcam) from distribution. Create
          new package for frontends.
        * add new frondends (possibly to frontend package) (?)
           - xsane
           - scanadf
        * add possibility to use external filters to xscanimage/xsane (?)
        * xscanimage/xcam: support depths > 8 bits/channel
        * xscanimage: provide both scale and textentry for ranges (make new widget)
        * xcam: provide access to option doc strings
        * xscanimage: scanning of images whose heights is not known a priori is not
          supported yet; this is going to be important for handheld scanners. At
          least the frontend shouldn't crash or produce invalid pnm files when
          it gets a length of -1.
        * xcam: add dithering and support for SANE depths other than 8 bit (test
          with Mustek backend, for example)
        * xcam: add recording feature (e.g., GIF, JPG, or MPEG)
        * dll: Rewrite to use libtool ltdl library
        * For 3-pass scanners, xscanimage doesn't update the scan progress
          bar properly between scans; the scanner seems to be faster than
          xscanimage can write to disk (problem: seek for every byte). This
          doesn't happen as GIMP-plugin. It doesn't happen in blocking mode
          either.
        * Add a check in the frontends if the backend delivers more data than
          it announced by sane_get_parameters to avoid segfaults with bad
          backends?
        * Adapt xscanimage to new GIMP API. Try to make it backwards compatible
          with old GIMP versions if possible.
      sanei
      -----
        * don't install sanei_* headers
        * add sanei_authorize (function for all backends)
      misc
      ----
        * update libtool versioning system
          - -version-info is used but with the current version number system
            -release should be used.
          - look for AIX problems (overwriting shared libs with eachother
            because all libs are named libsane.so.1)
          - look for Irix/cc problems (program searches for libsane.so.2 instead
            of libsane.so.1). This was fixed by a "bad hack" which should be
            reverted .
        * remove compiler warnings (>400 warnings even in disable-warning mode!)
        * 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
                         (not possible if I'm not root on the system)
                         xscanimage / gimp with xscanimage plugin (where available)
           All the above with shared and static libraries.
        * move .desc files for backends that are not included in SANE to
          different directory (e.g. backends and external-backends)
        * Add a check for installed sane versions.
        * Print a warning when already a sane version is installed.
        * Maybe add script to detect and deinstall existing sane versions
      ******** done ********
      * 0 is white for sane in lineart and halftone, however, 0 is black for
        the other modes. Possible reason: pnm data format. The SANE standard
        doesn't talk about this (added point to SANE standard)
      * add ADF and TA entries to .desc files (not done, probably webpage gets
        too wide)
      * check DBG problems for non gcc compilers:
        - no backend name output
        - only global debug level
      * dll: make it robust against it being listed in the configuration
        file (currently bad things will happen if dll attempts to load itself)
      * scanimage: add information about backend:devicename in the man
        page and scanimage --help.
      * scanimage: check if devicename starts with a / and print a warning
        message
      * scanimage: if no devices are detected print a message
      * use sanei_config_read() instead of fgets()
      * use #include "sane/..." instead of #include <sane/...>
      * Update LEVEL2 file. Ideas:
      * xscanimage: Fix "Gtk-CRITICAL **: file gtkmain.c: line 534 ..." bug
        when no SANE devices found
      + PREVIEW: maybe there should be an option to limit the preview
        scan to the selected area? YES => this will also make it easier
        to avoid the scan area selection to get confused when the user
        resizes the preview area in a way that changes the aspect ratio;
        in essence we want to allow for the preview-image to be a subregion
        of the preview-window (done in xsane)
      + xcam: allow disabling of advanced options and tooltips
      + man page for xcam
      + scanimage: support depths > 8 bits/channel
      + upgrade to GTK 1.2 (but stay backwards compatible to 1.0 if possible)
      + saned: check_host() consider using strncasecmp()
      + GTK: changing the length unit causes dirty pixels in the unit-labels
        of the "Geometry Group"
      + preview: image data doesn't get preserved properly when changing
        scan area size (reproducable by changing Mustek Scan source to TA)
      + preview: when popping up the preview window, the current scan area is
        not visible
      + qcam: test b&w support (need volunteer!)
      + hp: convert to use pixel-unit commands only; HP 5P doesn't support
        decipoint commands
      + mustek: the MFS-06000SP with firmware v3.12 does not seem to need any
        line-distance correction at all!?!
      + scanimage/xscanimage: when a scanner is busy while probing for devices,
        the device is dropped silently from the list of available devices; this
        is confusing particularly when remote controlling a device; it should
        be possible to distinguish between a device that's busy and one that's
        absent
      + xscanimage: program crashes when preview window is popped down while
        preview is being acquired!
      + Mustek backend crashes when invoked via xscanimage through the network
        backend.  It does not crash if there are no saved device settings.
      + gtkglue: support vectors (requires a "graph" widget; see gimp/app/curves.c)
      + xscan: make scrollbar wider
      + xscan: at startup or after rebuilding the dialog, the notebook widget
        displays both the standard and advanced options simultaneously
      + xscan: pnm backend causes crash when hitting "Defaults" button
      + scan: add three pass scanning support
      + xscan: double-clicking selection should imply OK
      + xscan: enabling the gtk_rc_parse() code causes segfault when scanning in
        three-pass mode (pnm backend) => bug in gtkstyle.c (patch submitted)
      + qcam: implement "christmas light" filter
      + xscan/qcam: after scanning a preview, the original scan area seems to
        get lost somehow => bug in restoring the scan area settings
      + qcam: image always comes out black until the blacklevel has been modified;
        why is this? => send dummy black-level after qc_reset()
      + xscan: provide access option doc strings
      + xscan: in GIMP mode, RED/GREEN/BLUE frames are not handled properly yet.
      + preview: bit-depth is currently ignored (makes lineart etc fail)
      + sanei: allow saving/restoring options on a per-device and per-user basis
      + xcam: replace ugly top-left/bottom-right corner coordinates with something
      	more useful => they're advanced options now
      + preview: modifying the scan area coordinates should update the selection
      + preview: should we allow saving the current preview image? => yes
      + xscan: make it possible to build with gtk alone (i.e., without gimp libs)
      + xscan: use same scan-logic as preview (select-based, if possible);
        should be able to share most of the code
      + replace params.first_frame with params.last_frame---i don't know how to
        use the former, the latter would be useful for xcam to implement support
        for individual R/G/B frames
      + saned: add multi-host capabilities (selection-phase ... how ??).
      + saned: add authorization
      + ensure frontend never link sanei_*() functions dynamically
      + always define unique names in backends and define weak-aliases for
        generic names where elf_alias is available---this should make it
        easy to add "pre-load" support to dll.c (either for faster loading or
        for systems that don't have dl*())
      + make install: don't overwrite existing configuration files
      + xcam: let user be able to type in a device string
      + mustek: make sane_close() hang around until sane_cancel() has finished
      + net: implement it: socket-based backend [Andy is working on this]
      + need a camera front end (to allow recording video & audio)
      + qcam: allow changing all parameters "on-the-fly" (while scanning)
      + qcam backend: implement sane_set_io_mode() and sane_get_select_fd()
      + make "scan" print current value of each option
      + make "scan" apply any options before printing help message
      + initialize backend debug level through environment variable (e.g.,
        SANE_DEBUG_LEVEL)
      + allow abbreviating string values and make them case-insensitive (as long
        as they're unique) => see sanei_constrain_value()
      + add support to "scan" for setting options to "automatic"
      + update documentation and convert to latex & html
      + add --width/--height support
      + update Mustek backend with new notion of inactive options
      + in verbose multibit mode print min/max graylevel value
      + Mustek segfaults after ctrl-C => need -Bsymbolic to ensure mustek backend's
        references to sane_foo() get resolved within backend
      + test parsing of boolean options
      + --mode Gray causes segfault
      + change scan to use getopt_long
      + make Mustek backend work without having to first call get_devices()
      + implement meta backend
      + bring pnm backend up to speed
      --
      Source code, list archive, and docs: http://www.mostang.com/sane/
      To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com

  - Next message: Henning Meier-Geinitz: "Re: Time for a new release?"
  - Previous message: Karlheinz Günster: "Re: Agfa Snapscan 310 color problem"
  - Next in thread: kwlee: "Re: TODO list"
  - Reply: kwlee: "Re: TODO list"
  - Reply: Christophe Thommeret: "Re: TODO list"
  - Reply: Mark Plowman: "Re: TODO list"
  - Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

  This archive was generated by hypermail 2b29 : Sun Oct 29 2000 - 13:47:19 PST