ok guys- take 4: Six general points for sane 1.1.x: - no changes to function calls - no changes to structures - 1.0 backends forward compatible with 1.1 - improve backend consistency - support more advanced scanners - improve cooperation with modern system services
Specific proposals: 1. Consistent, translatable option groups: 'Standard' = source, mode, resolution 'Geometry' = x/y and paper size params 'Enhancement' = bright/gamma/contrast/thresh, rif, halftone, etc 'Advanced' = compression, calibration, feed controls, etc 'Sensors' = an option for every hardware button or sensor 2. Two new well-known options for ADF paper alignment: page-width and page-height 3. Two new SANE_STATUS values: HW_LOCKED and WARMING_UP 4. Nine new SANE_FRAME values: TEXT, JPEG, G31D, G32D, G42D, IR, RGBI, GRAYI, and XML 5. Several new well-known options for buttons and sensors. Backends should use the closest one to the meaning of the label on the scanner or the button's use in the manufacturer's software. Backends may also use a different name if no suitable one is found. well-known buttons: scan, email, fax, copy, pdf, cancel well-known sensors: page-loaded, cover-open 6. Clarify standard text for SANE_CAP_HARD_SELECT to indicate it should be used for polling the current state of hardware sensors and buttons, with a refresh interval <= 1 sec. 7. New DBGBM macro for bitmask debugging output (bit # listed below): 1 DBG_LVL_ERROR (errors only) 2 DBG_LVL_FUNC (function tracing 'enter xxx()' or 'exit xxx()') 3 DBG_LVL_DETAIL ('trying action X' or 'action succeeded' etc) 4 DBG_LVL_OPTION (any sane_option parsing code) 5 DBG_LVL_CALIB (calibration info) 6 DBG_LVL_IMAGE (dump image data read from scanner) 7 DBG_LVL_DATA (dump data packets read from scanner, other than image or cal?) 8 DBG_LVL_FILE (write internal data files to disk from within backend?) 8. Add common configuration reading function in sanei_* so that new or maintained backends can benefit from it. Wholesale config file restructuring? 9. Require backends to always accept the sanei device name as an alternative to the backend generated name. Most of this stuff is done or in progress, except I have not used tex in years, so it's going to take me a little while to update the standard, unless someone else steps up. And #7 needs some programmer cycles- volunteers? If we can get those (and stef's sanei_config improvements) into cvs, then we can take a look for backends that might need updates, particularly on #9. allan -- "The truth is an offense, but not a sin"