CHANGES FOR FRONTEND XSANE FOR SANE: ------------------------------------ xsane-0.11 beta and before: --------------------------- - based on gtk-1.0.x - histogram - online color enhancement - gamma table: tested with - 8, 10 and 12 input bits per color - 8 output bits per color - standard and advanced options in own (non scrollable) window - photocopy function via postscript output (gray + color, not lineart) - frontend/Makefile.in changed for xsane xsane-0.11 -> 0.12: ------------------- - added ps, jpeg and png(1+8bit) output format, selected by filename - added lineart support for ps - changed configure.in and config.h.in and included them into xsane - changed device selection dialog: scanner vendor and model added - added xsane-logo (winner from gimp-contest) to device-selection and about-window, it is loaded from SANE_DATA_PATH/sane/xsane-logo.xpm (/usr/local/share/sane/...) - histogram window now always exists and may be hidden - changed handling of devicename given as commandline option: sane_get_devices is called and the vendor, model and type get identified, if the given device name does not fit to the beginning of an existing device name the device selection is opened xsane-0.12 -> 0.13: ------------------- - file format detection now works with case insensetive - changed font for device selection - changed output format of device list for selection - disabled gamma table for 1 bit grayscale (lineart) - improved error handling of saving routines - removed ram eater in preview routine - added default gamma upload into preview scan routine - added tiff-output-format - changed lineart to grayscale conversion in saving-routines - added test if selected output format is supported before scan xsane-0.13 -> 0.14: ------------------- - added info window that displays hidden options/values - xsane compiles without sane-source-package now, sane must be installed. - if scan is started with save for unsupported graphics format an error message comes up before scanning is started - tested for param.depth>1 for gamma correction - added test for sane major version number, abort if mismatch xsane-0.14 -> 0.15: ------------------- - if device is given as commandline option it is now loaded again if it is not in the devicelist - moved some functions in xsane.c out of a #ifdef HAVE_LIBGIMP .. #endif-block - added sliders in the gray/red/green/blue-levels for black/gray/white points - gamma correction in preview is now only done if depth > 1 - enhancement sliders are not shown in lineart mode any more xsane-0.15 -> 0.16: ------------------- - moved save-routines to xsane-save, named xsane* to xsane-* - included progress-routines into xsane.c - moved xsane.h to xsane-text.h - moved definitions and external used function headers to xsane.h - added test for depth > 1 before calculating preview histogram - added test for preview_gamma_data_red before calculating preview histogram - added test for preview_gamma_data_red before doing preview gamma correction - added p->image_data_raw = malloc(3*p->image_width*p->image_height); in xsane-preview.c/scan_start - added authorization_callback routine - renamed a lot of routines * -> xsane_* - added p->previous_selection.active = FALSE; draw_selection(p); to preview_gamma_correction to redraw selection - added preview_update(p); to scan_done in xsane-preview.c to reactivate selection - added header for saving >8bpp raw data (SANE_GRAYSCALE_RAW, SANE_RGB_RAW) - added 16 bit saving routines for pnm(ascii), png and raw - added 16 bit routines to xsane_read_image_data, added 16 bit gamma software support xsane-0.16 -> 0.17: ------------------- - xsane-gtk.c moved free(elem->menu); elem->menu = 0; in panel_destroy out of the for-loop - added some #ifdefs #endifs around saving routines for TIFF, PNG and JPEG - added BIT_DEPTH as well known option, preview sets this value to 8 if it is greater than 8 - added range checks in calculation for auto enhancement values - calculation of auto enhancement values is not called in lineart mode any more xsane-0.17 -> 0.18: ------------------- - added quit_xsane in xsane_choose_dialog_ok_callback if no device was opened - added sane_get_parameters(..) in xsane_scan_dialog - added xsane_increase_counter_in_filename to xsane-save.[ch] - Filename counter is automatically increased after scan - Changed setup_dialog callbacks, cancel does work now - zoomfactor is calculated now if copy mode is selected - added tooltips for xsane setup options - changed "destroy"-event of authorization dialog to "delete_event" - in gsg_message made the ok button default - added gsg_decision routine - added overwrite warning - postscript images are saved in original size in scan mode now xsane-0.18 -> 0.19: ------------------- - added cancel callback routine for conversion/saving routines - printer_resolution now is set if OK is pressed in setup - overwrite warning is not shown in copy mode any more - changed fclose to pclose for closing pipe to printer command - restored xsane.resolution in xsane_pref_device_restore - added Help menu, called Netscape -remote to open help-files - set sensetivity of xsane dialog and histogram dialog while scan and preview scan to false - added some help(html) files to the doc directory xsane-0.19 -> 0.20: ------------------- - improved online help - added own version number for xsane, there are three version numbers now: - xsane version - sane version - package version (e.g if there is a package of different frontends) - added gamma value (gray, red, green, blue) for printer (copy mode) - changed sane-style.rc -> xsane.style.rc - changed PATH_SANE_DATA_DIR -> old PATH_SANE_DATA_DIR/sane - preview gamma correction is done by the xsane gamma correction instead of the Xserver gamma correction, there are also values for red, green and blue now. - spilt setup window into notebook pages - replaced in xsane_pref_set_unit_callback preview_update by preview_area_resize, the ruler units are updated now if unit is changed - made menue length unit inactive if length unit is pixel - added dialogs for batch scan list and fax page list, but not finished and disabled - changed local includes from <...> to "..." - test for filetype is only done in scanmode now - added list of (up to 10) printers for photocopy mode - added error messages if failed to open files - added sigpipe_handler for handling broken pipe while writing to printercommand xsane-0.20 -> 0.21: ------------------- - in xsane-preview.c if backend does not use scanareaselection dev_selection[i] is set to width/height of image - replaced most sprintf by snprintf - made menue length unit inactive if scanare is nut supported by the backend - set maximum value in 16 bit saving routines to 16 bit/65535 - 1 bit/pixel png file is saved with 1 bit/pixel instead of 8 bit/pixel now - added support for gtk-1.2 - font are set in xsane-style.rc now xsane-0.21 -> 0.22: ------------------- - split xsane.c in: - xsane.c - xsane-setup.c - xsane-gamma.c - xsane-front-gtk.c - xsane-scan.c - renamed xsane-gtk.c to xsane-back-gtk.c - removed libtool from package - added experimental fax support xsane-0.22 -> 0.23: ------------------- - changed configure.in, removed some unnecessary parts and added error messages if gtk or sane is not installed - removed copy-mode resolution bug (was not changed if zoom slider was moved) - removed bug in faxmode if faxproject did not exist (fclose(0)) - changed definition of struct xsane and struct xsane_setup - added documentation-viewer-command to setup, netscaperemote is selected via the keyword "netscape-remote" xsane-0.23 -> 0.24: ------------------- - removed some bugs in gamma value calculation for real scan (preview was ok) - added activation for some windows after scan error - removed bugs in startup if no device is available or selected, the xsane.rc-file keeps untouched now xsane-0.24 -> 0.25: ------------------- - moved xsane_pixmap_new as xsane_create_histogram from xsane-front-gtk.c to xsane-gamma.c - now putting the histogram sliders directly into the slider preview instead of drawing into the preview window, the sliders are not erased by other other windows now - added block_update_param flag, the update_param and update_histogram routines are now called only one time if the preview scan area is changed - added changing of one edge in preview scanarea (left mousebotton near the edge) - added moving of preview scanarea (middle or right mousebutton) - moved creation of histogram dialog to xsane-gamma.c - removed some bugs in the preview, resizing the preview window should work now - added an experimental zoom for the preview xsane-0.25 -> 0.26: ------------------- - removed some preview_update calls or replaced them by preview_update_selection - renamed preview_update to preview_update_surface and made surface_changed a parameter - ruler scaling is now ok in resized windows and zoomed previews - added some range checks in preview_calculate_histogram - parts in the preview window that are not part of the scan area are painted gray now - added image_surface to preview structure, it stands for the surface of the scanned preview image - renamed preview_get_image_scale to preview_get_scale_preview_to_image - added routine preview_get_scale_device_to_preview - added Zoom 20% out routine - the selected area can be larger than the viewable preview now - added Pipette functions (pick black, gray and white) - mouse pointer does change to pipetty icon - p->aspect is calculated by image-size now if the surface is not defined (INF) in preview_update_surface - preview_update_surface is called now after preview scan and preview_restore_image - moved the "Help" menu in the main dialog to the right xsane-0.26 -> 0.27: ------------------- - added scantips and index of backends to help menu - changed configure.in, libpng should be found on (all ?) systems now - black and white point sliders use the two additional pixels now - user can preset (reduce) the preview area now - added "Select visible area" button - removed some bugs in gray gamma value calculation for real scan (preview was ok) - setup of faxoptions: normal, fine and postscript option is saved now xsane-0.27 -> 0.28: ------------------- - added option negative into enhancement and changed create_gamma draw_histogram and auto_enhancement to work with it! - increased contrast range from -100..+100 to -100..+200 and brightness range from -100..+100 to -200..+200 because the old values were not sufficent for scanning negatives - added selection for number of copies in copy mode xsane-0.28 -> 0.29: ------------------- - removed bug in xsane_set_resolution that could cause a segmentation fault - added support for resolution of type CONSTRAINT_WORD_LIST - xsane-mode (scan, copy, fax) can be selected as command line option (-s, -c, -f) now - most texts that are defined in xsane are defined in xsane-text now xsane-0.29 -> 0.30: ------------------- - removed bug in xsane_set_resolution, now highest resolution can be set if resolution is a list! - added RGBI support - must be activated in xsane.h (SUPPORT_RGBI) - added options rgb default and negative to preferences - enhancement values are saved with device settings now - The filename can be specified now for the file in which the device settings are saved or from which they are loaded. - changed extension from ".rc" to ".drc" (device rc) - added header "XSANE_DEVICE_RC" to identify it as device-rc-file - added calculation for color components to auto enhancement - pipette functions: middle mouse button defines shadow/gray/highlight for color components, left mouse button only defines gray values! - auto enhancement values are set to standard values in xsane_calculate_histogram if no values could be calculated - histogram is cleared when sensitivity is set to false - improved calculation of auto enhancement values - increased contrast range from -100..+200 to -100..+300 (gray) and -300..+300 (color) and brightness range from -200..+200 to -300..+300 xsane-0.30 -> 0.31: ------------------- - changed filename character transformation: erase " ", "_" -> "__", "/" -> "_" - device settings standard file name is vendor:model so it does not matter any more if the sg-device name has changed - the xsane main window can be a fixed or a scrolled, resizable window now. selection is done with setup/display/"main window fixed", the main window mode can be overwritten by specifying a command line option: -R or --Resizeable activates the resizeable, scrolled window, -F or --Fixed activates the fixed (non resizable) window (default) - histogram is cleared when info dialog or about dialog is opened - changed version option from -V to -v - added support for Automatic Document Feeder (scan until error) this is experimentary because in the SANE-standard there is no way defined how a frontend can identify an ADF. The backend has to load the next document automatically! - in xsane_enhancement_update replaced gtk_signal_emit_by_name by gtk_signal_emit - moved more texts to xsane-text.h - changed all RGBI -> RGBA because the 4th channel is ALPHA I think that SANE_FRAME_RGBA will be added to the sane standard - gtk+-1.2.0 is minimum requirement: removed tests for gtk_tooltips_set_tips, gtk_scrolled_window_add_with_viewport and gtk_events_pending that were needed for gtk+-1.0.x - added option "--device-settings file" to define default filename for device-settings - corrected "legal" size in preview - added device_text to info and preview window title - moved color definition to xsane_creat_histogram_dialog - pixmap colors depend on histogram_dialog now because the histogram dialog is the first dialog that exists - renamed all gtk functions like defined in gtkcompat.h (gtk+-1.0.x -> gtk+-1.2.x) - removed bug in device selection, device can be selected now with keyboard - xsane info window prints gamma depth "none" in 1 bit modes xsane-0.31 -> 0.32: ------------------- - added option --no-mode-selection/-s to disable menu for xsane mode selection - prepared text outputs (in xsane-text.h) for NLS/gettext support - multiple \n in scanf while reading saved preview image removed - added AM_PROG_CC_STDC to configure.in for HP/UX - added a break statement after each default in switch block - changed test for multiple image scan, when sane_read returned with SANE_STATUS_GOOD when the image is finished we start a new scan, SANE_STATUS_EOF is expected when scanning should be stopped. This way the Automatic Document Feeder is supported a way like planned in the sane standard, the backend says if the frontend shall call sane_start repeatadly. xsane-0.32 -> 0.33: ------------------- - removed change about SANE_STATUS_GOOD in multiple image mode. Adf mode is detected by scanmode again. This would be better selected by a mulit_image bit in the preferences block. - added common rotuine xsane_set_sensitivity to xsane-front-gtk.c - renamed xsane_test_adf to xsane_test_multi_scan xsane-0.33 -> 0.34: ------------------- - the preview selection is based on device coordinates instead of preview window coordinates now - added preview buttons and preview viewport to xsane_set_sensitivity - info and about dialog use xsane_set_sensitivity now - dummy_filename is created and opened for writing AFTER sane_start is called. - sane_start() == NO_DOCS is not handled as error any more - xsane_scan_done -> sane_cancel is called now if an error occurs - if an error occurs while scanning the created file is removed - xsane windows/buttons get inactive while setup dialog is open - xsane_scan_done -> sane_cancel is called when main window is closed (while scanning) - if there are no standard device settings at program startup, xsane take the backend predefined resolution (before this was set to 100) - if no scanarea options are given, the preview works with [0,INF] instead of [-INF,INF] now - transformed all gif files in directory doc to jpeg format because of all the trouble about the gif licence. Will never use gif again! xsane-0.34 -> 0.35: ------------------- - corrected doc/Makefile.in for change gif->jpg - added tiff compression type selection for multi bit and one bit images to setup: none, CCITT 1D Huffman compression, CCITT Group 3 Fax compression, CCITT Group 4 Fax compression, Lempel-Ziv & Welch, JPEG DCT compression, pack bits - implemented real single-bit format for tiff - setup/jpeg quality selection is enabled if jpeglib or libtiff is available - added gimp_image_set_resolution(...) to gimp saving routine - added test for libgimp/gimpfeatures.h to configure.in and config.h.in - disabled sensetivity while filename browse window is open - added handling if fileselection window was closed - moved filename "Browse" button from the right to to the left with disk-image inside - (added image filetype menu to the image filename line - not ready) - replaced button-texts negative, rgb default, auto, default, store and restore by icons xsane-0.35 -> 0.36: ------------------- - moved xsane_generate_dummy_filename in xsane-scan.c out of a #ifdef HAVE_LIBGIMP_H block - changed some icons - added #ifdef HAVE_LIBTIFF around TIFF-relevant definitions in xsane_setup_dialog in xsane-setup.c - included NLS/gettext version 0.10.35 - texts that are created by xsane can be converted to other languages now - texts created by the backend can not be translated yet! - added gettext relevant routines to aclocal.m4 and correct some bugs - added french translation - thanks to Vincent Renardias - added german translation table - translation files "*.po" are created by "*.po.in" with help of the preprocessor of gcc, all texts are #defined in frontend/xsane-text.h xsane-0.36 -> 0.37: ------------------- - added some texts to xsane-text.h and newlanguage.po.in[.in], created file add-0.37.po.in where the new entries are listed - moved generation of xsane.backend (backendname like umax) from xsane_help_build_menu to xsane_device_dialog, needed for translation of backend options - added translation for backend options: Backend translation is done with translation table sane-BACKENDNAME.mo - removed bug in preview_update_selection() (forgotten p->selection.active = TRUE) The selection box is updated correct now - removed bug in aclocal.m4: not fount "-lintl" when gettext is in glibc xsane-0.37 -> 0.38: ------------------- - changed STANDALONE -> XSANE_STANDALONE and GIMP_EXTENSION -> XSANE_GIMP_EXTENSION because GIMP_EXTENSION now (gimp-1.1.10) is used in the Gimp - changed brightness and contrast range maximum form 300 to 400 % - moved gimp installation texts to xsane-text.h added entries to po/newlamguage* - xsane -g now does not print anything and does not abort if gimp support is compiled in - changed lib/Makefile.in and sanei/Makefile in, make install should work without a previous make now - xsane gimp-plugin is selected via file/acquire now when gimp-version >= 1.1.9 - . removed ../intl/libintl.a form frontend/Makefile.in and . added CATOBJEXT=UNKNOWN and XGETTEXT=":" in if "gettext is in libc" to aclocal.m4 hope this solves problems with missing "-lintl" now on all systems - moved "show xxx" menu items form menu "Preferences" to menu "View" - added continuous update to histogram sliders and preview selection - added preferences menu item "Update policy" - now options are only changable if SANE_CAP_SOFT_SELECT is set - added test for bitdepth in xsane_scan_dialog for GIMP mode, error message pops up when unsupported bit depths are selected - moved case XSANE_PNM16 out of a #ifdef HAVE_LIBPNG block - position of all windows and size of main window and preview window is save in device settings, setting preview window geometry does not work because window does not exist at relevant times. xsane-0.38 -> 0.39: ------------------- - bounded contrast to >=-100.0 - Added test if GIMP_CHECK_VERSION is defined xsane-0.39 -> 0.40: ------------------- - device name is saved in drc file now - xsane version is saved in drc file now - warning is printed if device rc file was not created for active device - removed member device from struct preferences - was never used - changed frontend/Makefile.in (XSCAN->BINPROGS) - changed configure.in: - changed order of some checks - added status messages at the end - added "--enable-intl-patch" which adds -lintl to check for libsane - added "--disable-gimp" - added "--disable-jpeg" - added "--disable-tiff" - added "--disable-png" - moved xsane_generate_dummy_filename and fopen() into if XSANE_STANDALONE block, there is no empty file created in gimp mode any more. xsane-0.40 -> 0.41: ------------------- - renamed xsane-incons.h -> xsane-icons.c and xsane-icons-def.h -> xsane-icons.h - moved all includes that are needed by most xsane sources to xsane.h problem with missing stdio.h is solved that way - changed configure script: - check for sane is moved to the end because of missing libintl, - check for png is done with x_includes and x_libraries, and libpng is added to lib after all checks are done xsane-0.41 -> 0.42: ------------------- - changed configure.in, error message about missing sane is also printed if sane.h is not found. - changed info row (size box, start button): the start button is made smaller when the info box needs more place - changed calculateion of size in info row from unisgned long to float because unsigned long / 10 were to small to fit A4 with 1200x1200 dpi - changed png part of configure, HAVE_LIBPNG is now defined again - corrected png lineart saving xsane-0.42 -> 0.43: ------------------- - disabled LZW-compression for TIFF. Unisys holds a patent for LZW compression. I am not sure about the licence status of LZW and TIFF. GIF is not supported because of the licence problem. LZW for TIFF is disabled now. - removed all LZW entries in sourcecode and translation tables xsane-0.43 -> 0.44: ------------------- - renamed NOTEBOOK_PRINTER_OPTIONS to NOTEBOOK_COPY_OPTIONS - added sane-problems-doc.html to the help menu - added functions around "by ext" menu - all functions in xsane-back-gtk.c are named with xsane_back_gtk_* now xsane-0.44 -> 0.45: ------------------- - added *s = 0; in sanei_codec_ascii.c when reading a string that does not start with '"' - added test "if (!w.status)" when reading a string in sanei_load_values.c the missing test caused a segfault when a string was expected but the line did not start with '"' - merged together all needed sanei_* routines in xsane-rc-io.c and renamed all sanei_* to xsane_rc_io_*, removed subdir sanei and changed xsane.c and xsane-preferences.c to use xsane-rc-io.[ch] and reprogrammed some things. - renamed all xsane_pref_device_* to xsane_device_preferences_* and moved them to xsane-device-preferences.c - renamed sanei_w_[load|save]_values to xsane_device_preferencs_[load|save]_values and moved them to xsane-device-preferences.c xsane-0.45 -> 0.46: ------------------- - changed xsane_rc_io_w_space: returns ENODATA instead of EINVAL at EOF - added xsane_rc_io_w_skip_newline - changed xsane_device_preferences_load_values: - begin at start of file is only inciated if w.status == ENODATA - if w.status is an other error, the line is skipped - moved and renamed w_string, w_int, w_double from xsane-preferences.c to xsane_rc_pref_* in xsane-rc-io.c - repleaced fprintf/fscanf for reading xsane device preferences by xsane_rc_io_w_* routines This way the floating point values (xsane- gamma, brightness and contrast) are saved different and the *.drc-files are incompatible in that point. - added test for lineart mode (depth == 1) in xsane_enhancement_update solves segmentation fault problem when device settings with lineart enabled are loaded xsane-0.46 -> 0.47: ------------------- - if helpfile viewer is netscape-remote and netscape is not running it is started - replaced ENODATA (used for EOF detection in xsane-rc-io and xsane-device-preferences) by XSANE_EOF (=-1) (ENODATA is not defined on all systems) - If faxproject does not exist, project data entries are made insensitive and buttons "send project" and "delete project" are replaced by "create project" - Added missing "&" in xsane_device_preferences_save_values: xsane_rc_io_w_array(w, &len, (void **) &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word)); that cause segmentation fault when writing bool, int or fixpoint arrays. xsane-0.47 -> 0.48: ------------------- - "START" button is made insensitive in fax mode if project does not exist. - Preview window is created at the same time as the main dialog and it is destroyed at program end. Disabling "show preview" hides the preview window. This way the preview window placement does work correct. - set default values in xsane_device_preferences_load_file(char *filename) before reading the saved values, show_preview default = true - Mouse pointers display relevant mode icons in preview window now. - In copy mode the maximum selectable size that fits to the selected printer is drawn by a rect now. Selection is limited to the printer size. - if no local xsane.rc, xsane-style.rc or DEVICE.drc file exists it is loaded from SANE_DATA_DIR/xsane - all xsane rc files are placed in a subdirectory xsane now (~/.sane/xsane, SANE_DATA/DIR/xsane) - temporary files (previews, conversions) are saved in /tmp (defined in SANE_PATH_TMP in xsane.h) now - added window decoration icon (top left) to each xsane window (does work with kwm, does not work with fvwm2) - added warning icon and error icon - removed xsane_files_exit_callback, now xsane_scan_win_delete is used for all exit program calls - conversion-* and preview-* files are created with permission "-rw-------", images- and project-files are created with "preferences.image_umask" xsane.rc and *.drc are created with XSANE_DEFAULT_UMASK defined in xsane.h - added file permission selection in preferences/saving options for image file and for directory (faxproject) - disabled fileoptions (mkdir, rm, mv) in loading/saving preferences xsane-0.48 -> 0.49: ------------------- - added support for different x/y resolutions and zoom factors, the y-resolution slider is added to the xsane main dialog now - in gimp mode x- and y-resolution infos are set correct now - added resolution and zoom icons for x- and y-dimension - added fax_width and fax_height to preferences - added paper size frame in fax mode preview - added czech translation - thanks to by Stanislav Brabec - changed gimp_install_procedure(...): "RGB, GRAY" -> 0 - changed printer geometry setup from 1/72 ich to mm - added setup entries for fax- width, height, left_offset and bottom_offset - corrected terminating \0 of strings in sane_choose_device - when button "Negative" is pressed the white/gray/black points are also inverted - split preview_restore_image into preview_restore_image and preview_restore_image_from_file, it can zoom into a saved image now. - zoom functions are done now without a new preview scan. 3 different zoom levels are stored. - in xsane_scan_start the output file is only opend once in multi pass scan three pass scan does work now again. - added several missing routines for gamma correction in three pass scan xsane-0.49 -> 0.50: ------------------- - removed bug in calculation of paper size in copy and fax mode - added support for rotate image in xsane_save_ps - added support for rotate (landscape mode) in copy mode and save-ps mode and added preferences menu "Rotate Postscript" - added bugfix for gtk_tooltips_set_colors as long as it does not work in gtk - improved memory allocation routines and error handling in preview - after the main window is created the resolution, resolution_x amd resolution_y are made up to date now - changed dynamic menue list definition in xsane_setup for TIFF_COMPRESSION menu