TODO list

From: Henning Meier-Geinitz (hmg-ml@gmx.de)
Date: Sat Sep 16 2000 - 11:14:10 PDT

  • Next message: Ingo Wilken: "Re: SANE on Linux/x86 with SCSI ISA card"

    Hi,

    this is an update of the TODO-list from CVS.

    TODO (2000-09-16)

    ******** 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/

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

      * use sanei_config_read() instead of fgets()
         - umax (will be fixed with the next backend release)

      * use #include "sane/..." instead of #include <sane/...>
        - umax (see above)

      * 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)

      * mustek: for 3-pass scanners, it is said that xscanimage doesn't update
        the scan progress bar properly between scans; it is said to stop at
        90%, start the next pass, and once the next pass has started, it moves
        on to 100% and the progress bar disappears at that point

      * 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

    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

    * use #include "sane/..." instead of #include <sane/...> - umax

    * 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

    * 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: make it robust against against it being listed in the configuration file (currently bad things will happen if dll attempts to load itself) * xscanimage: Fix "Gtk-CRITICAL **: file gtkmain.c: line 534 ..." bug when no SANE devices found

    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 .

    * check DBG problems for non gcc compilers: - no backend name output - only global debug level

    * remove compiler warnings (>400 warnings even in disable-warning mode!)

    * Update LEVEL2 file. Ideas: - add support for buttons etc. on the scanner/camera - Change of the version number system (the current standard version system is not really used in the SANE distribution). - add more frame types - add alpha channel so that RGBI scanners like Nikon LS-20 can send infra-red info back to gimp for post-processing - Might be nice if arbitrarily defined multiple channels, were possible. Some way of indicating the number of channels possible, and some details (wavelength, bandwidth, ...) - (see sane-devel archive for more ideas)

    * 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 ADF and TA entries to .desc files

    * add alpha channel so that RGBI scanners like Nikon LS-20 can send infra-red info back to gimp for post-processing

    * 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

    * 0 is white for sane

    ******** done ********

    + 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



    This archive was generated by hypermail 2b29 : Sat Sep 16 2000 - 11:06:16 PDT