2000-10-29 21:53:01 +00:00
|
|
|
TODO (2000-10-29)
|
2000-08-20 14:32:12 +00:00
|
|
|
|
|
|
|
******** 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/
|
2000-09-19 03:03:42 +00:00
|
|
|
- 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>
|
2000-09-30 13:41:12 +00:00
|
|
|
- sane-pie (Pacific Image Electronics series of ScanAce SCSI
|
|
|
|
scanners, and the Devcom 9636/9630 BlackWidow)
|
|
|
|
http://www.munton.demon.co.uk/sane
|
2000-08-20 14:32:12 +00:00
|
|
|
|
|
|
|
* 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
|
2000-09-24 19:38:28 +00:00
|
|
|
- net backend segfaults if saned isn't started
|
|
|
|
- don't just ignore the byte-order for the image data (needed to
|
2000-08-20 14:32:12 +00:00
|
|
|
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
|
|
|
|
|
2000-09-19 03:03:42 +00:00
|
|
|
* qcam: convert to use sanei_pio functions instead of direct port
|
|
|
|
access.
|
|
|
|
|
2000-08-20 14:32:12 +00:00
|
|
|
doc
|
|
|
|
---
|
|
|
|
* add sane manpage
|
2000-09-24 19:38:28 +00:00
|
|
|
- versioning system
|
|
|
|
- SANE API
|
2000-08-20 14:32:12 +00:00
|
|
|
|
|
|
|
* 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) (?)
|
2000-09-24 19:38:28 +00:00
|
|
|
- xsane
|
|
|
|
- scanadf
|
2000-08-20 14:32:12 +00:00
|
|
|
|
|
|
|
* 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
|
2000-09-30 13:41:12 +00:00
|
|
|
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.
|
2000-08-20 14:32:12 +00:00
|
|
|
|
|
|
|
* xcam: add dithering and support for SANE depths other than 8 bit (test
|
|
|
|
with Mustek backend, for example)
|
|
|
|
|
2000-09-18 18:20:42 +00:00
|
|
|
* xcam: add recording feature (e.g., GIF, JPG, or MPEG)
|
2000-08-20 14:32:12 +00:00
|
|
|
|
2000-09-24 19:38:28 +00:00
|
|
|
* 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
|
2000-09-30 13:41:12 +00:00
|
|
|
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?
|
2000-09-19 03:03:42 +00:00
|
|
|
|
2000-10-03 16:24:19 +00:00
|
|
|
* Adapt xscanimage to new GIMP API. Try to make it backwards compatible
|
|
|
|
with old GIMP versions if possible.
|
|
|
|
|
2000-08-20 14:32:12 +00:00
|
|
|
sanei
|
|
|
|
-----
|
2000-10-29 21:53:01 +00:00
|
|
|
* don't install sanei_* headers
|
2000-08-20 14:32:12 +00:00
|
|
|
|
|
|
|
* 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
|
2000-09-16 18:13:09 +00:00
|
|
|
different directory (e.g. backends and external-backends)
|
2000-08-20 14:32:12 +00:00
|
|
|
|
2000-09-16 18:13:09 +00:00
|
|
|
* Add a check for installed sane versions.
|
|
|
|
|
2000-10-03 16:24:19 +00:00
|
|
|
* Print a warning when already a sane version is installed.
|
|
|
|
|
2000-09-16 18:13:09 +00:00
|
|
|
* Maybe add script to detect and deinstall existing sane versions
|
|
|
|
|
2000-08-20 14:32:12 +00:00
|
|
|
******** done ********
|
2000-08-12 15:08:47 +00:00
|
|
|
|
2000-10-29 21:53:01 +00:00
|
|
|
* 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)
|
2000-10-03 16:24:19 +00:00
|
|
|
* 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/...>
|
2000-09-18 18:20:42 +00:00
|
|
|
* Update LEVEL2 file. Ideas:
|
|
|
|
* xscanimage: Fix "Gtk-CRITICAL **: file gtkmain.c: line 534 ..." bug
|
|
|
|
when no SANE devices found
|
2000-08-12 15:08:47 +00:00
|
|
|
+ PREVIEW: maybe there should be an option to limit the preview
|
1999-08-09 18:05:39 +00:00
|
|
|
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
|
2000-08-12 15:08:47 +00:00
|
|
|
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
|
1999-08-09 18:05:39 +00:00
|
|
|
+ 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
|