Hi, This is the current TODO list. I don't think that we have any release-critical bugs but they will show up immediately before the release as usual :-/
Backend-maintainers please check if the TODO list contains an entry about your backend. If an entry is obsolete, please change it in the TODO list or contact me. Other interested people are invited to send patches or proposals for the TODO entries. A general comment: The next release isn't that far away. Please test sane-backends as much as you can. We have 7 new backends until now, many many backend updates, and lots of internal changes including a new libtool and SCSI changes. Bye, Henning TODO (2002-04-17) ******** todo ******** backends -------- * Add new backends (+ means: scheduled for version 1.0.8, (+) means: still maintained and/or updates will come) + Coolscan2 backend: support for LS-40, LS-4000, and LS-8000 http://coolscan2.sourceforge.net/ (+)hp4200 http://hp4200-backend.sourceforge.net/ (+)Relisys Scorpio Super 3 SCSI II Mark Plowman <sane-de...@plowman.xs4all.nl> http://www.xs4all.nl/~plowman/ (+)Genius Vivid Pro USB, Colorado USB 19200, Visioneer OneTouch 7600 IBM IdeaScan 2000 USB http://homepages.paradise.net.nz/stevenel/scanner/ (+)Hewlett-Packard ScanJet 3300C / 3400C and 4300C (wip) http://sourceforge.net/projects/hp3300backend * Update backends + Canon FB620S flatbed scanner and FS2710 film scanner support (update for canon backend). ftp://stthd0.pc.uni-koeln.de/pub/canon-1.08.tar.gz Ulrich Deiters <u...@xenon.pc.uni-koeln.de> * All backends should check for TL_X < BR_X and TL_Y < BR_Y to avoid segfaults or even scanner damage. This should NOT be done in sane_control_option, it should be possible to temporary set TL_X > BR_X or TL_ > BR, otherwise it is hard for a frontend to set the correct values. * Use DBG(...) instead of fprintf(stderr, ...) or printf - microtek * 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 access. - The result of locking isn't checked --> does it make sense at all? * dll: - Rewrite to use libtool ltdl library - Check what happens when calling sane_init/sane_open and sane_exit more than once. * dc210, dc240, gphoto2, and jpeg stuff: move sanei_* functions to sanei/ (if they are necessary). * 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() does not release memory allocated by sane_get_devices(). - abaton - agfafocus - apple - as6e - avision - bh - canon - coolscan - dmc - m3096/fujitsu (?) - microtek - qcam - ricoh - s9036 - sharp - sp15c - tamarack - etc? * as6e: attach: memory (dev + dev-sane.name) isn't freed if driver isn't found. * avision: line 1393: word isn't freed sometimes (maybe if cp == line?) * net: add IPv6 support. * Fix warnings about DBG calls: - avision - sm3600 - umax1220u - v4l * Make all symbols that don't start with sane_ or sanei_ static (see make libcheck): - artec: cap_data - avision: Avision_Device_List - canon: option_name * bh: Suspicious loop ("../../backend/bh.c", line 1923: warning: end-of-loop code not reached), see sane-devel. * coolscan: Lots of compilation warnings (e.g. "../../backend/coolscan-scsidef.h", line 160: warning: initialization type mismatch; empty declarations), see sane-devel. doc --- * Add doxygen documentation for the remaining sanei files: - sanei_pio.h - sanei_pv8630.h - sanei_wire.h * sane.tex: - Define the return values for sane_init? Define the consequences if sane_init doesn't return SANE_STATUS_GOOD. - Add a warning/explanation about problems with sane_get_select_fd, Unix select() calls and sane_cancel. - Add some text about the meaning of bits in 1-bit modes. - Define, how to handle SANE_CAP_ADVANCED for groups. * sane-backends.html should be sorted by manufacturer, not by backend. (wip by Henning Meier-Geinitz). frontends --------- * saned: - saned times out after 60 minutes. Check if the watchdog timer is really necessary (e.g. to avoid blocking scanners by one user). Maybe add a 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. - Add IPv6 support. * scanimage: Add i18n (NLS) support? * scanimage: Fix pnm 16 bit output (partly patch available). [the remaining entries have been moved to the sane-frontends package] sanei ----- * sanei_scsi: Think about a completely new interface. Details are in http://www.mostang.com/pipermail/sane-devel/2002-January/001995.html . * 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. * Check if the device file has the right type before accessing it. E.g. check for major/minor numbers to avoid accessing a USB file as SCSI device. This is finished for sanei_scsi.c/Linux. Patches for other platforms are welcome. * sanei_scsi (Linux): Make sure that the SCSI driver is loaded when checking for scanners. Ideas: Open/close all the /dev/sg* files in sanei_scsi.c, dll.c or in a new backend. platform-specific ----------------- * SCSI access doesn't seem to work on Linux/Sparc. See emails from Tomislav Renic on sane-devel (2001-09-21). * Really fix all the parport/inb/outb compilation issues which break porting to some non-i386 platforms. * Add AC_OBJEXT and AC_EXEEXT to configure.in for automatically adding the correct extensions (e.g. for OS/2). Also update the Makefiles accordingly. * Add support for semaphores also for OS/2 (currently used in snapscan). misc ---- * sane-config: add options "--exec-prefix=...." and "--prefix=..." compareable to gtk-config * 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. * Make output of sane-find-scanner more flexible. See scanimage -f for details. * Check licence issues with getopt*.c and md5.c. These files are GPLed, so if they are used in backends, their SANE exception will be void. * Can we link external libraries only to backends that need them? * Add support to sane-find-scanner to check whole directories for device files. * Fix inclusion of saneopts.??.po in po/. Currently, the "" header is defined twice.