this is the current version of the TODO list. Please check and comment.
******** todo ********
* 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 <firstname.lastname@example.org>
- 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
- Linux Handscanner Ioctl Interface scanner by Harald
- sane-pie (Pacific Image Electronics series of ScanAce SCSI
scanners, and the Devcom 9636/9630 BlackWidow)
* use DBG(...) instead of fprintf(stderr, ...)
* 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
* qcam: figure out how/if to support bulb mode
* qcam: convert to use sanei_pio functions instead of direct port
--- * 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 email@example.com
This archive was generated by hypermail 2b29 : Sun Oct 29 2000 - 13:47:19 PST