summaryrefslogtreecommitdiff
path: root/xsane.TODO
blob: 03b1128e6750ef79c53bdb10e16e84e90722d3c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
This is a list of what I want to change/include for xsane.
If you have any suggestions: mail to Oliver.Rauch@rauch-domain.de

Sign explaination:
 # planned for XSane-1.0.0
 + planned to do this soon/higher priority (but not promised for XSane-1.0)
 - comes later/lower priority

 save-function:
    - list of last used filenames
    - enable filters in save mode?

 projects:
    # add selection for project directory to setup
    # store mail, fax and multipage projects in project directory
    # add buton "open project" to all project dialogs
    # disable "scan batch" button when we are in project mode
      and the project does not exist

 scan-routines:
    # allow additional image data after each row (is sane standard conform)


 fax-function:
++  # add new image types to fax fileformat: tiff/pbm/g3
    # delete page/project: create dialog "really remove?"
    # add possibility to create a multi page file that includes the complete fax
    + zoom ?
    + create lock file with information, add progress bar while spooling fax (how?)
    + add coverpage with editor like in mail function (may be same routines for mail and fax)
    - add send delayed option
    - add options for sender/receiver Name
    - add cancel button while preparing fax pages

 email-function:
    # delete image/project: create dialog "really remove?"
    # test for existance of lockfile?
    - add ASMTP CRAM-MD5 authentication
    - add cancel button while preparing mail images

 gamma function:
    # add target gamma (e.g. for web publishing)
    - correct gtk custom gamma functions and include it
      or better: write an own gamma curve widget

 medium selection:
    - medium definition in dependance of the scanner (?)
      (I am not sure if this makes sense with color managemant)

 medium definition:
    # make grayscale values do not influence color values

 preview function:
    # allow additional image data after each row (is sane standard conform)
    - force size of scanarea in pixels (calculate resolution)
      this will not produce exact results with some scanners!!!

 viewer function:
++  # clone to 8 bit: reduce 16bit image to 8bit
++  # crop to new viewer
++  # fill rectangular area (e.g. for masking unwanted parts of a scanned fax)
+   # print image
-   # show histogram of viewer image

 internal:
++  # add range check / valid value when reading xsane.rc/*.drc files
    # test if image file is writable before scan is started
    + cleanup of configuration file handling
      (problem with old config files should already be solved)
    + add color management - may be via xcmsdb or scarse (www.scarse.org)
    + add several defaults (fax=> mode=gray, ocr=> mode=gray, ...)
    + test memory after each call of malloc - partly done
    - average of a multiple scan of the same image ???
    - include much more parameters when saving images - mostly done
    - add infrared filter for transmissive rgbi scans (sane-2):
      use next neighbour with high transmission(i) value
      (may be to viewer)
    ? project save/load with preview image, scanmode, .... ???


 include special functions for GNOME/KDE
     - drag and drop for preview or viewer image?
     - other drag and drop functions?
     - image copy/paste functions?

 TWAIN:
    - add a twain-win32 interface (for xsane-win32)
    - define a twain-unix interface in cooperation with TWAIN-group
      (first contact to TWAIN in summer 1999, TWAIN is intersted in
      creating a TWAIN-unix interface that uses sane as scanner driver API)
    - add a twain-unix interface to xsane
 
 WIN32 version of xsane/sane
    - may be xsane-win32 without cygwin.dll on native win32 mode
    - may be later we make a sane-WIN32 version so that the backends do work too