From f9d74687b94e1c4a0b5a0117015598512e389013 Mon Sep 17 00:00:00 2001 From: ffsup2 Date: Sat, 19 Mar 2011 00:02:29 +0100 Subject: [PATCH] Merge from branch 3.0 --- COMPILE.txt | 39 +- ProcessorTargets.cmake | 14 +- rtdata/languages/Czech | 31 + rtdata/languages/English (UK) | 1682 ++++++++++++++++----------------- rtdata/languages/Espanol | 9 +- rtdata/languages/Japanese | 42 + rtdata/languages/Swedish | 19 + rtdata/languages/default | 21 +- rtengine/dcraw.cc | 14 +- rtengine/dcraw.patch | 985 +++++++++---------- rtengine/improccoordinator.cc | 1 - rtengine/improcfun.cc | 14 +- rtengine/jdatasrc.c | 30 +- rtengine/myfile.h | 2 +- rtengine/rawimagesource.cc | 5 +- rtgui/paramsedited.cc | 6 +- rtgui/partialpastedlg.cc | 449 +++++---- rtgui/partialpastedlg.h | 75 +- rtgui/preferences.cc | 20 +- rtgui/splash.cc | 1 + 20 files changed, 1873 insertions(+), 1586 deletions(-) diff --git a/COMPILE.txt b/COMPILE.txt index 76b3cc696..32a504155 100644 --- a/COMPILE.txt +++ b/COMPILE.txt @@ -22,6 +22,27 @@ the build information files, then you can tell your build system to run cmake wi Cmake will then pass the files creation step, but will check the presence of the requested files and stop if they're not there. +Preamble: +--------- + +Cmake is actually used to create the Makefiles (scripts that handle the build process) or specific Integrated Developement Environement (IDE) projects. +It is designed to find all necessary compilation flags for your specific machine, but everything can be overriden. + +RT's build mechanism will generate a build information file, named "AboutThisBuild.txt", and require some parameters that can't be set by Cmake, so it's +done in our build script, and may be overriden at your own will. The build process also enable some sort of cross compiling, since you can only choose +a specific processor variation of the same type (e.g. core2, athlon64, which are both an x86 architecture). Real cross compiling (e.g. building the windows +version on a linux platform) has not been tested. + +By default, no processor is specified, so Cmake/GCC will build RT for your processor (or maybe a generic processor). Developers that are providing build to +download then have to set the processor label manually (set to 'undefined' by default) with the PROC_FORCED_LABEL cmake's parameter (we assume that you know +how to specify a cmake parameter). + +Note for developers that handle an automated build system : Mercurial is requested in order to produce the build information file, but you build system will +certainly only use the source code without any access to a Mercurial repository. In this case, you have to first build RT like explained below to generates +the build information files, then you can tell your build system to run cmake with the following additionnal parameter : -D AUTOMATED_BUILD_SYSTEM:BOOL=ON. +Cmake will then pass the files creation step, but will check the presence of the requested files and stop if they're not there. + + Windows ------- @@ -204,7 +225,13 @@ Windows Compile: - Start a standard DOS command line interface (WIN + "R" -> "cmd") - Enter the root directory of the RawTherapee source tree (type: cd C:\Absolute\Path\To\RawTherapee_sourceTree) - - Type: cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -Ccmo.txt . + If you wants to upload a build, you should set some additionnal information about your processor. There are two possibilities: + 1. You pickup a target processor from "ProcessorTargets.cmake": all you have to do is adding "-D PROC_TARGET_NUMBER:STRING=number" + to cmake's command line + If you choose the 'native' solution's number, you have to set the processor label manually by setting "-D PROC_FORCED_LABEL:STRING=procLabel" + in cmake's command line + Please provide a short name, like "core i5" or "athlon64" (without double quote)... processor frequency if of no use. + 2. You don't need specific processor flags, you still have to set the PROC_FORCED_LABEL parameter (see point 1 righ above) - Type: mingw32-make.exe install - You'll find the compiled program in the subdirectory named like the value of CMAKE_BUILD_TYPE ("Release" in this example) @@ -232,7 +259,7 @@ Linux Using Eclipse under Linux: - + Eclipse mercurial plugin: click Help -> Install new Software. The Eclipse Update Site for MercurialEclipse is available at this URL: @@ -245,7 +272,13 @@ Linux Enter root directory of RawTherapee source tree from a terminal window. configure the source for Eclipse with: cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. -DCMAKE_BUILD_TYPE=Release - See above the comment about PROC_FORCED_LABEL + If you wants to upload a build, you should set some additionnal information about your processor. There are two possibilities: + 1. You pickup a target processor from "ProcessorTargets.cmake": all you have to do is adding "-D PROC_TARGET_NUMBER:STRING=number" + to cmake's command line + If you choose the 'native' solution's number, you have to set the processor label manually by setting "-D PROC_FORCED_LABEL:STRING=procLabel" + in cmake's command line + Please provide a short name, like "core i5" or "athlon64" (without double quote)... processor frequency if of no use. + 2. You don't need specific processor flags, you still have to set the PROC_FORCED_LABEL parameter (see point 1 righ above) Eclipse does not do 'make install' but only 'make all' so to get the release there are 2 ways. 1. type 'make install' in the console or, diff --git a/ProcessorTargets.cmake b/ProcessorTargets.cmake index 43260a360..fab751b6e 100644 --- a/ProcessorTargets.cmake +++ b/ProcessorTargets.cmake @@ -11,23 +11,23 @@ set(PROC_TARGET_2_FLAGS "-march=native" CACHE STRING "Processor-2 flags") # The later choices is intended to be used if you want to provide specific builds, but it should match your own processor # You can cross compile but you have to know what you're doing, this mechanism has not been designed for that -set(PROC_TARGET_3_LABEL pentium/no-sse CACHE STRING "Processor-3 label - use it to provide a pentium/no sse optimized build, if you have this processor") -set(PROC_TARGET_3_FLAGS "-march=pentium -mfpmath=387" CACHE STRING "Processor-3 flags") +set(PROC_TARGET_3_LABEL pentium CACHE STRING "Processor-3 label - use it to provide a pentium optimized build, if you have this processor") +set(PROC_TARGET_3_FLAGS "-march=pentium" CACHE STRING "Processor-3 flags") set(PROC_TARGET_4_LABEL pentium4 CACHE STRING "Processor-4 label - use it to provide a pentium4 optimized build, if you have this processor") -set(PROC_TARGET_4_FLAGS "-march=pentium4 -mfpmath=sse" CACHE STRING "Processor-4 flags") +set(PROC_TARGET_4_FLAGS "-march=pentium4" CACHE STRING "Processor-4 flags") set(PROC_TARGET_5_LABEL core2 CACHE STRING "Processor-5 label - use it to provide a core2 optimized build, if you have this processor") -set(PROC_TARGET_5_FLAGS "-march=core2 -mfpmath=sse" CACHE STRING "Processor-5 flags") +set(PROC_TARGET_5_FLAGS "-march=core2" CACHE STRING "Processor-5 flags") set(PROC_TARGET_6_LABEL corei7 CACHE STRING "Processor-6 label - use it to provide a corei7 optimized build, if you have this processor") -set(PROC_TARGET_6_FLAGS "-march=corei7 -mfpmath=sse" CACHE STRING "Processor-6 flags") +set(PROC_TARGET_6_FLAGS "-march=corei7" CACHE STRING "Processor-6 flags") set(PROC_TARGET_7_LABEL athlon-4 CACHE STRING "Processor-7 label - use it to provide a athlon-4 optimized build, if you have this processor") -set(PROC_TARGET_7_FLAGS "-march=athlon-4 -mfpmath=sse" CACHE STRING "Processor-7 flags") +set(PROC_TARGET_7_FLAGS "-march=athlon-4" CACHE STRING "Processor-7 flags") set(PROC_TARGET_8_LABEL athlon64 CACHE STRING "Processor-8 label - use it to provide a athlon64 optimized build, if you have this processor") -set(PROC_TARGET_8_FLAGS "-march=pentium2 -mtune=athlon64 -mfpmath=sse" CACHE STRING "Processor-8 flags") +set(PROC_TARGET_8_FLAGS "-march=pentium2 -mtune=athlon64" CACHE STRING "Processor-8 flags") #set(PROC_TARGET__LABEL procLabel CACHE STRING "Processor- label") #set(PROC_TARGET__FLAGS "procFlags" CACHE STRING "Processor- flags") diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech index 6c17e5e94..6a7c9be0f 100644 --- a/rtdata/languages/Czech +++ b/rtdata/languages/Czech @@ -884,3 +884,34 @@ ZOOMPANEL_ZOOMOUT;Oddálit - !PARTIALPASTE_COARSETRANS;90 deg rotation / flipping +!ABOUT_TAB_CREDITS;Credits +!ABOUT_TAB_LICENSE;License +!ABOUT_TAB_SPLASH;Splash +!GENERAL_FILE;File +!GENERAL_NONE;None +!HISTORY_MSG_109;Resize bounding box +!HISTORY_MSG_110;Resizing applies to +!HISTORY_MSG_111;Avoid Color Clipping +!HISTORY_MSG_112;Saturation Limiter +!HISTORY_MSG_113;Saturation Limit +!HISTORY_MSG_114;DCB Iterations +!HISTORY_MSG_115;False color iterations +!HISTORY_MSG_116;Enhanced DCB +!HISTORY_MSG_117;Red CA correction +!HISTORY_MSG_118;Blue CA correction +!HISTORY_MSG_119;Line denoise +!HISTORY_MSG_120;Green equil. threshold +!HISTORY_MSG_121;Auto CA +!HISTORY_MSG_122;Auto Dark Frame +!HISTORY_MSG_123;Dark Frame File +!HISTORY_MSG_124;Linear exp. correction +!HISTORY_MSG_125;Expo. correction preserving HL +!TP_DARKFRAME_LABEL;Dark Frame +!TP_EXPOSCORR_LABEL;Exposure +!TP_PREPROCESS_NO_FOUND;None found +!TP_RAWEXPOS_LINEAR;Linear corr. factor +!TP_RAWEXPOS_PRESER;HL preserving corr. (EV) +!TP_RESIZE_APPLIESTO;Applies to: +!TP_RESIZE_CROPPEDAREA;Cropped area +!TP_RESIZE_FITBOX;Bounding box +!TP_RESIZE_FULLIMAGE;Full image diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK) index 1a7815264..0a9134cf3 100644 --- a/rtdata/languages/English (UK) +++ b/rtdata/languages/English (UK) @@ -1,4 +1,4 @@ - + #00 English (UK) #01 08.12.2010: Richard Regal @@ -35,843 +35,843 @@ TP_COLORDENOISE_LABEL;Colour Noise Reduction TP_COLORSHIFT_LABEL;Colour Shift TP_HLREC_COLOR;Colour Propagation TP_RAW_FALSECOLOR;False colour suppression steps - - -!!!!!!!!!!!!!!!!!!!!!!!!! -! Untranslated keys follow; remove the ! prefix after an entry is translated. -!!!!!!!!!!!!!!!!!!!!!!!!! - - -!ABOUT_TAB_BUILD;Version -!ABOUT_TAB_CREDITS;Credits -!ABOUT_TAB_LICENSE;License -!ABOUT_TAB_SPLASH;Splash -!ADJUSTER_RESET_TO_DEFAULT;Reset to default -!BATCHQUEUE_AUTOSTART;Auto start -!BATCH_PROCESSING;Batch processing -!CURVEEDITOR_CURVE;Curve -!CURVEEDITOR_CURVES;Curves -!CURVEEDITOR_CUSTOM;Custom -!CURVEEDITOR_DARKS;Darks -!CURVEEDITOR_FILEDLGFILTERANY;Any files -!CURVEEDITOR_FILEDLGFILTERCURVE;Curve files -!CURVEEDITOR_HIGHLIGHTS;Highlights -!CURVEEDITOR_LIGHTS;Lights -!CURVEEDITOR_LINEAR;Linear -!CURVEEDITOR_LOADDLGLABEL;Load Curve... -!CURVEEDITOR_NURBS;Control cage -!CURVEEDITOR_PARAMETRIC;Parametric -!CURVEEDITOR_SAVEDLGLABEL;Save Curve... -!CURVEEDITOR_SHADOWS;Shadows -!CURVEEDITOR_TOOLTIPLINEAR;Reset curve to linear -!CURVEEDITOR_TOOLTIPLOAD;Load a curve from file -!CURVEEDITOR_TOOLTIPSAVE;Save current curve -!CURVEEDITOR_TYPE;Type: -!EDITWINDOW_TITLE;Image Edit -!EXIFFILTER_APERTURE;Aperture -!EXIFFILTER_CAMERA;Camera -!EXIFFILTER_DIALOGLABEL;Exif Filter -!EXIFFILTER_FILETYPE;File Type -!EXIFFILTER_FOCALLEN;Focal Length -!EXIFFILTER_ISO;ISO -!EXIFFILTER_LENS;Lens -!EXIFFILTER_METADATAFILTER;Enable Metadata Filters -!EXIFFILTER_SHUTTER;Shutter -!EXIFPANEL_ADDEDIT;Add/Edit -!EXIFPANEL_ADDEDITHINT;Add new tag or edit tag -!EXIFPANEL_ADDTAGDLG_ENTERVALUE;Enter value -!EXIFPANEL_ADDTAGDLG_SELECTTAG;Select tag -!EXIFPANEL_ADDTAGDLG_TITLE;Add/Edit Tag -!EXIFPANEL_KEEP;Keep -!EXIFPANEL_KEEPHINT;Keep the selected tags when writing output file -!EXIFPANEL_REMOVE;Remove -!EXIFPANEL_REMOVEHINT;Remove the selected tags when writing output file -!EXIFPANEL_RESET;Reset -!EXIFPANEL_RESETALL;Reset All -!EXIFPANEL_RESETALLHINT;Reset all tags to their original values -!EXIFPANEL_RESETHINT;Reset the selected tags to their original values -!EXIFPANEL_SUBDIRECTORY;Subdirectory -!FILEBROWSER_ADDDELTEMPLATE;Add/Del templates... -!FILEBROWSER_APPLYPROFILE;Apply profile -!FILEBROWSER_ARRANGEMENTHINT;Change between vertical/horizontal alignment of thumbnails -!FILEBROWSER_AUTODARKFRAME;Auto dark frame -!FILEBROWSER_AUTOFLATFIELD;Auto flat field -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to browse to the chosen path -!FILEBROWSER_BROWSEPATHHINT;Type path to browse (Ctrl-o set focus,Ctrl-Enter to browse in File Browser) -!FILEBROWSER_CACHE;Cache -!FILEBROWSER_CACHECLEARFROMFULL;Clear from cache - full -!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear from cache - partial -!FILEBROWSER_CLEARPROFILE;Clear profile -!FILEBROWSER_COPYPROFILE;Copy profile -!FILEBROWSER_CURRENT_NAME;Current name: -!FILEBROWSER_DARKFRAME;Dark frame -!FILEBROWSER_DELETEDLGLABEL;File delete confirmation -!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files? -!FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files INCLUDING a batch processed version? -!FILEBROWSER_EMPTYTRASH;Empty Trash -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files of the trash -!FILEBROWSER_EXIFFILTERAPPLY;Apply -!FILEBROWSER_EXIFFILTERAPPLYHINT;Switch on/off exif filter of the file browser -!FILEBROWSER_EXIFFILTERLABEL;Exif Filter -!FILEBROWSER_EXIFFILTERSETTINGS;Setup -!FILEBROWSER_EXIFFILTERSETTINGSHINT;Change settings of the exif filter -!FILEBROWSER_FLATFIELD;Flat field -!FILEBROWSER_MOVETODARKFDIR;Move to dark frames directory -!FILEBROWSER_MOVETOFLATFIELDDIR;Move to flat fields directory -!FILEBROWSER_NEW_NAME;New name: -!FILEBROWSER_PARTIALPASTEPROFILE;Partial paste -!FILEBROWSER_PASTEPROFILE;Paste profile -!FILEBROWSER_POPUPCANCELJOB;Cancel job -!FILEBROWSER_POPUPCOPYTO;Copy to... -!FILEBROWSER_POPUPMOVEEND;Move to end of queue -!FILEBROWSER_POPUPMOVEHEAD;Move to head of queue -!FILEBROWSER_POPUPMOVETO;Move to... -!FILEBROWSER_POPUPOPEN;Open -!FILEBROWSER_POPUPPROCESS;Put to processing queue -!FILEBROWSER_POPUPRANK1;Rank 1 -!FILEBROWSER_POPUPRANK2;Rank 2 -!FILEBROWSER_POPUPRANK3;Rank 3 -!FILEBROWSER_POPUPRANK4;Rank 4 -!FILEBROWSER_POPUPRANK5;Rank 5 -!FILEBROWSER_POPUPREMOVE;Remove from filesystem -!FILEBROWSER_POPUPREMOVEINCLPROC;Remove from filesystem & batch result -!FILEBROWSER_POPUPREMOVESUBMENU;Remove -!FILEBROWSER_POPUPRENAME;Rename -!FILEBROWSER_POPUPSELECTALL;Select all -!FILEBROWSER_POPUPTRASH;Move to trash -!FILEBROWSER_POPUPUNRANK;Unrank -!FILEBROWSER_POPUPUNTRASH;Remove from trash -!FILEBROWSER_PROCESSINGSETTINGS;Settings -!FILEBROWSER_PROCESSINGSETTINGSHINT;Set the file format and output directory -!FILEBROWSER_RENAMEDLGLABEL;Rename file -!FILEBROWSER_RENAMEDLGMSG;Rename file "%1" to: -!FILEBROWSER_SELECTDARKFRAME;Select dark frame... -!FILEBROWSER_SELECTFLATFIELD;Select flat field... -!FILEBROWSER_SHOWDIRHINT;Show all images of the directory D -!FILEBROWSER_SHOWEXIFINFO;Show EXIF info i -!FILEBROWSER_SHOWQUEUEHINT;Show content of the processing queue -!FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1 star 1 -!FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2 star 2 -!FILEBROWSER_SHOWRANK3HINT;Show images ranked as 3 star 3 -!FILEBROWSER_SHOWRANK4HINT;Show images ranked as 4 star 4 -!FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5 star 5 -!FILEBROWSER_SHOWTRASHHINT;Show content of the trash T -!FILEBROWSER_SHOWUNRANKHINT;Show unranked images ` -!FILEBROWSER_STARTPROCESSING;Start processing -!FILEBROWSER_STARTPROCESSINGHINT;Start processing/saving of images in the queue -!FILEBROWSER_STOPPROCESSING;Stop processing -!FILEBROWSER_STOPPROCESSINGHINT;Stop processing of images -!FILEBROWSER_THUMBSIZE;Thumb. size -!FILEBROWSER_TOOLTIP_STOPPROCESSING;Start processing automatically when a new job arrives -!FILEBROWSER_USETEMPLATE;Use template: -!FILEBROWSER_ZOOMINHINT;Increase thumbnail size + -!FILEBROWSER_ZOOMOUTHINT;Decrease thumbnail size - -!GENERAL_ABOUT;About -!GENERAL_AFTER;After -!GENERAL_BEFORE;Before -!GENERAL_CANCEL;Cancel -!GENERAL_DISABLE;Disable -!GENERAL_DISABLED;Disabled -!GENERAL_ENABLE;Enable -!GENERAL_ENABLED;Enabled -!GENERAL_FILE;File -!GENERAL_HIGH_QUALITY;High Quality -!GENERAL_LANDSCAPE;Landscape -!GENERAL_LOAD;Load -!GENERAL_NA;n/a -!GENERAL_NO;No -!GENERAL_NONE;None -!GENERAL_OK;OK -!GENERAL_PORTRAIT;Portrait -!GENERAL_SAVE;Save -!GENERAL_UNCHANGED;(Unchanged) -!GENERAL_YES;Yes -!HISTOGRAM_BUTTON_B;B -!HISTOGRAM_BUTTON_G;G -!HISTOGRAM_BUTTON_L;L -!HISTOGRAM_BUTTON_R;R -!HISTOGRAM_LABEL;Histogram -!HISTOGRAM_TOOLTIP_B;Show/Hide BLUE histogram -!HISTOGRAM_TOOLTIP_G;Show/Hide GREEN histogram -!HISTOGRAM_TOOLTIP_L;Show/Hide CIELAB Luminance histogram -!HISTOGRAM_TOOLTIP_R;Show/Hide RED histogram -!HISTORY_CHANGED;Changed -!HISTORY_CUSTOMCURVE;Custom Curve -!HISTORY_DELSNAPSHOT;Del -!HISTORY_FROMCLIPBOARD;From clipboard -!HISTORY_LABEL;History -!HISTORY_MSG_100;RGB saturation -!HISTORY_MSG_101;HSV EQ -- Hue -!HISTORY_MSG_102;HSV EQ -- Saturation -!HISTORY_MSG_103;HSV EQ -- Value -!HISTORY_MSG_104;HSV Equalizer -!HISTORY_MSG_105;Defringing -!HISTORY_MSG_106;Defringing Radius -!HISTORY_MSG_107;Defringing Threshold -!HISTORY_MSG_108;Highlight Compr. Threshold -!HISTORY_MSG_109;Resize bounding box -!HISTORY_MSG_10;Shadow Compression -!HISTORY_MSG_110;Resizing applies to -!HISTORY_MSG_111;Avoid Color Clipping -!HISTORY_MSG_112;Saturation Limiter -!HISTORY_MSG_113;Saturation Limit -!HISTORY_MSG_114;DCB Iterations -!HISTORY_MSG_115;False color iterations -!HISTORY_MSG_116;Enhanced DCB -!HISTORY_MSG_117;Red CA correction -!HISTORY_MSG_118;Blue CA correction -!HISTORY_MSG_119;Line denoise -!HISTORY_MSG_11;Tone Curve -!HISTORY_MSG_120;Green equil. threshold -!HISTORY_MSG_121;Auto CA -!HISTORY_MSG_122;Auto Dark Frame -!HISTORY_MSG_123;Dark Frame File -!HISTORY_MSG_124;Linear exp. correction -!HISTORY_MSG_125;Expo. correction preserving HL -!HISTORY_MSG_126;Flat Field File -!HISTORY_MSG_127;Flat Field Auto Select -!HISTORY_MSG_128;Flat Field Blur Radius -!HISTORY_MSG_129;Flat Field Blur Type -!HISTORY_MSG_12;Auto Exposure -!HISTORY_MSG_13;Exposure Clipping -!HISTORY_MSG_14;Luminance Brightness -!HISTORY_MSG_15;Luminance Contrast -!HISTORY_MSG_16;Luminance Black -!HISTORY_MSG_17;Luminance Highlight Compr. -!HISTORY_MSG_18;Luminance Shadow Compr. -!HISTORY_MSG_19;'L' Curve -!HISTORY_MSG_1;Photo Loaded -!HISTORY_MSG_20;Sharpening -!HISTORY_MSG_21;Sharpening Radius -!HISTORY_MSG_22;Sharpening Amount -!HISTORY_MSG_23;Sharpening Threshold -!HISTORY_MSG_24;Sharpen Only Edges -!HISTORY_MSG_25;Sharpening Edge Detection Radius -!HISTORY_MSG_26;Sharpening Edge Tolerance -!HISTORY_MSG_27;Sharpening Halo Control -!HISTORY_MSG_28;Halo Control Amount -!HISTORY_MSG_29;Sharpening Method -!HISTORY_MSG_2;Profile Loaded -!HISTORY_MSG_30;Deconvolution Radius -!HISTORY_MSG_31;Deconvolution Amount -!HISTORY_MSG_32;Deconvolution Damping -!HISTORY_MSG_33;Deconvolution Iterations -!HISTORY_MSG_35;Saturation Limiter -!HISTORY_MSG_36;Saturation Limit -!HISTORY_MSG_38;White Balance Method -!HISTORY_MSG_40;White Balance Tint -!HISTORY_MSG_43;Luminance Denoising -!HISTORY_MSG_44;Lum. Denoising Radius -!HISTORY_MSG_45;Lum. Denoising Edge Tolerance -!HISTORY_MSG_50;Shadow/Highlight tool -!HISTORY_MSG_51;Highlight boost -!HISTORY_MSG_52;Shadow Boost -!HISTORY_MSG_53;Highlight Tonal Width -!HISTORY_MSG_54;Shadow Tonal Width -!HISTORY_MSG_55;Local Contrast -!HISTORY_MSG_56;Shadow/Highlight Radius -!HISTORY_MSG_57;Coarse Rotation -!HISTORY_MSG_58;Horizontal Flipping -!HISTORY_MSG_59;Vertical Flipping -!HISTORY_MSG_5;Brightness -!HISTORY_MSG_60;Rotation -!HISTORY_MSG_61;Auto Fill -!HISTORY_MSG_62;Lens Distortion Correction -!HISTORY_MSG_63;Snapshot Selected -!HISTORY_MSG_64;Crop Photo -!HISTORY_MSG_65;C/A Correction -!HISTORY_MSG_66;Highlight Recovery -!HISTORY_MSG_67;Highlight Recovery Amount -!HISTORY_MSG_68;Highlight Recovery Method -!HISTORY_MSG_72;Vignetting Correction -!HISTORY_MSG_73;Channel Mixer -!HISTORY_MSG_74;Resize Scale -!HISTORY_MSG_75;Resize Method -!HISTORY_MSG_76;Exif Metadata -!HISTORY_MSG_77;IPTC Metadata -!HISTORY_MSG_78;Data specified for resize -!HISTORY_MSG_79;Resize width -!HISTORY_MSG_80;Resize height -!HISTORY_MSG_81;Resize enabled -!HISTORY_MSG_82;Profile Changed -!HISTORY_MSG_83;High quality shadows/highlights -!HISTORY_MSG_84;Perspective correction -!HISTORY_MSG_85;Wavelet coefficients -!HISTORY_MSG_86;Wavelet equalizer -!HISTORY_MSG_87;Impulse noise reduction -!HISTORY_MSG_88;Impulse NR threshold -!HISTORY_MSG_89;Noise reduction -!HISTORY_MSG_8;Exposure Compensation -!HISTORY_MSG_90;NR - luminance -!HISTORY_MSG_91;NR - chrominance -!HISTORY_MSG_92;NR - gamma -!HISTORY_MSG_93;Contrast by detail levels value -!HISTORY_MSG_94;Contrast by detail levels -!HISTORY_MSG_95;Saturation -!HISTORY_MSG_96;'a' curve -!HISTORY_MSG_97;'b' curve -!HISTORY_MSG_99;Hot/dead pixel filtering -!HISTORY_NEWSNAPSHOT;Add -!HISTORY_NEWSNAPSHOTAS;As... -!HISTORY_NEWSSDIALOGLABEL;Label of the snapshot: -!HISTORY_NEWSSDIALOGTITLE;Add new snapshot -!HISTORY_SETTO;Set to -!HISTORY_SNAPSHOT;Snapshot -!HISTORY_SNAPSHOTS;Snapshots -!ICMPANEL_FILEDLGFILTERANY;Any files -!ICMPANEL_FILEDLGFILTERICM;ICC Profile Files -!ICMPANEL_GAMMABEFOREINPUT;Profile applies Gamma -!ICMPANEL_INPUTCAMERA;Camera default -!ICMPANEL_INPUTCUSTOM;Custom -!ICMPANEL_INPUTDLGLABEL;Select Input ICC Profile... -!ICMPANEL_INPUTEMBEDDED;Use Embedded, if possible -!ICMPANEL_INPUTPROFILE;Input Profile -!ICMPANEL_NOICM;No ICM: sRGB output -!ICMPANEL_OUTPUTDLGLABEL;Select Output ICC Profile... -!ICMPANEL_OUTPUTPROFILE;Output Profile -!ICMPANEL_SAVEREFERENCE;Save reference image for profiling -!ICMPANEL_WORKINGPROFILE;Working Profile -!IMAGEAREA_DETAILVIEW;Detail view -!IPTCPANEL_AUTHOR;Author -!IPTCPANEL_AUTHORHINT;Name of the creator of the object, e.g. writer, photographer or graphic artist (By-line). -!IPTCPANEL_AUTHORSPOSITION;Author's position -!IPTCPANEL_AUTHORSPOSITIONHINT;Title of the creator or creators of the object (By-line Title). -!IPTCPANEL_CAPTION;Caption -!IPTCPANEL_CAPTIONHINT;A textual description of the data (Caption - Abstract). -!IPTCPANEL_CAPTIONWRITER;Caption Writer -!IPTCPANEL_CAPTIONWRITERHINT;The name of the person involved in the writing, editing or correcting the image or caption/abstract (Writer - Editor). -!IPTCPANEL_CATEGORY;Category -!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider (Category). -!IPTCPANEL_CITY;City -!IPTCPANEL_CITYHINT;City of image origin (City). -!IPTCPANEL_COPYHINT;Copy IPTC settings to clipboard -!IPTCPANEL_COPYRIGHT;Copyright -!IPTCPANEL_COPYRIGHTHINT;Any necessary copyright notice (Copyright Notice). -!IPTCPANEL_COUNTRY;Country -!IPTCPANEL_COUNTRYHINT;The name of the country/primary location where the image was created (Country - Primary Location Name). -!IPTCPANEL_CREDIT;Credit -!IPTCPANEL_CREDITHINT;Identifies the provider of the image, not necessarily the owner/creator (Credit). -!IPTCPANEL_EMBEDDED;Embedded -!IPTCPANEL_EMBEDDEDHINT;Reset to IPTC data embedded in the image file -!IPTCPANEL_HEADLINE;Headline -!IPTCPANEL_HEADLINEHINT;A publishable entry providing a synopsis of the contents of the image (Headline). -!IPTCPANEL_INSTRUCTIONS;Instructions -!IPTCPANEL_INSTRUCTIONSHINT;Other editorial instructions concerning the use of the image (Special Instructions). -!IPTCPANEL_KEYWORDS;Keywords -!IPTCPANEL_KEYWORDSHINT;Used to indicate specific information retrieval words (Keywords). -!IPTCPANEL_PASTEHINT;Paste IPTC settings from clipboard -!IPTCPANEL_RESET;Reset -!IPTCPANEL_RESETHINT;Reset to profile default -!IPTCPANEL_SOURCE;Source -!IPTCPANEL_SOURCEHINT;The original owner of the intellectual content of the image (Source). -!IPTCPANEL_SUPPCATEGORIES;Suppl. Categories -!IPTCPANEL_SUPPCATEGORIESHINT;Further refines the subject of the image (Supplemental Categories). -!IPTCPANEL_TITLE;Title -!IPTCPANEL_TITLEHINT;A shorthand reference for the image (Object Name). -!IPTCPANEL_TRANSREFERENCE;Trans. Reference -!IPTCPANEL_TRANSREFERENCEHINT;A code representing the location of original transmission (Original Transmission Reference). -!MAIN_BUTTON_EXIT;Exit -!MAIN_BUTTON_FULLSCREEN;Fullscreen -!MAIN_BUTTON_PREFERENCES;Preferences -!MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue Ctrl+Q -!MAIN_BUTTON_QUEUE;Put to queue -!MAIN_BUTTON_SAVE_TOOLTIP;Save current image Ctrl+S -!MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor Ctrl+E -!MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Show/hide all side panels m -!MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen -!MAIN_FRAME_BATCHQUEUE;Batch Queue -!MAIN_FRAME_BATCHQUEUE_TOOLTIP; Batch Queue Ctrl-F3 -!MAIN_FRAME_EDITOR;Editor -!MAIN_FRAME_EDITOR_TOOLTIP; Editor Ctrl-F4 -!MAIN_FRAME_FILEBROWSER;File Browser -!MAIN_FRAME_FILEBROWSER_TOOLTIP; File Browser Ctrl-F2 -!MAIN_FRAME_PLACES;Places -!MAIN_FRAME_PLACES_ADD;Add -!MAIN_FRAME_PLACES_DEL;Del -!MAIN_FRAME_RECENT;Recent Folders -!MAIN_MSG_ALREADYEXISTS;File already exists. -!MAIN_MSG_CANNOTLOAD;Cannot load image -!MAIN_MSG_CANNOTSAVE;File saving error -!MAIN_MSG_CANNOTSTARTEDITOR;Can not start editor. -!MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Please set the correct path in the "Preferences" dialog. -!MAIN_MSG_ERRORDURINGIMAGESAVING;Error during image saving -!MAIN_MSG_EXITJOBSINQUEUEINFO;Unprocessed images in the queue will be lost on exit. -!MAIN_MSG_EXITJOBSINQUEUEQUEST;Are you sure you want to exit? There are unprocessed images waiting in the queue. -!MAIN_MSG_JOBSINQUEUE;job(s) in the queue -!MAIN_MSG_NAVIGATOR;Navigator -!MAIN_MSG_PLACES;Places -!MAIN_MSG_QOVERWRITE;Do you want to overwrite it? -!MAIN_TAB_BASIC;Basic -!MAIN_TAB_COLOR_TOOLTIP;Alt-c -!MAIN_TAB_DETAIL;Detail -!MAIN_TAB_DETAIL_TOOLTIP;Alt-d -!MAIN_TAB_DEVELOP;Develop -!MAIN_TAB_EXIF;Exif -!MAIN_TAB_EXPOSURE;Exposure -!MAIN_TAB_EXPOSURE_TOOLTIP;Alt-e -!MAIN_TAB_FILTER;Filter -!MAIN_TAB_ICM;ICM -!MAIN_TAB_IPTC;IPTC -!MAIN_TAB_METADATA;Metadata -!MAIN_TAB_METADATA_TOOLTIP;Alt-m -!MAIN_TAB_RAW;RAW -!MAIN_TAB_RAW_TOOLTIP;Alt-r -!MAIN_TAB_TAGGING;Tagging -!MAIN_TAB_TRANSFORM;Transform -!MAIN_TAB_TRANSFORM_TOOLTIP;Alt-t -!MAIN_TOGGLE_BEFORE_AFTER;B|A -!MAIN_TOOLTIP_HIDEFP;Show/hide the bottom panel (directory and file browser) F -!MAIN_TOOLTIP_HIDEHP;Show/hide the left panel (including the history) l -!MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication (Key <) -!MAIN_TOOLTIP_INDCLIPPEDS;Clipped shadow indication (Key >) -!MAIN_TOOLTIP_PREFERENCES;Set preferences -!MAIN_TOOLTIP_QINFO;Quick info on the image I -!MAIN_TOOLTIP_SAVE;Save image to the default folder -!MAIN_TOOLTIP_SAVEAS;Save image to a selected folder -!MAIN_TOOLTIP_SHOWHIDELP1;Show/hide the left panel l -!MAIN_TOOLTIP_SHOWHIDERP1;Show/hide the right panel Alt-l -!MAIN_TOOLTIP_SHOWHIDETP1;Show/hide the top panel Shift-l -!MAIN_TOOLTIP_TOGGLE;Toggle before/after view B -!NAVIGATOR_B_NA;B = n/a -!NAVIGATOR_B_VALUE;B = %1 -!NAVIGATOR_G_NA;G = n/a -!NAVIGATOR_G_VALUE;G = %1 -!NAVIGATOR_H_NA;H = n/a -!NAVIGATOR_H_VALUE;H = %1 -!NAVIGATOR_LAB_A_NA;A = n/a -!NAVIGATOR_LAB_A_VALUE;A = %1 -!NAVIGATOR_LAB_B_NA;B = n/a -!NAVIGATOR_LAB_B_VALUE;B = %1 -!NAVIGATOR_LAB_L_NA;L = n/a -!NAVIGATOR_LAB_L_VALUE;L = %1 -!NAVIGATOR_R_NA;R = n/a -!NAVIGATOR_R_VALUE;R = %1 -!NAVIGATOR_S_NA;S = n/a -!NAVIGATOR_S_VALUE;S = %1 -!NAVIGATOR_V_NA;V = n/a -!NAVIGATOR_V_VALUE;V = %1 -!NAVIGATOR_XY_NA;x = n/a, y = n/a -!PARTIALPASTE_BASICGROUP;Basic settings -!PARTIALPASTE_CACORRECTION;C/A correction -!PARTIALPASTE_COARSETRANS;90 deg rotation / flipping -!PARTIALPASTE_COMPOSITIONGROUP;Composition settings -!PARTIALPASTE_CROP;Crop -!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select -!PARTIALPASTE_DARKFRAMEFILE;Dark Frame File -!PARTIALPASTE_DIALOGLABEL;Partial paste processing profile -!PARTIALPASTE_DIRPYRDENOISE;Noise reduction -!PARTIALPASTE_DIRPYREQUALIZER;Contrast by detail levels -!PARTIALPASTE_DISTORTION;Distortion correction -!PARTIALPASTE_EVERYTHING;Everything -!PARTIALPASTE_EXIFCHANGES;Changes to exif data -!PARTIALPASTE_EXPOSURE;Exposure -!PARTIALPASTE_FLATFIELDAUTOSELECT;FF Auto Select -!PARTIALPASTE_FLATFIELDBLURRADIUS;FF Blur Radius -!PARTIALPASTE_FLATFIELDBLURTYPE;FF Blur Type -!PARTIALPASTE_FLATFIELDFILE;Flat field (FF) File -!PARTIALPASTE_HLRECOVERY;Highlight recovery -!PARTIALPASTE_HLRECOVERYAMOUNT;Highlight recovery amount -!PARTIALPASTE_HLRECOVERYTHRESHOLD;Highlight recovery threshold -!PARTIALPASTE_HSVEQUALIZER;HSV Equalizer -!PARTIALPASTE_ICMSETTINGS;ICM settings -!PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction -!PARTIALPASTE_IPTCINFO;IPTC info -!PARTIALPASTE_LABCURVE;Lab curve -!PARTIALPASTE_LENSGROUP;Lens related settings -!PARTIALPASTE_LUMADENOISE;Luminance noise reduction -!PARTIALPASTE_LUMINANCEGROUP;Luminance related settings -!PARTIALPASTE_METAICMGROUP;Metadata/ICM settings -!PARTIALPASTE_RAWGROUP;Raw settings -!PARTIALPASTE_RESIZE;Resize -!PARTIALPASTE_ROTATION;Rotation -!PARTIALPASTE_SHADOWSHIGHLIGHTS;Shadows/Highlights -!PARTIALPASTE_SHARPENING;Sharpening -!PARTIALPASTE_VIGNETTING;Vignetting correction -!PARTIALPASTE_WAVELETEQUALIZER;Wavelet equalizer -!PARTIALPASTE_WHITEBALANCE;White balance -!POPUPBUTTON_SELECTOPTIONHINT;RMB to change option -!PREFERENCES_ADD;ADD -!PREFERENCES_APPLNEXTSTARTUP;restart required -!PREFERENCES_BATCH_PROCESSING;Batch Processing -!PREFERENCES_BLINKCLIPPED;Blink clipped areas -!PREFERENCES_CACHECLEARALL;Clear All -!PREFERENCES_CACHECLEARPROFILES;Clear Profiles -!PREFERENCES_CACHECLEARTHUMBS;Clear Thumbnails -!PREFERENCES_CACHEFORMAT1;Proprietary (faster and better quality) -!PREFERENCES_CACHEFORMAT2;JPEG (smaller disk footprint) -!PREFERENCES_CACHEOPTS;Cache Options -!PREFERENCES_CACHESTRAT1;Prefer Speed to Low Memory Consumption -!PREFERENCES_CACHESTRAT2;Prefer Low Memory Consumption to Speed -!PREFERENCES_CACHESTRAT;Cache Strategy -!PREFERENCES_CACHETHUMBFORM;Cache Thumbnail Format -!PREFERENCES_CLIPPINGIND;Clipping indication -!PREFERENCES_CMETRICINTENT;Colorimetric Intent -!PREFERENCES_CUTOVERLAYBRUSH;Cut overlay brush -!PREFERENCES_DARKFRAME;Dark frame -!PREFERENCES_DARKFRAMEFOUND;Found -!PREFERENCES_DARKFRAMESHOTS;shots -!PREFERENCES_DARKFRAMETEMPLATES;templates -!PREFERENCES_DATEFORMAT;Date Format -!PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:n%y : yearn%m : monthn%d : daynnFor example, the hungarian date format is:n%y/%m/%d -!PREFERENCES_DEFAULTLANG;Default language -!PREFERENCES_DEFAULTTHEME;Default theme -!PREFERENCES_DEMOSAICINGALGO;Demosaicing Algorithm -!PREFERENCES_DIRDARKFRAMES;Dark frames directory -!PREFERENCES_DIRHOME;Home directory -!PREFERENCES_DIRLAST;Last visited directory -!PREFERENCES_DIROTHER;Other -!PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup... -!PREFERENCES_DIRSOFTWARE;Installation directory -!PREFERENCES_EDITORCMDLINE;Other command line -!PREFERENCES_EDITORLAYOUT;Editor Layout -!PREFERENCES_EXTERNALEDITOR;External editor -!PREFERENCES_FBROWSEROPTS;File Browser Options -!PREFERENCES_FILEFORMAT;File format -!PREFERENCES_FLATFIELD;Flat Field -!PREFERENCES_FLATFIELDFOUND;Found -!PREFERENCES_FLATFIELDSDIR;Flat Fields directory -!PREFERENCES_FLATFIELDSHOTS;shots -!PREFERENCES_FLATFIELDTEMPLATES;templates -!PREFERENCES_FORIMAGE;For image files -!PREFERENCES_FORRAW;For RAW files -!PREFERENCES_GIMPPATH;GIMP installation directory -!PREFERENCES_GTKTHEME;GTK default -!PREFERENCES_HINT;Hint -!PREFERENCES_HLTHRESHOLD;Threshold for clipped highlights -!PREFERENCES_ICCDIR;Directory of ICC profiles -!PREFERENCES_IMPROCPARAMS;Default image processing parameters -!PREFERENCES_INTENT_ABSOLUTE;Absolute Colorimetric -!PREFERENCES_INTENT_PERCEPTUAL;Perceptual -!PREFERENCES_INTENT_RELATIVE;Relative Colorimetric -!PREFERENCES_INTENT_SATURATION;Saturation -!PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower) -!PREFERENCES_METADATA;Metadata -!PREFERENCES_MONITORICC;Monitor Profile -!PREFERENCES_MULTITAB;Multiple tabs mode -!PREFERENCES_MULTITABDUALMON;Multiple tabs mode, if available on second monitor -!PREFERENCES_OUTDIR;Output Directory -!PREFERENCES_OUTDIRFOLDER;Save to folder -!PREFERENCES_OUTDIRFOLDERHINT;Put the saved images to the selected folder -!PREFERENCES_OUTDIRHINT;You can use the following formatting strings:n%f, %d1, %d2, ..., %p1, %p2, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n/home/tom/photos/2010-10-31/dsc0042.nefnthe meaning of the formatting strings are:n%d4 = homen%d3 = tomn%d2 = photosn%d1 = 2010-10-31n%f = dsc0042n%p1 = /home/tom/photos/2010-10-31/n%p2 = /home/tom/photos/n%p3 = /home/tom/n%p4 = /home/nnIf you want to save the output image where the original is, write:n%p1/%fnnIf you want to save the output image in a directory named "converted" located in the directory of the opened image, write:n%p1/converted/%fnnIf you want to save the output image in a directory named "/home/tom/photos/converted/2010-10-31", write:n%p2/converted/%d1/%f -!PREFERENCES_OUTDIRTEMPLATE;Use Template -!PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:n%f, %d1, %d2, ..., %p1, %p2, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n/home/tom/photos/2010-10-31/dsc0042.nefnthe meaning of the formatting strings are:n%d4 = homen%d3 = tomn%d2 = photosn%d1 = 2010-10-31n%f = dsc0042n%p1 = /home/tom/photos/2010-10-31/n%p2 = /home/tom/photos/n%p3 = /home/tom/n%p4 = /home/nnIf you want to save the output image where the original is, write:n%p1/%fnnIf you want to save the output image in a directory named "converted" located in the directory of the opened image, write:n%p1/converted/%fnnIf you want to save the output image in a directory named "/home/tom/photos/converted/2010-10-31", write:n%p2/converted/%d1/%f -!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails -!PREFERENCES_OVERWRITEOUTPUTFILE;Overwrite existing output files -!PREFERENCES_PARSEDEXT;Parsed Extensions -!PREFERENCES_PARSEDEXTADD;Add Extension -!PREFERENCES_PARSEDEXTADDHINT;Type an extension and press this button to append list -!PREFERENCES_PARSEDEXTDELHINT;Delete selected extension from the list -!PREFERENCES_PROFILEHANDLING;Processing Profile Handling -!PREFERENCES_PROFILELOADPR;Profile Loading Priority -!PREFERENCES_PROFILEPRCACHE;Profile in cache -!PREFERENCES_PROFILEPRFILE;Profile next to the input file -!PREFERENCES_PROFILESAVECACHE;Save processing parameters to the cache -!PREFERENCES_PROFILESAVEINPUT;Save processing parameters next to the input file -!PREFERENCES_PROPERTY;Property -!PREFERENCES_PSPATH;Adobe Photoshop installation directory -!PREFERENCES_SELECTFONT;Select font -!PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory... -!PREFERENCES_SELECTLANG;Select language -!PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display... -!PREFERENCES_SELECTTHEME;Select theme -!PREFERENCES_SET;SET -!PREFERENCES_SHOWBASICEXIF;Show basic Exif info -!PREFERENCES_SHOWDATETIME;Show date and time -!PREFERENCES_SHOWONLYRAW;Show only RAW files -!PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows -!PREFERENCES_SINGLETAB;Single tab mode -!PREFERENCES_SINGLETABVERTAB;Single tab mode, vertical tabs -!PREFERENCES_SND_BATCHQUEUEDONE;Batch queue done -!PREFERENCES_SND_HELP;Either enter filepath or nothing (for no sound). On Windows use "SystemDefault", "SystemAsterisk" etc. for system sounds. -!PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done -!PREFERENCES_SND_TRESHOLDSECS;after secs -!PREFERENCES_STARTUPIMDIR;Image directory at startup -!PREFERENCES_TAB_BROWSER;File Browser -!PREFERENCES_TAB_GENERAL;General -!PREFERENCES_TAB_IMPROC;Image Processing -!PREFERENCES_TAB_OUTPUT;Output Options -!PREFERENCES_TAB_SOUND;Sounds -!PREFERENCES_THUMBSIZE;Thumbnail Size -!PREFERENCES_TUNNELMETADATA;Copy IPTC/XMP unchanged to output file (when tagging with other program) -!PREFERENCES_USESYSTEMTHEME; Use System Theme -!PREFERENCES_WORKFLOW;Workflow -!PROFILEPANEL_FILEDLGFILTERANY;Any files -!PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles -!PROFILEPANEL_LABEL;Postprocessing Profiles -!PROFILEPANEL_LOADDLGLABEL;Load Postprocessing Parameters... -!PROFILEPANEL_PCUSTOM;Custom -!PROFILEPANEL_PFILE;From file -!PROFILEPANEL_PLASTPHOTO;Last Photo -!PROFILEPANEL_PLASTSAVED;Last Saved -!PROFILEPANEL_PROFILE;Profile -!PROFILEPANEL_SAVEDLGLABEL;Save Postprocessing Parameters... -!PROFILEPANEL_TOOLTIPCOPY;Copy current profile to clipboard -!PROFILEPANEL_TOOLTIPLOAD;Load a profile from file -!PROFILEPANEL_TOOLTIPPASTE; Paste profile from clipboard -!PROFILEPANEL_TOOLTIPSAVE;Save current profile -!PROGRESSBAR_DECODING;Decoding raw file... -!PROGRESSBAR_DEMOSAICING;Demosaicing... -!PROGRESSBAR_LOADING;Loading Image... -!PROGRESSBAR_LOADJPEG;Loading JPEG file... -!PROGRESSBAR_LOADPNG;Loading PNG file... -!PROGRESSBAR_LOADTIFF;Loading TIFF file... -!PROGRESSBAR_PROCESSING;Processing Image... -!PROGRESSBAR_READY;Ready. -!PROGRESSBAR_SAVEJPEG;Saving JPEG file... -!PROGRESSBAR_SAVEPNG;Saving PNG file... -!PROGRESSBAR_SAVETIFF;Saving TIFF file... -!PROGRESSDLG_LOADING;Loading file... -!PROGRESSDLG_PROCESSING;Processing image... -!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser -!PROGRESSDLG_SAVING;Saving file... -!QINFO_FOCALLENGTH;Focal length -!QINFO_ISO;ISO -!QINFO_LENS;Lens -!QINFO_NOEXIF;Exif data not available. -!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists -!SAVEDLG_FILEFORMAT;File format -!SAVEDLG_JPEGQUAL;JPEG Quality -!SAVEDLG_JPGFILTER;JPEG files -!SAVEDLG_PNGCOMPR;PNG Compression -!SAVEDLG_PNGFILTER;PNG files -!SAVEDLG_PUTTOQUEUE;Put into processing queue -!SAVEDLG_PUTTOQUEUEHEAD;Put to the head of the processing queue -!SAVEDLG_PUTTOQUEUETAIL;Put to the end of the processing queue -!SAVEDLG_SAVEIMMEDIATELY;Save immediately -!SAVEDLG_SAVESPP;Save processing parameters with image -!SAVEDLG_TIFFFILTER;TIFF files -!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF -!TOOLBAR_TOOLTIP_CROP;Crop selection C -!TOOLBAR_TOOLTIP_HAND;Hand tool H -!TOOLBAR_TOOLTIP_STRAIGHTEN;Straight line selection S -!TOOLBAR_TOOLTIP_WB;Spot white balance W -!TP_CACORRECTION_BLUE;Blue -!TP_CACORRECTION_LABEL;C/A Correction -!TP_CACORRECTION_RED;Red -!TP_CHMIXER_BLUE;Blue -!TP_CHMIXER_GREEN;Green -!TP_CHMIXER_LABEL;Channel Mixer -!TP_CHMIXER_RED;Red -!TP_CHROMATABERR_LABEL;Chromatic Aberration -!TP_COARSETRAF_DEGREE;degree: -!TP_COARSETRAF_TOOLTIP_HFLIP;Flip horizontally -!TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotate left [ -!TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right ] -!TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically -!TP_COLORBOOST_ACHANNEL;Channel "a" -!TP_COLORBOOST_AMOUNT;Amount -!TP_COLORBOOST_BCHANNEL;Channel "b" -!TP_COLORBOOST_CHAB;a & b -!TP_COLORBOOST_CHANNEL;Channel -!TP_COLORBOOST_CHSEPARATE;separate -!TP_COLORBOOST_ENABLESATLIMITER;Enable saturation limiter -!TP_COLORBOOST_SATLIMIT;Saturation limit -!TP_COLORDENOISE_EDGESENSITIVE;Edge Sensitive -!TP_COLORDENOISE_EDGETOLERANCE;Edge Tolerance -!TP_COLORDENOISE_RADIUS;Radius -!TP_COLORSHIFT_BLUEYELLOW;Blue-Yellow -!TP_COLORSHIFT_GREENMAGENTA;Green-Magenta -!TP_CROP_DPI;DPI= -!TP_CROP_FIXRATIO;Fix Ratio: -!TP_CROP_GTDIAGONALS;Rule of diagonals -!TP_CROP_GTGRID;Grid -!TP_CROP_GTHARMMEANS1;Harmonic means 1 -!TP_CROP_GTHARMMEANS2;Harmonic means 2 -!TP_CROP_GTHARMMEANS3;Harmonic means 3 -!TP_CROP_GTHARMMEANS4;Harmonic means 4 -!TP_CROP_GTNONE;None -!TP_CROP_GTRULETHIRDS;Rule of thirds -!TP_CROP_GUIDETYPE;Guide Type: -!TP_CROP_H;H -!TP_CROP_LABEL;Crop -!TP_CROP_SELECTCROP; Select Crop -!TP_CROP_W;W -!TP_CROP_X;x -!TP_CROP_Y;y -!TP_DARKFRAME_AUTOSELECT;Auto selection -!TP_DARKFRAME_LABEL;Dark Frame -!TP_DEFRINGE_LABEL;Defringe -!TP_DEFRINGE_RADIUS;Radius -!TP_DEFRINGE_THRESHOLD;Threshold -!TP_DETAIL_AMOUNT;Amount -!TP_DIRPYRDENOISE_CHROMA;Chrominance -!TP_DIRPYRDENOISE_GAMMA;Gamma -!TP_DIRPYRDENOISE_LABEL;Noise reduction -!TP_DIRPYRDENOISE_LUMA;Luminance -!TP_DIRPYREQUALIZER_LABEL;Contrast by detail levels -!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest -!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast- -!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+ -!TP_DIRPYREQUALIZER_LUMAFINEST;Finest -!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral -!TP_DIRPYREQUALIZER_THRESHOLD;Threshold -!TP_DISTORTION_AMOUNT;Amount -!TP_DISTORTION_LABEL;Distortion -!TP_EQUALIZER_CONTRAST_MINUS;Contrast- -!TP_EQUALIZER_CONTRAST_PLUS;Contrast+ -!TP_EQUALIZER_FINEST;finest -!TP_EQUALIZER_LABEL;Wavelet equalizer -!TP_EQUALIZER_LARGEST;coarsest -!TP_EQUALIZER_NEUTRAL;Neutral -!TP_EXPOSCORR_LABEL;Exposure -!TP_EXPOSURE_AUTOLEVELS;Auto Levels -!TP_EXPOSURE_BLACKLEVEL;Black -!TP_EXPOSURE_BRIGHTNESS;Brightness -!TP_EXPOSURE_CLIP;Clip -!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight recovery amount -!TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Highlight recovery threshold -!TP_EXPOSURE_COMPRSHADOWS;Shadow recovery -!TP_EXPOSURE_CONTRAST;Contrast -!TP_EXPOSURE_CURVEEDITOR;Tone Curve -!TP_EXPOSURE_EXPCOMP;Exp. Comp. -!TP_EXPOSURE_LABEL;Exposure -!TP_EXPOSURE_SATURATION;Saturation -!TP_FLATFIELD_AUTOSELECT;Auto selection -!TP_FLATFIELD_BLURRADIUS;Blur Radius -!TP_FLATFIELD_BLURTYPE;Blur Type -!TP_FLATFIELD_BT_AREA;Area -!TP_FLATFIELD_BT_HORIZONTAL;Horizontal -!TP_FLATFIELD_BT_VERTHORIZ;Vert. + Horiz. -!TP_FLATFIELD_BT_VERTICAL;Vertical -!TP_FLATFIELD_LABEL;Flat Field -!TP_HLREC_CIELAB;CIELab Blending -!TP_HLREC_LABEL;Highlight Reconstruction -!TP_HLREC_LUMINANCE;Luminance Recovery -!TP_HLREC_METHOD;Method: -!TP_HSVEQUALIZER1;Red -!TP_HSVEQUALIZER2;Yellow -!TP_HSVEQUALIZER3;Lime -!TP_HSVEQUALIZER4;Green -!TP_HSVEQUALIZER5;Aqua -!TP_HSVEQUALIZER6;Blue -!TP_HSVEQUALIZER7;Purple -!TP_HSVEQUALIZER8;Magenta -!TP_HSVEQUALIZER_CHANNEL;HSV Channel -!TP_HSVEQUALIZER_HUE;Hue -!TP_HSVEQUALIZER_LABEL;HSV Equalizer -!TP_HSVEQUALIZER_NEUTRAL;Neutral -!TP_HSVEQUALIZER_SAT;Saturation -!TP_HSVEQUALIZER_VAL;Value -!TP_ICM_FILEDLGFILTERANY;Any files -!TP_ICM_FILEDLGFILTERICM;ICC Profile Files -!TP_ICM_GAMMABEFOREINPUT;Profile applies Gamma -!TP_ICM_INPUTCAMERA;Camera default -!TP_ICM_INPUTCUSTOM;Custom -!TP_ICM_INPUTDLGLABEL;Select Input ICC Profile... -!TP_ICM_INPUTEMBEDDED;Use Embedded, if possible -!TP_ICM_INPUTNONE;No profile -!TP_ICM_INPUTPROFILE;Input Profile -!TP_ICM_LABEL;ICM -!TP_ICM_NOICM;No ICM: sRGB output -!TP_ICM_OUTPUTDLGLABEL;Select Output ICC Profile... -!TP_ICM_OUTPUTPROFILE;Output Profile -!TP_ICM_SAVEREFERENCE;Save reference image for profiling -!TP_ICM_WORKINGPROFILE;Working Profile -!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction -!TP_IMPULSEDENOISE_THRESH;Impulse NR Threshold -!TP_LABCURVE_AVOIDCOLORCLIP;Avoid color clipping -!TP_LABCURVE_BRIGHTNESS;Brightness -!TP_LABCURVE_CONTRAST;Contrast -!TP_LABCURVE_CURVEEDITOR;Luminance Curve -!TP_LABCURVE_ENABLESATLIMITER;Enable saturation limiter -!TP_LABCURVE_LABEL;Lab Adjustments -!TP_LABCURVE_SATLIMIT;Saturation limit -!TP_LABCURVE_SATURATION;Saturation -!TP_LENSGEOM_AUTOCROP;Auto Crop -!TP_LENSGEOM_FILL;Auto Fill -!TP_LENSGEOM_LABEL;Lens / Geometry -!TP_LUMADENOISE_EDGETOLERANCE;Edge Tolerance -!TP_LUMADENOISE_LABEL;Luminance Noise Reduction -!TP_LUMADENOISE_RADIUS;Radius -!TP_PERSPECTIVE_HORIZONTAL;Horizontal -!TP_PERSPECTIVE_LABEL;Perspective -!TP_PERSPECTIVE_VERTICAL;Vertical -!TP_PREPROCESS_GREENEQUIL;Green equilibration -!TP_PREPROCESS_HOTDEADPIXFILT;Apply hot/dead pixel filter -!TP_PREPROCESS_LABEL;Preprocessing -!TP_PREPROCESS_LINEDENOISE;Line noise filter -!TP_PREPROCESS_NO_FOUND;None found -!TP_RAWCACORR_AUTO;Auto correction -!TP_RAWCACORR_CABLUE;Blue -!TP_RAWCACORR_CARED;Red -!TP_RAWEXPOS_LINEAR;Linear corr. factor -!TP_RAWEXPOS_PRESER;HL preserving corr. (EV) -!TP_RAW_DCBENHANCE;Apply DCB enhancement step -!TP_RAW_DCBITERATIONS;Number of DCB iterations -!TP_RAW_DMETHOD;Method -!TP_RAW_LABEL;Demosaicing -!TP_RESIZE_APPLIESTO;Applies to: -!TP_RESIZE_BICUBIC;Bicubic -!TP_RESIZE_BICUBICSF;Bicubic (Softer) -!TP_RESIZE_BICUBICSH;Bicubic (Sharper) -!TP_RESIZE_BILINEAR;Bilinear -!TP_RESIZE_CROPPEDAREA;Cropped area -!TP_RESIZE_DOWNSCALEB;Downscale (Better) -!TP_RESIZE_DOWNSCALEF;Downscale (Faster) -!TP_RESIZE_FITBOX;Bounding box -!TP_RESIZE_FULLIMAGE;Full image -!TP_RESIZE_FULLSIZE;Full Image Size: -!TP_RESIZE_H;H: -!TP_RESIZE_HEIGHT;Height -!TP_RESIZE_LABEL;Resize -!TP_RESIZE_LANCZOS;Lanczos -!TP_RESIZE_METHOD;Method: -!TP_RESIZE_NEAREST;Nearest -!TP_RESIZE_SCALE;Scale -!TP_RESIZE_SPECIFY;Specify: -!TP_RESIZE_W;W: -!TP_RESIZE_WIDTH;Width -!TP_ROTATE_DEGREE;Degree -!TP_ROTATE_LABEL;Rotate -!TP_ROTATE_SELECTLINE; Select Straight Line -!TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights -!TP_SHADOWSHLIGHTS_HLTONALW;Tonal Width for Highlights -!TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights -!TP_SHADOWSHLIGHTS_LOCALCONTR;Local Contrast -!TP_SHADOWSHLIGHTS_RADIUS;Radius -!TP_SHADOWSHLIGHTS_SHADOWS;Shadows -!TP_SHADOWSHLIGHTS_SHTONALW;Tonal Width for Shadows -!TP_SHARPENING_AMOUNT;Amount -!TP_SHARPENING_EDRADIUS;Radius -!TP_SHARPENING_EDTOLERANCE;Edge tolerance -!TP_SHARPENING_HALOCONTROL;Halo control -!TP_SHARPENING_HCAMOUNT;Amount -!TP_SHARPENING_LABEL;Sharpening -!TP_SHARPENING_METHOD;Method -!TP_SHARPENING_ONLYEDGES;Sharpen only edges -!TP_SHARPENING_RADIUS;Radius -!TP_SHARPENING_RLD;RL Deconvolution -!TP_SHARPENING_RLD_AMOUNT;Amount -!TP_SHARPENING_RLD_DAMPING;Damping -!TP_SHARPENING_RLD_ITERATIONS;Iterations -!TP_SHARPENING_THRESHOLD;Threshold -!TP_SHARPENING_USM;Unsharp Mask -!TP_VIGNETTING_AMOUNT;Amount -!TP_VIGNETTING_CENTER;Center -!TP_VIGNETTING_CENTER_X;Center X -!TP_VIGNETTING_CENTER_Y;Center Y -!TP_VIGNETTING_LABEL;Vignetting Correction -!TP_VIGNETTING_RADIUS;Radius -!TP_VIGNETTING_STRENGTH;Strength -!TP_WBALANCE_AUTO;Auto -!TP_WBALANCE_CAMERA;Camera -!TP_WBALANCE_CUSTOM;Custom -!TP_WBALANCE_GREEN;Tint -!TP_WBALANCE_LABEL;White Balance -!TP_WBALANCE_METHOD;Method -!TP_WBALANCE_SIZE;Size: -!TP_WBALANCE_SPOTWB;Spot WB -!TP_WBALANCE_TEMPERATURE;Temperature -!ZOOMBAR_DETAIL;Detail -!ZOOMBAR_HUGE;Huge -!ZOOMBAR_LARGE;Large -!ZOOMBAR_NORMAL;Normal -!ZOOMBAR_PREVIEW;Preview -!ZOOMBAR_SCALE;Scale -!ZOOMBAR_SMALL;Small -!ZOOMPANEL_100;(100%) -!ZOOMPANEL_NEWCROPWINDOW;Open (new) detail window -!ZOOMPANEL_ZOOM100;Zoom to 100% 1 -!ZOOMPANEL_ZOOMFITSCREEN;Fit to screen F -!ZOOMPANEL_ZOOMIN;Zoom In + -!ZOOMPANEL_ZOOMOUT;Zoom Out - + + +!!!!!!!!!!!!!!!!!!!!!!!!! +! Untranslated keys follow; remove the ! prefix after an entry is translated. +!!!!!!!!!!!!!!!!!!!!!!!!! + + +!ABOUT_TAB_BUILD;Version +!ABOUT_TAB_CREDITS;Credits +!ABOUT_TAB_LICENSE;License +!ABOUT_TAB_SPLASH;Splash +!ADJUSTER_RESET_TO_DEFAULT;Reset to default +!BATCHQUEUE_AUTOSTART;Auto start +!BATCH_PROCESSING;Batch processing +!CURVEEDITOR_CURVE;Curve +!CURVEEDITOR_CURVES;Curves +!CURVEEDITOR_CUSTOM;Custom +!CURVEEDITOR_DARKS;Darks +!CURVEEDITOR_FILEDLGFILTERANY;Any files +!CURVEEDITOR_FILEDLGFILTERCURVE;Curve files +!CURVEEDITOR_HIGHLIGHTS;Highlights +!CURVEEDITOR_LIGHTS;Lights +!CURVEEDITOR_LINEAR;Linear +!CURVEEDITOR_LOADDLGLABEL;Load Curve... +!CURVEEDITOR_NURBS;Control cage +!CURVEEDITOR_PARAMETRIC;Parametric +!CURVEEDITOR_SAVEDLGLABEL;Save Curve... +!CURVEEDITOR_SHADOWS;Shadows +!CURVEEDITOR_TOOLTIPLINEAR;Reset curve to linear +!CURVEEDITOR_TOOLTIPLOAD;Load a curve from file +!CURVEEDITOR_TOOLTIPSAVE;Save current curve +!CURVEEDITOR_TYPE;Type: +!EDITWINDOW_TITLE;Image Edit +!EXIFFILTER_APERTURE;Aperture +!EXIFFILTER_CAMERA;Camera +!EXIFFILTER_DIALOGLABEL;Exif Filter +!EXIFFILTER_FILETYPE;File Type +!EXIFFILTER_FOCALLEN;Focal Length +!EXIFFILTER_ISO;ISO +!EXIFFILTER_LENS;Lens +!EXIFFILTER_METADATAFILTER;Enable Metadata Filters +!EXIFFILTER_SHUTTER;Shutter +!EXIFPANEL_ADDEDIT;Add/Edit +!EXIFPANEL_ADDEDITHINT;Add new tag or edit tag +!EXIFPANEL_ADDTAGDLG_ENTERVALUE;Enter value +!EXIFPANEL_ADDTAGDLG_SELECTTAG;Select tag +!EXIFPANEL_ADDTAGDLG_TITLE;Add/Edit Tag +!EXIFPANEL_KEEP;Keep +!EXIFPANEL_KEEPHINT;Keep the selected tags when writing output file +!EXIFPANEL_REMOVE;Remove +!EXIFPANEL_REMOVEHINT;Remove the selected tags when writing output file +!EXIFPANEL_RESET;Reset +!EXIFPANEL_RESETALL;Reset All +!EXIFPANEL_RESETALLHINT;Reset all tags to their original values +!EXIFPANEL_RESETHINT;Reset the selected tags to their original values +!EXIFPANEL_SUBDIRECTORY;Subdirectory +!FILEBROWSER_ADDDELTEMPLATE;Add/Del templates... +!FILEBROWSER_APPLYPROFILE;Apply profile +!FILEBROWSER_ARRANGEMENTHINT;Change between vertical/horizontal alignment of thumbnails +!FILEBROWSER_AUTODARKFRAME;Auto dark frame +!FILEBROWSER_AUTOFLATFIELD;Auto flat field +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to browse to the chosen path +!FILEBROWSER_BROWSEPATHHINT;Type path to browse (Ctrl-o set focus,Ctrl-Enter to browse in File Browser) +!FILEBROWSER_CACHE;Cache +!FILEBROWSER_CACHECLEARFROMFULL;Clear from cache - full +!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear from cache - partial +!FILEBROWSER_CLEARPROFILE;Clear profile +!FILEBROWSER_COPYPROFILE;Copy profile +!FILEBROWSER_CURRENT_NAME;Current name: +!FILEBROWSER_DARKFRAME;Dark frame +!FILEBROWSER_DELETEDLGLABEL;File delete confirmation +!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files? +!FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files INCLUDING a batch processed version? +!FILEBROWSER_EMPTYTRASH;Empty Trash +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files of the trash +!FILEBROWSER_EXIFFILTERAPPLY;Apply +!FILEBROWSER_EXIFFILTERAPPLYHINT;Switch on/off exif filter of the file browser +!FILEBROWSER_EXIFFILTERLABEL;Exif Filter +!FILEBROWSER_EXIFFILTERSETTINGS;Setup +!FILEBROWSER_EXIFFILTERSETTINGSHINT;Change settings of the exif filter +!FILEBROWSER_FLATFIELD;Flat field +!FILEBROWSER_MOVETODARKFDIR;Move to dark frames directory +!FILEBROWSER_MOVETOFLATFIELDDIR;Move to flat fields directory +!FILEBROWSER_NEW_NAME;New name: +!FILEBROWSER_PARTIALPASTEPROFILE;Partial paste +!FILEBROWSER_PASTEPROFILE;Paste profile +!FILEBROWSER_POPUPCANCELJOB;Cancel job +!FILEBROWSER_POPUPCOPYTO;Copy to... +!FILEBROWSER_POPUPMOVEEND;Move to end of queue +!FILEBROWSER_POPUPMOVEHEAD;Move to head of queue +!FILEBROWSER_POPUPMOVETO;Move to... +!FILEBROWSER_POPUPOPEN;Open +!FILEBROWSER_POPUPPROCESS;Put to processing queue +!FILEBROWSER_POPUPRANK1;Rank 1 +!FILEBROWSER_POPUPRANK2;Rank 2 +!FILEBROWSER_POPUPRANK3;Rank 3 +!FILEBROWSER_POPUPRANK4;Rank 4 +!FILEBROWSER_POPUPRANK5;Rank 5 +!FILEBROWSER_POPUPREMOVE;Remove from filesystem +!FILEBROWSER_POPUPREMOVEINCLPROC;Remove from filesystem & batch result +!FILEBROWSER_POPUPREMOVESUBMENU;Remove +!FILEBROWSER_POPUPRENAME;Rename +!FILEBROWSER_POPUPSELECTALL;Select all +!FILEBROWSER_POPUPTRASH;Move to trash +!FILEBROWSER_POPUPUNRANK;Unrank +!FILEBROWSER_POPUPUNTRASH;Remove from trash +!FILEBROWSER_PROCESSINGSETTINGS;Settings +!FILEBROWSER_PROCESSINGSETTINGSHINT;Set the file format and output directory +!FILEBROWSER_RENAMEDLGLABEL;Rename file +!FILEBROWSER_RENAMEDLGMSG;Rename file "%1" to: +!FILEBROWSER_SELECTDARKFRAME;Select dark frame... +!FILEBROWSER_SELECTFLATFIELD;Select flat field... +!FILEBROWSER_SHOWDIRHINT;Show all images of the directory D +!FILEBROWSER_SHOWEXIFINFO;Show EXIF info i +!FILEBROWSER_SHOWQUEUEHINT;Show content of the processing queue +!FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1 star 1 +!FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2 star 2 +!FILEBROWSER_SHOWRANK3HINT;Show images ranked as 3 star 3 +!FILEBROWSER_SHOWRANK4HINT;Show images ranked as 4 star 4 +!FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5 star 5 +!FILEBROWSER_SHOWTRASHHINT;Show content of the trash T +!FILEBROWSER_SHOWUNRANKHINT;Show unranked images ` +!FILEBROWSER_STARTPROCESSING;Start processing +!FILEBROWSER_STARTPROCESSINGHINT;Start processing/saving of images in the queue +!FILEBROWSER_STOPPROCESSING;Stop processing +!FILEBROWSER_STOPPROCESSINGHINT;Stop processing of images +!FILEBROWSER_THUMBSIZE;Thumb. size +!FILEBROWSER_TOOLTIP_STOPPROCESSING;Start processing automatically when a new job arrives +!FILEBROWSER_USETEMPLATE;Use template: +!FILEBROWSER_ZOOMINHINT;Increase thumbnail size + +!FILEBROWSER_ZOOMOUTHINT;Decrease thumbnail size - +!GENERAL_ABOUT;About +!GENERAL_AFTER;After +!GENERAL_BEFORE;Before +!GENERAL_CANCEL;Cancel +!GENERAL_DISABLE;Disable +!GENERAL_DISABLED;Disabled +!GENERAL_ENABLE;Enable +!GENERAL_ENABLED;Enabled +!GENERAL_FILE;File +!GENERAL_HIGH_QUALITY;High Quality +!GENERAL_LANDSCAPE;Landscape +!GENERAL_LOAD;Load +!GENERAL_NA;n/a +!GENERAL_NO;No +!GENERAL_NONE;None +!GENERAL_OK;OK +!GENERAL_PORTRAIT;Portrait +!GENERAL_SAVE;Save +!GENERAL_UNCHANGED;(Unchanged) +!GENERAL_YES;Yes +!HISTOGRAM_BUTTON_B;B +!HISTOGRAM_BUTTON_G;G +!HISTOGRAM_BUTTON_L;L +!HISTOGRAM_BUTTON_R;R +!HISTOGRAM_LABEL;Histogram +!HISTOGRAM_TOOLTIP_B;Show/Hide BLUE histogram +!HISTOGRAM_TOOLTIP_G;Show/Hide GREEN histogram +!HISTOGRAM_TOOLTIP_L;Show/Hide CIELAB Luminance histogram +!HISTOGRAM_TOOLTIP_R;Show/Hide RED histogram +!HISTORY_CHANGED;Changed +!HISTORY_CUSTOMCURVE;Custom Curve +!HISTORY_DELSNAPSHOT;Del +!HISTORY_FROMCLIPBOARD;From clipboard +!HISTORY_LABEL;History +!HISTORY_MSG_100;RGB saturation +!HISTORY_MSG_101;HSV EQ -- Hue +!HISTORY_MSG_102;HSV EQ -- Saturation +!HISTORY_MSG_103;HSV EQ -- Value +!HISTORY_MSG_104;HSV Equalizer +!HISTORY_MSG_105;Defringing +!HISTORY_MSG_106;Defringing Radius +!HISTORY_MSG_107;Defringing Threshold +!HISTORY_MSG_108;Highlight Compr. Threshold +!HISTORY_MSG_109;Resize bounding box +!HISTORY_MSG_10;Shadow Compression +!HISTORY_MSG_110;Resizing applies to +!HISTORY_MSG_111;Avoid Color Clipping +!HISTORY_MSG_112;Saturation Limiter +!HISTORY_MSG_113;Saturation Limit +!HISTORY_MSG_114;DCB Iterations +!HISTORY_MSG_115;False color iterations +!HISTORY_MSG_116;Enhanced DCB +!HISTORY_MSG_117;Red CA correction +!HISTORY_MSG_118;Blue CA correction +!HISTORY_MSG_119;Line denoise +!HISTORY_MSG_11;Tone Curve +!HISTORY_MSG_120;Green equil. threshold +!HISTORY_MSG_121;Auto CA +!HISTORY_MSG_122;Auto Dark Frame +!HISTORY_MSG_123;Dark Frame File +!HISTORY_MSG_124;Linear exp. correction +!HISTORY_MSG_125;Expo. correction preserving HL +!HISTORY_MSG_126;Flat Field File +!HISTORY_MSG_127;Flat Field Auto Select +!HISTORY_MSG_128;Flat Field Blur Radius +!HISTORY_MSG_129;Flat Field Blur Type +!HISTORY_MSG_12;Auto Exposure +!HISTORY_MSG_13;Exposure Clipping +!HISTORY_MSG_14;Luminance Brightness +!HISTORY_MSG_15;Luminance Contrast +!HISTORY_MSG_16;Luminance Black +!HISTORY_MSG_17;Luminance Highlight Compr. +!HISTORY_MSG_18;Luminance Shadow Compr. +!HISTORY_MSG_19;'L' Curve +!HISTORY_MSG_1;Photo Loaded +!HISTORY_MSG_20;Sharpening +!HISTORY_MSG_21;Sharpening Radius +!HISTORY_MSG_22;Sharpening Amount +!HISTORY_MSG_23;Sharpening Threshold +!HISTORY_MSG_24;Sharpen Only Edges +!HISTORY_MSG_25;Sharpening Edge Detection Radius +!HISTORY_MSG_26;Sharpening Edge Tolerance +!HISTORY_MSG_27;Sharpening Halo Control +!HISTORY_MSG_28;Halo Control Amount +!HISTORY_MSG_29;Sharpening Method +!HISTORY_MSG_2;Profile Loaded +!HISTORY_MSG_30;Deconvolution Radius +!HISTORY_MSG_31;Deconvolution Amount +!HISTORY_MSG_32;Deconvolution Damping +!HISTORY_MSG_33;Deconvolution Iterations +!HISTORY_MSG_35;Saturation Limiter +!HISTORY_MSG_36;Saturation Limit +!HISTORY_MSG_38;White Balance Method +!HISTORY_MSG_40;White Balance Tint +!HISTORY_MSG_43;Luminance Denoising +!HISTORY_MSG_44;Lum. Denoising Radius +!HISTORY_MSG_45;Lum. Denoising Edge Tolerance +!HISTORY_MSG_50;Shadow/Highlight tool +!HISTORY_MSG_51;Highlight boost +!HISTORY_MSG_52;Shadow Boost +!HISTORY_MSG_53;Highlight Tonal Width +!HISTORY_MSG_54;Shadow Tonal Width +!HISTORY_MSG_55;Local Contrast +!HISTORY_MSG_56;Shadow/Highlight Radius +!HISTORY_MSG_57;Coarse Rotation +!HISTORY_MSG_58;Horizontal Flipping +!HISTORY_MSG_59;Vertical Flipping +!HISTORY_MSG_5;Brightness +!HISTORY_MSG_60;Rotation +!HISTORY_MSG_61;Auto Fill +!HISTORY_MSG_62;Lens Distortion Correction +!HISTORY_MSG_63;Snapshot Selected +!HISTORY_MSG_64;Crop Photo +!HISTORY_MSG_65;C/A Correction +!HISTORY_MSG_66;Highlight Recovery +!HISTORY_MSG_67;Highlight Recovery Amount +!HISTORY_MSG_68;Highlight Recovery Method +!HISTORY_MSG_72;Vignetting Correction +!HISTORY_MSG_73;Channel Mixer +!HISTORY_MSG_74;Resize Scale +!HISTORY_MSG_75;Resize Method +!HISTORY_MSG_76;Exif Metadata +!HISTORY_MSG_77;IPTC Metadata +!HISTORY_MSG_78;Data specified for resize +!HISTORY_MSG_79;Resize width +!HISTORY_MSG_80;Resize height +!HISTORY_MSG_81;Resize enabled +!HISTORY_MSG_82;Profile Changed +!HISTORY_MSG_83;High quality shadows/highlights +!HISTORY_MSG_84;Perspective correction +!HISTORY_MSG_85;Wavelet coefficients +!HISTORY_MSG_86;Wavelet equalizer +!HISTORY_MSG_87;Impulse noise reduction +!HISTORY_MSG_88;Impulse NR threshold +!HISTORY_MSG_89;Noise reduction +!HISTORY_MSG_8;Exposure Compensation +!HISTORY_MSG_90;NR - luminance +!HISTORY_MSG_91;NR - chrominance +!HISTORY_MSG_92;NR - gamma +!HISTORY_MSG_93;Contrast by detail levels value +!HISTORY_MSG_94;Contrast by detail levels +!HISTORY_MSG_95;Saturation +!HISTORY_MSG_96;'a' curve +!HISTORY_MSG_97;'b' curve +!HISTORY_MSG_99;Hot/dead pixel filtering +!HISTORY_NEWSNAPSHOT;Add +!HISTORY_NEWSNAPSHOTAS;As... +!HISTORY_NEWSSDIALOGLABEL;Label of the snapshot: +!HISTORY_NEWSSDIALOGTITLE;Add new snapshot +!HISTORY_SETTO;Set to +!HISTORY_SNAPSHOT;Snapshot +!HISTORY_SNAPSHOTS;Snapshots +!ICMPANEL_FILEDLGFILTERANY;Any files +!ICMPANEL_FILEDLGFILTERICM;ICC Profile Files +!ICMPANEL_GAMMABEFOREINPUT;Profile applies Gamma +!ICMPANEL_INPUTCAMERA;Camera default +!ICMPANEL_INPUTCUSTOM;Custom +!ICMPANEL_INPUTDLGLABEL;Select Input ICC Profile... +!ICMPANEL_INPUTEMBEDDED;Use Embedded, if possible +!ICMPANEL_INPUTPROFILE;Input Profile +!ICMPANEL_NOICM;No ICM: sRGB output +!ICMPANEL_OUTPUTDLGLABEL;Select Output ICC Profile... +!ICMPANEL_OUTPUTPROFILE;Output Profile +!ICMPANEL_SAVEREFERENCE;Save reference image for profiling +!ICMPANEL_WORKINGPROFILE;Working Profile +!IMAGEAREA_DETAILVIEW;Detail view +!IPTCPANEL_AUTHOR;Author +!IPTCPANEL_AUTHORHINT;Name of the creator of the object, e.g. writer, photographer or graphic artist (By-line). +!IPTCPANEL_AUTHORSPOSITION;Author's position +!IPTCPANEL_AUTHORSPOSITIONHINT;Title of the creator or creators of the object (By-line Title). +!IPTCPANEL_CAPTION;Caption +!IPTCPANEL_CAPTIONHINT;A textual description of the data (Caption - Abstract). +!IPTCPANEL_CAPTIONWRITER;Caption Writer +!IPTCPANEL_CAPTIONWRITERHINT;The name of the person involved in the writing, editing or correcting the image or caption/abstract (Writer - Editor). +!IPTCPANEL_CATEGORY;Category +!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider (Category). +!IPTCPANEL_CITY;City +!IPTCPANEL_CITYHINT;City of image origin (City). +!IPTCPANEL_COPYHINT;Copy IPTC settings to clipboard +!IPTCPANEL_COPYRIGHT;Copyright +!IPTCPANEL_COPYRIGHTHINT;Any necessary copyright notice (Copyright Notice). +!IPTCPANEL_COUNTRY;Country +!IPTCPANEL_COUNTRYHINT;The name of the country/primary location where the image was created (Country - Primary Location Name). +!IPTCPANEL_CREDIT;Credit +!IPTCPANEL_CREDITHINT;Identifies the provider of the image, not necessarily the owner/creator (Credit). +!IPTCPANEL_EMBEDDED;Embedded +!IPTCPANEL_EMBEDDEDHINT;Reset to IPTC data embedded in the image file +!IPTCPANEL_HEADLINE;Headline +!IPTCPANEL_HEADLINEHINT;A publishable entry providing a synopsis of the contents of the image (Headline). +!IPTCPANEL_INSTRUCTIONS;Instructions +!IPTCPANEL_INSTRUCTIONSHINT;Other editorial instructions concerning the use of the image (Special Instructions). +!IPTCPANEL_KEYWORDS;Keywords +!IPTCPANEL_KEYWORDSHINT;Used to indicate specific information retrieval words (Keywords). +!IPTCPANEL_PASTEHINT;Paste IPTC settings from clipboard +!IPTCPANEL_RESET;Reset +!IPTCPANEL_RESETHINT;Reset to profile default +!IPTCPANEL_SOURCE;Source +!IPTCPANEL_SOURCEHINT;The original owner of the intellectual content of the image (Source). +!IPTCPANEL_SUPPCATEGORIES;Suppl. Categories +!IPTCPANEL_SUPPCATEGORIESHINT;Further refines the subject of the image (Supplemental Categories). +!IPTCPANEL_TITLE;Title +!IPTCPANEL_TITLEHINT;A shorthand reference for the image (Object Name). +!IPTCPANEL_TRANSREFERENCE;Trans. Reference +!IPTCPANEL_TRANSREFERENCEHINT;A code representing the location of original transmission (Original Transmission Reference). +!MAIN_BUTTON_EXIT;Exit +!MAIN_BUTTON_FULLSCREEN;Fullscreen +!MAIN_BUTTON_PREFERENCES;Preferences +!MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue Ctrl+Q +!MAIN_BUTTON_QUEUE;Put to queue +!MAIN_BUTTON_SAVE_TOOLTIP;Save current image Ctrl+S +!MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor Ctrl+E +!MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Show/hide all side panels m +!MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen +!MAIN_FRAME_BATCHQUEUE;Batch Queue +!MAIN_FRAME_BATCHQUEUE_TOOLTIP; Batch Queue Ctrl-F3 +!MAIN_FRAME_EDITOR;Editor +!MAIN_FRAME_EDITOR_TOOLTIP; Editor Ctrl-F4 +!MAIN_FRAME_FILEBROWSER;File Browser +!MAIN_FRAME_FILEBROWSER_TOOLTIP; File Browser Ctrl-F2 +!MAIN_FRAME_PLACES;Places +!MAIN_FRAME_PLACES_ADD;Add +!MAIN_FRAME_PLACES_DEL;Del +!MAIN_FRAME_RECENT;Recent Folders +!MAIN_MSG_ALREADYEXISTS;File already exists. +!MAIN_MSG_CANNOTLOAD;Cannot load image +!MAIN_MSG_CANNOTSAVE;File saving error +!MAIN_MSG_CANNOTSTARTEDITOR;Can not start editor. +!MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Please set the correct path in the "Preferences" dialog. +!MAIN_MSG_ERRORDURINGIMAGESAVING;Error during image saving +!MAIN_MSG_EXITJOBSINQUEUEINFO;Unprocessed images in the queue will be lost on exit. +!MAIN_MSG_EXITJOBSINQUEUEQUEST;Are you sure you want to exit? There are unprocessed images waiting in the queue. +!MAIN_MSG_JOBSINQUEUE;job(s) in the queue +!MAIN_MSG_NAVIGATOR;Navigator +!MAIN_MSG_PLACES;Places +!MAIN_MSG_QOVERWRITE;Do you want to overwrite it? +!MAIN_TAB_BASIC;Basic +!MAIN_TAB_COLOR_TOOLTIP;Alt-c +!MAIN_TAB_DETAIL;Detail +!MAIN_TAB_DETAIL_TOOLTIP;Alt-d +!MAIN_TAB_DEVELOP;Develop +!MAIN_TAB_EXIF;Exif +!MAIN_TAB_EXPOSURE;Exposure +!MAIN_TAB_EXPOSURE_TOOLTIP;Alt-e +!MAIN_TAB_FILTER;Filter +!MAIN_TAB_ICM;ICM +!MAIN_TAB_IPTC;IPTC +!MAIN_TAB_METADATA;Metadata +!MAIN_TAB_METADATA_TOOLTIP;Alt-m +!MAIN_TAB_RAW;RAW +!MAIN_TAB_RAW_TOOLTIP;Alt-r +!MAIN_TAB_TAGGING;Tagging +!MAIN_TAB_TRANSFORM;Transform +!MAIN_TAB_TRANSFORM_TOOLTIP;Alt-t +!MAIN_TOGGLE_BEFORE_AFTER;B|A +!MAIN_TOOLTIP_HIDEFP;Show/hide the bottom panel (directory and file browser) F +!MAIN_TOOLTIP_HIDEHP;Show/hide the left panel (including the history) l +!MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication (Key <) +!MAIN_TOOLTIP_INDCLIPPEDS;Clipped shadow indication (Key >) +!MAIN_TOOLTIP_PREFERENCES;Set preferences +!MAIN_TOOLTIP_QINFO;Quick info on the image I +!MAIN_TOOLTIP_SAVE;Save image to the default folder +!MAIN_TOOLTIP_SAVEAS;Save image to a selected folder +!MAIN_TOOLTIP_SHOWHIDELP1;Show/hide the left panel l +!MAIN_TOOLTIP_SHOWHIDERP1;Show/hide the right panel Alt-l +!MAIN_TOOLTIP_SHOWHIDETP1;Show/hide the top panel Shift-l +!MAIN_TOOLTIP_TOGGLE;Toggle before/after view B +!NAVIGATOR_B_NA;B = n/a +!NAVIGATOR_B_VALUE;B = %1 +!NAVIGATOR_G_NA;G = n/a +!NAVIGATOR_G_VALUE;G = %1 +!NAVIGATOR_H_NA;H = n/a +!NAVIGATOR_H_VALUE;H = %1 +!NAVIGATOR_LAB_A_NA;A = n/a +!NAVIGATOR_LAB_A_VALUE;A = %1 +!NAVIGATOR_LAB_B_NA;B = n/a +!NAVIGATOR_LAB_B_VALUE;B = %1 +!NAVIGATOR_LAB_L_NA;L = n/a +!NAVIGATOR_LAB_L_VALUE;L = %1 +!NAVIGATOR_R_NA;R = n/a +!NAVIGATOR_R_VALUE;R = %1 +!NAVIGATOR_S_NA;S = n/a +!NAVIGATOR_S_VALUE;S = %1 +!NAVIGATOR_V_NA;V = n/a +!NAVIGATOR_V_VALUE;V = %1 +!NAVIGATOR_XY_NA;x = n/a, y = n/a +!PARTIALPASTE_BASICGROUP;Basic settings +!PARTIALPASTE_CACORRECTION;C/A correction +!PARTIALPASTE_COARSETRANS;90 deg rotation / flipping +!PARTIALPASTE_COMPOSITIONGROUP;Composition settings +!PARTIALPASTE_CROP;Crop +!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select +!PARTIALPASTE_DARKFRAMEFILE;Dark Frame File +!PARTIALPASTE_DIALOGLABEL;Partial paste processing profile +!PARTIALPASTE_DIRPYRDENOISE;Noise reduction +!PARTIALPASTE_DIRPYREQUALIZER;Contrast by detail levels +!PARTIALPASTE_DISTORTION;Distortion correction +!PARTIALPASTE_EVERYTHING;Everything +!PARTIALPASTE_EXIFCHANGES;Changes to exif data +!PARTIALPASTE_EXPOSURE;Exposure +!PARTIALPASTE_FLATFIELDAUTOSELECT;FF Auto Select +!PARTIALPASTE_FLATFIELDBLURRADIUS;FF Blur Radius +!PARTIALPASTE_FLATFIELDBLURTYPE;FF Blur Type +!PARTIALPASTE_FLATFIELDFILE;Flat field (FF) File +!PARTIALPASTE_HLRECOVERY;Highlight recovery +!PARTIALPASTE_HLRECOVERYAMOUNT;Highlight recovery amount +!PARTIALPASTE_HLRECOVERYTHRESHOLD;Highlight recovery threshold +!PARTIALPASTE_HSVEQUALIZER;HSV Equalizer +!PARTIALPASTE_ICMSETTINGS;ICM settings +!PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction +!PARTIALPASTE_IPTCINFO;IPTC info +!PARTIALPASTE_LABCURVE;Lab curve +!PARTIALPASTE_LENSGROUP;Lens related settings +!PARTIALPASTE_LUMADENOISE;Luminance noise reduction +!PARTIALPASTE_LUMINANCEGROUP;Luminance related settings +!PARTIALPASTE_METAICMGROUP;Metadata/ICM settings +!PARTIALPASTE_RAWGROUP;Raw settings +!PARTIALPASTE_RESIZE;Resize +!PARTIALPASTE_ROTATION;Rotation +!PARTIALPASTE_SHADOWSHIGHLIGHTS;Shadows/Highlights +!PARTIALPASTE_SHARPENING;Sharpening +!PARTIALPASTE_VIGNETTING;Vignetting correction +!PARTIALPASTE_WAVELETEQUALIZER;Wavelet equalizer +!PARTIALPASTE_WHITEBALANCE;White balance +!POPUPBUTTON_SELECTOPTIONHINT;RMB to change option +!PREFERENCES_ADD;ADD +!PREFERENCES_APPLNEXTSTARTUP;restart required +!PREFERENCES_BATCH_PROCESSING;Batch Processing +!PREFERENCES_BLINKCLIPPED;Blink clipped areas +!PREFERENCES_CACHECLEARALL;Clear All +!PREFERENCES_CACHECLEARPROFILES;Clear Profiles +!PREFERENCES_CACHECLEARTHUMBS;Clear Thumbnails +!PREFERENCES_CACHEFORMAT1;Proprietary (faster and better quality) +!PREFERENCES_CACHEFORMAT2;JPEG (smaller disk footprint) +!PREFERENCES_CACHEOPTS;Cache Options +!PREFERENCES_CACHESTRAT1;Prefer Speed to Low Memory Consumption +!PREFERENCES_CACHESTRAT2;Prefer Low Memory Consumption to Speed +!PREFERENCES_CACHESTRAT;Cache Strategy +!PREFERENCES_CACHETHUMBFORM;Cache Thumbnail Format +!PREFERENCES_CLIPPINGIND;Clipping indication +!PREFERENCES_CMETRICINTENT;Colorimetric Intent +!PREFERENCES_CUTOVERLAYBRUSH;Cut overlay brush +!PREFERENCES_DARKFRAME;Dark frame +!PREFERENCES_DARKFRAMEFOUND;Found +!PREFERENCES_DARKFRAMESHOTS;shots +!PREFERENCES_DARKFRAMETEMPLATES;templates +!PREFERENCES_DATEFORMAT;Date Format +!PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:n%y : yearn%m : monthn%d : daynnFor example, the hungarian date format is:n%y/%m/%d +!PREFERENCES_DEFAULTLANG;Default language +!PREFERENCES_DEFAULTTHEME;Default theme +!PREFERENCES_DEMOSAICINGALGO;Demosaicing Algorithm +!PREFERENCES_DIRDARKFRAMES;Dark frames directory +!PREFERENCES_DIRHOME;Home directory +!PREFERENCES_DIRLAST;Last visited directory +!PREFERENCES_DIROTHER;Other +!PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup... +!PREFERENCES_DIRSOFTWARE;Installation directory +!PREFERENCES_EDITORCMDLINE;Other command line +!PREFERENCES_EDITORLAYOUT;Editor Layout +!PREFERENCES_EXTERNALEDITOR;External editor +!PREFERENCES_FBROWSEROPTS;File Browser Options +!PREFERENCES_FILEFORMAT;File format +!PREFERENCES_FLATFIELD;Flat Field +!PREFERENCES_FLATFIELDFOUND;Found +!PREFERENCES_FLATFIELDSDIR;Flat Fields directory +!PREFERENCES_FLATFIELDSHOTS;shots +!PREFERENCES_FLATFIELDTEMPLATES;templates +!PREFERENCES_FORIMAGE;For image files +!PREFERENCES_FORRAW;For RAW files +!PREFERENCES_GIMPPATH;GIMP installation directory +!PREFERENCES_GTKTHEME;GTK default +!PREFERENCES_HINT;Hint +!PREFERENCES_HLTHRESHOLD;Threshold for clipped highlights +!PREFERENCES_ICCDIR;Directory of ICC profiles +!PREFERENCES_IMPROCPARAMS;Default image processing parameters +!PREFERENCES_INTENT_ABSOLUTE;Absolute Colorimetric +!PREFERENCES_INTENT_PERCEPTUAL;Perceptual +!PREFERENCES_INTENT_RELATIVE;Relative Colorimetric +!PREFERENCES_INTENT_SATURATION;Saturation +!PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower) +!PREFERENCES_METADATA;Metadata +!PREFERENCES_MONITORICC;Monitor Profile +!PREFERENCES_MULTITAB;Multiple tabs mode +!PREFERENCES_MULTITABDUALMON;Multiple tabs mode, if available on second monitor +!PREFERENCES_OUTDIR;Output Directory +!PREFERENCES_OUTDIRFOLDER;Save to folder +!PREFERENCES_OUTDIRFOLDERHINT;Put the saved images to the selected folder +!PREFERENCES_OUTDIRHINT;You can use the following formatting strings:n%f, %d1, %d2, ..., %p1, %p2, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n/home/tom/photos/2010-10-31/dsc0042.nefnthe meaning of the formatting strings are:n%d4 = homen%d3 = tomn%d2 = photosn%d1 = 2010-10-31n%f = dsc0042n%p1 = /home/tom/photos/2010-10-31/n%p2 = /home/tom/photos/n%p3 = /home/tom/n%p4 = /home/nnIf you want to save the output image where the original is, write:n%p1/%fnnIf you want to save the output image in a directory named "converted" located in the directory of the opened image, write:n%p1/converted/%fnnIf you want to save the output image in a directory named "/home/tom/photos/converted/2010-10-31", write:n%p2/converted/%d1/%f +!PREFERENCES_OUTDIRTEMPLATE;Use Template +!PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:n%f, %d1, %d2, ..., %p1, %p2, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n/home/tom/photos/2010-10-31/dsc0042.nefnthe meaning of the formatting strings are:n%d4 = homen%d3 = tomn%d2 = photosn%d1 = 2010-10-31n%f = dsc0042n%p1 = /home/tom/photos/2010-10-31/n%p2 = /home/tom/photos/n%p3 = /home/tom/n%p4 = /home/nnIf you want to save the output image where the original is, write:n%p1/%fnnIf you want to save the output image in a directory named "converted" located in the directory of the opened image, write:n%p1/converted/%fnnIf you want to save the output image in a directory named "/home/tom/photos/converted/2010-10-31", write:n%p2/converted/%d1/%f +!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails +!PREFERENCES_OVERWRITEOUTPUTFILE;Overwrite existing output files +!PREFERENCES_PARSEDEXT;Parsed Extensions +!PREFERENCES_PARSEDEXTADD;Add Extension +!PREFERENCES_PARSEDEXTADDHINT;Type an extension and press this button to append list +!PREFERENCES_PARSEDEXTDELHINT;Delete selected extension from the list +!PREFERENCES_PROFILEHANDLING;Processing Profile Handling +!PREFERENCES_PROFILELOADPR;Profile Loading Priority +!PREFERENCES_PROFILEPRCACHE;Profile in cache +!PREFERENCES_PROFILEPRFILE;Profile next to the input file +!PREFERENCES_PROFILESAVECACHE;Save processing parameters to the cache +!PREFERENCES_PROFILESAVEINPUT;Save processing parameters next to the input file +!PREFERENCES_PROPERTY;Property +!PREFERENCES_PSPATH;Adobe Photoshop installation directory +!PREFERENCES_SELECTFONT;Select font +!PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory... +!PREFERENCES_SELECTLANG;Select language +!PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display... +!PREFERENCES_SELECTTHEME;Select theme +!PREFERENCES_SET;SET +!PREFERENCES_SHOWBASICEXIF;Show basic Exif info +!PREFERENCES_SHOWDATETIME;Show date and time +!PREFERENCES_SHOWONLYRAW;Show only RAW files +!PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows +!PREFERENCES_SINGLETAB;Single tab mode +!PREFERENCES_SINGLETABVERTAB;Single tab mode, vertical tabs +!PREFERENCES_SND_BATCHQUEUEDONE;Batch queue done +!PREFERENCES_SND_HELP;Either enter filepath or nothing (for no sound). On Windows use "SystemDefault", "SystemAsterisk" etc. for system sounds. +!PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done +!PREFERENCES_SND_TRESHOLDSECS;after secs +!PREFERENCES_STARTUPIMDIR;Image directory at startup +!PREFERENCES_TAB_BROWSER;File Browser +!PREFERENCES_TAB_GENERAL;General +!PREFERENCES_TAB_IMPROC;Image Processing +!PREFERENCES_TAB_OUTPUT;Output Options +!PREFERENCES_TAB_SOUND;Sounds +!PREFERENCES_THUMBSIZE;Thumbnail Size +!PREFERENCES_TUNNELMETADATA;Copy IPTC/XMP unchanged to output file (when tagging with other program) +!PREFERENCES_USESYSTEMTHEME; Use System Theme +!PREFERENCES_WORKFLOW;Workflow +!PROFILEPANEL_FILEDLGFILTERANY;Any files +!PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles +!PROFILEPANEL_LABEL;Postprocessing Profiles +!PROFILEPANEL_LOADDLGLABEL;Load Postprocessing Parameters... +!PROFILEPANEL_PCUSTOM;Custom +!PROFILEPANEL_PFILE;From file +!PROFILEPANEL_PLASTPHOTO;Last Photo +!PROFILEPANEL_PLASTSAVED;Last Saved +!PROFILEPANEL_PROFILE;Profile +!PROFILEPANEL_SAVEDLGLABEL;Save Postprocessing Parameters... +!PROFILEPANEL_TOOLTIPCOPY;Copy current profile to clipboard +!PROFILEPANEL_TOOLTIPLOAD;Load a profile from file +!PROFILEPANEL_TOOLTIPPASTE; Paste profile from clipboard +!PROFILEPANEL_TOOLTIPSAVE;Save current profile +!PROGRESSBAR_DECODING;Decoding raw file... +!PROGRESSBAR_DEMOSAICING;Demosaicing... +!PROGRESSBAR_LOADING;Loading Image... +!PROGRESSBAR_LOADJPEG;Loading JPEG file... +!PROGRESSBAR_LOADPNG;Loading PNG file... +!PROGRESSBAR_LOADTIFF;Loading TIFF file... +!PROGRESSBAR_PROCESSING;Processing Image... +!PROGRESSBAR_READY;Ready. +!PROGRESSBAR_SAVEJPEG;Saving JPEG file... +!PROGRESSBAR_SAVEPNG;Saving PNG file... +!PROGRESSBAR_SAVETIFF;Saving TIFF file... +!PROGRESSDLG_LOADING;Loading file... +!PROGRESSDLG_PROCESSING;Processing image... +!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser +!PROGRESSDLG_SAVING;Saving file... +!QINFO_FOCALLENGTH;Focal length +!QINFO_ISO;ISO +!QINFO_LENS;Lens +!QINFO_NOEXIF;Exif data not available. +!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists +!SAVEDLG_FILEFORMAT;File format +!SAVEDLG_JPEGQUAL;JPEG Quality +!SAVEDLG_JPGFILTER;JPEG files +!SAVEDLG_PNGCOMPR;PNG Compression +!SAVEDLG_PNGFILTER;PNG files +!SAVEDLG_PUTTOQUEUE;Put into processing queue +!SAVEDLG_PUTTOQUEUEHEAD;Put to the head of the processing queue +!SAVEDLG_PUTTOQUEUETAIL;Put to the end of the processing queue +!SAVEDLG_SAVEIMMEDIATELY;Save immediately +!SAVEDLG_SAVESPP;Save processing parameters with image +!SAVEDLG_TIFFFILTER;TIFF files +!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF +!TOOLBAR_TOOLTIP_CROP;Crop selection C +!TOOLBAR_TOOLTIP_HAND;Hand tool H +!TOOLBAR_TOOLTIP_STRAIGHTEN;Straight line selection S +!TOOLBAR_TOOLTIP_WB;Spot white balance W +!TP_CACORRECTION_BLUE;Blue +!TP_CACORRECTION_LABEL;C/A Correction +!TP_CACORRECTION_RED;Red +!TP_CHMIXER_BLUE;Blue +!TP_CHMIXER_GREEN;Green +!TP_CHMIXER_LABEL;Channel Mixer +!TP_CHMIXER_RED;Red +!TP_CHROMATABERR_LABEL;Chromatic Aberration +!TP_COARSETRAF_DEGREE;degree: +!TP_COARSETRAF_TOOLTIP_HFLIP;Flip horizontally +!TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotate left [ +!TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right ] +!TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically +!TP_COLORBOOST_ACHANNEL;Channel "a" +!TP_COLORBOOST_AMOUNT;Amount +!TP_COLORBOOST_BCHANNEL;Channel "b" +!TP_COLORBOOST_CHAB;a & b +!TP_COLORBOOST_CHANNEL;Channel +!TP_COLORBOOST_CHSEPARATE;separate +!TP_COLORBOOST_ENABLESATLIMITER;Enable saturation limiter +!TP_COLORBOOST_SATLIMIT;Saturation limit +!TP_COLORDENOISE_EDGESENSITIVE;Edge Sensitive +!TP_COLORDENOISE_EDGETOLERANCE;Edge Tolerance +!TP_COLORDENOISE_RADIUS;Radius +!TP_COLORSHIFT_BLUEYELLOW;Blue-Yellow +!TP_COLORSHIFT_GREENMAGENTA;Green-Magenta +!TP_CROP_DPI;DPI= +!TP_CROP_FIXRATIO;Fix Ratio: +!TP_CROP_GTDIAGONALS;Rule of diagonals +!TP_CROP_GTGRID;Grid +!TP_CROP_GTHARMMEANS1;Harmonic means 1 +!TP_CROP_GTHARMMEANS2;Harmonic means 2 +!TP_CROP_GTHARMMEANS3;Harmonic means 3 +!TP_CROP_GTHARMMEANS4;Harmonic means 4 +!TP_CROP_GTNONE;None +!TP_CROP_GTRULETHIRDS;Rule of thirds +!TP_CROP_GUIDETYPE;Guide Type: +!TP_CROP_H;H +!TP_CROP_LABEL;Crop +!TP_CROP_SELECTCROP; Select Crop +!TP_CROP_W;W +!TP_CROP_X;x +!TP_CROP_Y;y +!TP_DARKFRAME_AUTOSELECT;Auto selection +!TP_DARKFRAME_LABEL;Dark Frame +!TP_DEFRINGE_LABEL;Defringe +!TP_DEFRINGE_RADIUS;Radius +!TP_DEFRINGE_THRESHOLD;Threshold +!TP_DETAIL_AMOUNT;Amount +!TP_DIRPYRDENOISE_CHROMA;Chrominance +!TP_DIRPYRDENOISE_GAMMA;Gamma +!TP_DIRPYRDENOISE_LABEL;Noise reduction +!TP_DIRPYRDENOISE_LUMA;Luminance +!TP_DIRPYREQUALIZER_LABEL;Contrast by detail levels +!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest +!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast- +!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+ +!TP_DIRPYREQUALIZER_LUMAFINEST;Finest +!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral +!TP_DIRPYREQUALIZER_THRESHOLD;Threshold +!TP_DISTORTION_AMOUNT;Amount +!TP_DISTORTION_LABEL;Distortion +!TP_EQUALIZER_CONTRAST_MINUS;Contrast- +!TP_EQUALIZER_CONTRAST_PLUS;Contrast+ +!TP_EQUALIZER_FINEST;finest +!TP_EQUALIZER_LABEL;Wavelet equalizer +!TP_EQUALIZER_LARGEST;coarsest +!TP_EQUALIZER_NEUTRAL;Neutral +!TP_EXPOSCORR_LABEL;Exposure +!TP_EXPOSURE_AUTOLEVELS;Auto Levels +!TP_EXPOSURE_BLACKLEVEL;Black +!TP_EXPOSURE_BRIGHTNESS;Brightness +!TP_EXPOSURE_CLIP;Clip +!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight recovery amount +!TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Highlight recovery threshold +!TP_EXPOSURE_COMPRSHADOWS;Shadow recovery +!TP_EXPOSURE_CONTRAST;Contrast +!TP_EXPOSURE_CURVEEDITOR;Tone Curve +!TP_EXPOSURE_EXPCOMP;Exp. Comp. +!TP_EXPOSURE_LABEL;Exposure +!TP_EXPOSURE_SATURATION;Saturation +!TP_FLATFIELD_AUTOSELECT;Auto selection +!TP_FLATFIELD_BLURRADIUS;Blur Radius +!TP_FLATFIELD_BLURTYPE;Blur Type +!TP_FLATFIELD_BT_AREA;Area +!TP_FLATFIELD_BT_HORIZONTAL;Horizontal +!TP_FLATFIELD_BT_VERTHORIZ;Vert. + Horiz. +!TP_FLATFIELD_BT_VERTICAL;Vertical +!TP_FLATFIELD_LABEL;Flat Field +!TP_HLREC_CIELAB;CIELab Blending +!TP_HLREC_LABEL;Highlight Reconstruction +!TP_HLREC_LUMINANCE;Luminance Recovery +!TP_HLREC_METHOD;Method: +!TP_HSVEQUALIZER1;Red +!TP_HSVEQUALIZER2;Yellow +!TP_HSVEQUALIZER3;Lime +!TP_HSVEQUALIZER4;Green +!TP_HSVEQUALIZER5;Aqua +!TP_HSVEQUALIZER6;Blue +!TP_HSVEQUALIZER7;Purple +!TP_HSVEQUALIZER8;Magenta +!TP_HSVEQUALIZER_CHANNEL;HSV Channel +!TP_HSVEQUALIZER_HUE;Hue +!TP_HSVEQUALIZER_LABEL;HSV Equalizer +!TP_HSVEQUALIZER_NEUTRAL;Neutral +!TP_HSVEQUALIZER_SAT;Saturation +!TP_HSVEQUALIZER_VAL;Value +!TP_ICM_FILEDLGFILTERANY;Any files +!TP_ICM_FILEDLGFILTERICM;ICC Profile Files +!TP_ICM_GAMMABEFOREINPUT;Profile applies Gamma +!TP_ICM_INPUTCAMERA;Camera default +!TP_ICM_INPUTCUSTOM;Custom +!TP_ICM_INPUTDLGLABEL;Select Input ICC Profile... +!TP_ICM_INPUTEMBEDDED;Use Embedded, if possible +!TP_ICM_INPUTNONE;No profile +!TP_ICM_INPUTPROFILE;Input Profile +!TP_ICM_LABEL;ICM +!TP_ICM_NOICM;No ICM: sRGB output +!TP_ICM_OUTPUTDLGLABEL;Select Output ICC Profile... +!TP_ICM_OUTPUTPROFILE;Output Profile +!TP_ICM_SAVEREFERENCE;Save reference image for profiling +!TP_ICM_WORKINGPROFILE;Working Profile +!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction +!TP_IMPULSEDENOISE_THRESH;Impulse NR Threshold +!TP_LABCURVE_AVOIDCOLORCLIP;Avoid color clipping +!TP_LABCURVE_BRIGHTNESS;Brightness +!TP_LABCURVE_CONTRAST;Contrast +!TP_LABCURVE_CURVEEDITOR;Luminance Curve +!TP_LABCURVE_ENABLESATLIMITER;Enable saturation limiter +!TP_LABCURVE_LABEL;Lab Adjustments +!TP_LABCURVE_SATLIMIT;Saturation limit +!TP_LABCURVE_SATURATION;Saturation +!TP_LENSGEOM_AUTOCROP;Auto Crop +!TP_LENSGEOM_FILL;Auto Fill +!TP_LENSGEOM_LABEL;Lens / Geometry +!TP_LUMADENOISE_EDGETOLERANCE;Edge Tolerance +!TP_LUMADENOISE_LABEL;Luminance Noise Reduction +!TP_LUMADENOISE_RADIUS;Radius +!TP_PERSPECTIVE_HORIZONTAL;Horizontal +!TP_PERSPECTIVE_LABEL;Perspective +!TP_PERSPECTIVE_VERTICAL;Vertical +!TP_PREPROCESS_GREENEQUIL;Green equilibration +!TP_PREPROCESS_HOTDEADPIXFILT;Apply hot/dead pixel filter +!TP_PREPROCESS_LABEL;Preprocessing +!TP_PREPROCESS_LINEDENOISE;Line noise filter +!TP_PREPROCESS_NO_FOUND;None found +!TP_RAWCACORR_AUTO;Auto correction +!TP_RAWCACORR_CABLUE;Blue +!TP_RAWCACORR_CARED;Red +!TP_RAWEXPOS_LINEAR;Linear corr. factor +!TP_RAWEXPOS_PRESER;HL preserving corr. (EV) +!TP_RAW_DCBENHANCE;Apply DCB enhancement step +!TP_RAW_DCBITERATIONS;Number of DCB iterations +!TP_RAW_DMETHOD;Method +!TP_RAW_LABEL;Demosaicing +!TP_RESIZE_APPLIESTO;Applies to: +!TP_RESIZE_BICUBIC;Bicubic +!TP_RESIZE_BICUBICSF;Bicubic (Softer) +!TP_RESIZE_BICUBICSH;Bicubic (Sharper) +!TP_RESIZE_BILINEAR;Bilinear +!TP_RESIZE_CROPPEDAREA;Cropped area +!TP_RESIZE_DOWNSCALEB;Downscale (Better) +!TP_RESIZE_DOWNSCALEF;Downscale (Faster) +!TP_RESIZE_FITBOX;Bounding box +!TP_RESIZE_FULLIMAGE;Full image +!TP_RESIZE_FULLSIZE;Full Image Size: +!TP_RESIZE_H;H: +!TP_RESIZE_HEIGHT;Height +!TP_RESIZE_LABEL;Resize +!TP_RESIZE_LANCZOS;Lanczos +!TP_RESIZE_METHOD;Method: +!TP_RESIZE_NEAREST;Nearest +!TP_RESIZE_SCALE;Scale +!TP_RESIZE_SPECIFY;Specify: +!TP_RESIZE_W;W: +!TP_RESIZE_WIDTH;Width +!TP_ROTATE_DEGREE;Degree +!TP_ROTATE_LABEL;Rotate +!TP_ROTATE_SELECTLINE; Select Straight Line +!TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights +!TP_SHADOWSHLIGHTS_HLTONALW;Tonal Width for Highlights +!TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights +!TP_SHADOWSHLIGHTS_LOCALCONTR;Local Contrast +!TP_SHADOWSHLIGHTS_RADIUS;Radius +!TP_SHADOWSHLIGHTS_SHADOWS;Shadows +!TP_SHADOWSHLIGHTS_SHTONALW;Tonal Width for Shadows +!TP_SHARPENING_AMOUNT;Amount +!TP_SHARPENING_EDRADIUS;Radius +!TP_SHARPENING_EDTOLERANCE;Edge tolerance +!TP_SHARPENING_HALOCONTROL;Halo control +!TP_SHARPENING_HCAMOUNT;Amount +!TP_SHARPENING_LABEL;Sharpening +!TP_SHARPENING_METHOD;Method +!TP_SHARPENING_ONLYEDGES;Sharpen only edges +!TP_SHARPENING_RADIUS;Radius +!TP_SHARPENING_RLD;RL Deconvolution +!TP_SHARPENING_RLD_AMOUNT;Amount +!TP_SHARPENING_RLD_DAMPING;Damping +!TP_SHARPENING_RLD_ITERATIONS;Iterations +!TP_SHARPENING_THRESHOLD;Threshold +!TP_SHARPENING_USM;Unsharp Mask +!TP_VIGNETTING_AMOUNT;Amount +!TP_VIGNETTING_CENTER;Center +!TP_VIGNETTING_CENTER_X;Center X +!TP_VIGNETTING_CENTER_Y;Center Y +!TP_VIGNETTING_LABEL;Vignetting Correction +!TP_VIGNETTING_RADIUS;Radius +!TP_VIGNETTING_STRENGTH;Strength +!TP_WBALANCE_AUTO;Auto +!TP_WBALANCE_CAMERA;Camera +!TP_WBALANCE_CUSTOM;Custom +!TP_WBALANCE_GREEN;Tint +!TP_WBALANCE_LABEL;White Balance +!TP_WBALANCE_METHOD;Method +!TP_WBALANCE_SIZE;Size: +!TP_WBALANCE_SPOTWB;Spot WB +!TP_WBALANCE_TEMPERATURE;Temperature +!ZOOMBAR_DETAIL;Detail +!ZOOMBAR_HUGE;Huge +!ZOOMBAR_LARGE;Large +!ZOOMBAR_NORMAL;Normal +!ZOOMBAR_PREVIEW;Preview +!ZOOMBAR_SCALE;Scale +!ZOOMBAR_SMALL;Small +!ZOOMPANEL_100;(100%) +!ZOOMPANEL_NEWCROPWINDOW;Open (new) detail window +!ZOOMPANEL_ZOOM100;Zoom to 100% 1 +!ZOOMPANEL_ZOOMFITSCREEN;Fit to screen F +!ZOOMPANEL_ZOOMIN;Zoom In + +!ZOOMPANEL_ZOOMOUT;Zoom Out - diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol index c4fdc95ee..e76171cee 100644 --- a/rtdata/languages/Espanol +++ b/rtdata/languages/Espanol @@ -515,12 +515,10 @@ PREFERENCES_DIRLAST;Última carpeta visitada PREFERENCES_DIROTHER;Otro PREFERENCES_DIRSELECTDLG;Seleccionar carpeta de imágenes en el arranque... PREFERENCES_DIRSOFTWARE;Carpeta de instalación -PREFERENCES_DMETHOD;Método PREFERENCES_EDITORCMDLINE;Otro mandato PREFERENCES_EDITORLAYOUT;Aspecto del editor PREFERENCES_EXPOS;Exposición antes de interpolación:\ncorrección (lineal) PREFERENCES_EXTERNALEDITOR;Editor externo -PREFERENCES_FALSECOLOR;Pasos de supresión de colores falsos PREFERENCES_FBROWSEROPTS;Opciones del explorador de archivos PREFERENCES_FILEFORMAT;Formato de archivos PREFERENCES_FLATFIELD;Campo plano @@ -800,7 +798,7 @@ TP_PERSPECTIVE_HORIZONTAL;Horizontal TP_PERSPECTIVE_LABEL;Perspectiva TP_PERSPECTIVE_VERTICAL;Vertical TP_PREPROCESS_DARKFRAME;Imagen en oscuridad -TP_PREPROCESS_DFAUTOSELECT;Selección automática +TP_PREPROCESS_HOTDEADPIXFILT;Aplicar filtro de píxel dañado TP_PREPROCESS_FLATFIELDAUTOSELECT;Selección automática de campo plano TP_PREPROCESS_FLATFIELDBLURRADIUS;Radio de difuminado de campo plano TP_PREPROCESS_FLATFIELDBLURTYPE;Tipo de difuminado de campo plano @@ -937,6 +935,10 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom - !MAIN_TAB_TRANSFORM_TOOLTIP;Alt-t !MAIN_TOOLTIP_SHOWHIDETP1;Show/hide the top panel Shift-l !PARTIALPASTE_EVERYTHING;Everything +!HISTORY_MSG_122;Auto Dark Frame +!HISTORY_MSG_123;Dark Frame File +!HISTORY_MSG_124;Linear exp. correction +!HISTORY_MSG_125;Expo. correction preserving HL !PARTIALPASTE_HLRECOVERYAMOUNT;Highlight recovery amount !PARTIALPASTE_HLRECOVERYTHRESHOLD;Highlight recovery threshold !TP_FLATFIELD_BT_AREA;Area @@ -944,3 +946,4 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom - !TP_FLATFIELD_BT_VERTHORIZ;Vert. + Horiz. !TP_FLATFIELD_BT_VERTICAL;Vertical !TP_PREPROCESS_NO_FOUND;None found +!TP_EXPOSCORR_LABEL;Exposure diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index 404d4a809..33e421357 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -911,3 +911,45 @@ ZOOMPANEL_ZOOMOUT;ズームアウト !PARTIALPASTE_HSVEQUALIZER;HSV Equalizer !PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction !PARTIALPASTE_WAVELETEQUALIZER;Wavelet equalizer +!GENERAL_FILE;File +!GENERAL_NONE;None +!HISTORY_MSG_109;Resize bounding box +!HISTORY_MSG_110;Resizing applies to +!HISTORY_MSG_111;Avoid Color Clipping +!HISTORY_MSG_112;Saturation Limiter +!HISTORY_MSG_113;Saturation Limit +!HISTORY_MSG_114;DCB Iterations +!HISTORY_MSG_115;False color iterations +!HISTORY_MSG_116;Enhanced DCB +!HISTORY_MSG_117;Red CA correction +!HISTORY_MSG_118;Blue CA correction +!HISTORY_MSG_119;Line denoise +!HISTORY_MSG_120;Green equil. threshold +!HISTORY_MSG_121;Auto CA +!HISTORY_MSG_122;Auto Dark Frame +!HISTORY_MSG_123;Dark Frame File +!HISTORY_MSG_124;Linear exp. correction +!HISTORY_MSG_125;Expo. correction preserving HL +!TP_CHROMATABERR_LABEL;Chromatic Aberration +!TP_DARKFRAME_AUTOSELECT;Auto selection +!TP_DARKFRAME_LABEL;Dark Frame +!TP_EXPOSCORR_LABEL;Exposure +!TP_PREPROCESS_GREENEQUIL;Green equilibration +!TP_PREPROCESS_HOTDEADPIXFILT;Apply hot/dead pixel filter +!TP_PREPROCESS_LABEL;Preprocessing +!TP_PREPROCESS_LINEDENOISE;Line noise filter +!TP_PREPROCESS_NO_FOUND;None found +!TP_RAWCACORR_AUTO;Auto correction +!TP_RAWCACORR_CABLUE;Blue +!TP_RAWCACORR_CARED;Red +!TP_RAWEXPOS_LINEAR;Linear corr. factor +!TP_RAWEXPOS_PRESER;HL preserving corr. (EV) +!TP_RAW_DCBENHANCE;Apply DCB enhancement step +!TP_RAW_DCBITERATIONS;Number of DCB iterations +!TP_RAW_DMETHOD;Method +!TP_RAW_FALSECOLOR;False color suppression steps +!TP_RAW_LABEL;Demosaicing +!TP_RESIZE_APPLIESTO;Applies to: +!TP_RESIZE_CROPPEDAREA;Cropped area +!TP_RESIZE_FITBOX;Bounding box +!TP_RESIZE_FULLIMAGE;Full image diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish index acd2045bf..57ef5dc35 100644 --- a/rtdata/languages/Swedish +++ b/rtdata/languages/Swedish @@ -900,3 +900,22 @@ ZOOMPANEL_ZOOMOUT;Förminska. Kortkommando: - !PARTIALPASTE_HSVEQUALIZER;HSV Equalizer !PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction !PARTIALPASTE_WAVELETEQUALIZER;Wavelet equalizer +!HISTORY_MSG_113;Saturation Limit +!HISTORY_MSG_114;DCB Iterations +!HISTORY_MSG_115;False color iterations +!HISTORY_MSG_116;Enhanced DCB +!HISTORY_MSG_117;Red CA correction +!HISTORY_MSG_118;Blue CA correction +!HISTORY_MSG_119;Line denoise +!HISTORY_MSG_120;Green equil. threshold +!HISTORY_MSG_121;Auto CA +!HISTORY_MSG_122;Auto Dark Frame +!HISTORY_MSG_123;Dark Frame File +!HISTORY_MSG_124;Linear exp. correction +!HISTORY_MSG_125;Expo. correction preserving HL +!TP_CHROMATABERR_LABEL;Chromatic Aberration +!TP_DARKFRAME_LABEL;Dark Frame +!TP_EXPOSCORR_LABEL;Exposure +!TP_PREPROCESS_NO_FOUND;None found +!TP_RAWEXPOS_LINEAR;Linear corr. factor +!TP_RAWEXPOS_PRESER;HL preserving corr. (EV) diff --git a/rtdata/languages/default b/rtdata/languages/default index 3d2f1bbcd..279f1076b 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -434,6 +434,7 @@ NAVIGATOR_V_VALUE;V = %1 NAVIGATOR_XY_NA;x = n/a, y = n/a PARTIALPASTE_BASICGROUP;Basic settings PARTIALPASTE_CACORRECTION;C/A correction +PARTIALPASTE_CHANNELMIXER;Channel mixer PARTIALPASTE_COARSETRANS;90 deg rotation / flipping PARTIALPASTE_COLORBOOST;Color boost PARTIALPASTE_COLORDENOISE;Color denoise @@ -441,9 +442,12 @@ PARTIALPASTE_COLORGROUP;Color related settings PARTIALPASTE_COLORMIXER;Color mixer PARTIALPASTE_COLORSHIFT;Color shift PARTIALPASTE_COMPOSITIONGROUP;Composition settings +PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill PARTIALPASTE_CROP;Crop PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select PARTIALPASTE_DARKFRAMEFILE;Dark Frame File +PARTIALPASTE_DEFRINGE;Defringe +PARTIALPASTE_DETAILGROUP;Detail settings PARTIALPASTE_DIALOGLABEL;Partial paste processing profile PARTIALPASTE_DIRPYRDENOISE;Noise reduction PARTIALPASTE_DIRPYREQUALIZER;Contrast by detail levels @@ -455,19 +459,34 @@ PARTIALPASTE_FLATFIELDAUTOSELECT;FF Auto Select PARTIALPASTE_FLATFIELDBLURRADIUS;FF Blur Radius PARTIALPASTE_FLATFIELDBLURTYPE;FF Blur Type PARTIALPASTE_FLATFIELDFILE;Flat field (FF) File +PARTIALPASTE_HLRECONSTRUCTION;Highlight reconstruction PARTIALPASTE_HLRECOVERY;Highlight recovery PARTIALPASTE_HLRECOVERYAMOUNT;Highlight recovery amount PARTIALPASTE_HLRECOVERYTHRESHOLD;Highlight recovery threshold PARTIALPASTE_HSVEQUALIZER;HSV Equalizer +PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction PARTIALPASTE_ICMSETTINGS;ICM settings PARTIALPASTE_IMPULSEDENOISE;Impulse noise reduction PARTIALPASTE_IPTCINFO;IPTC info -PARTIALPASTE_LABCURVE;Lab curve +PARTIALPASTE_LABCURVE;Lab adjustments PARTIALPASTE_LENSGROUP;Lens related settings PARTIALPASTE_LUMADENOISE;Luminance noise reduction PARTIALPASTE_LUMINANCEGROUP;Luminance related settings PARTIALPASTE_METAICMGROUP;Metadata/ICM settings +PARTIALPASTE_PERSPECTIVE;Perspective +PARTIALPASTE_PREPROCESS_GREENEQUIL;Green equilibration +PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Apply hot/dead pixel filter +PARTIALPASTE_PREPROCESS_LINEDENOISE;Line noise filter +PARTIALPASTE_RAWCACORR_AUTO;CA auto correction +PARTIALPASTE_RAWCACORR_CABLUE;CA Blue +PARTIALPASTE_RAWCACORR_CARED;CA Red +PARTIALPASTE_RAWEXPOS_LINEAR;Exposure linear corr. factor +PARTIALPASTE_RAWEXPOS_PRESER;Exposure HL preserving corr. (EV) PARTIALPASTE_RAWGROUP;Raw settings +PARTIALPASTE_RAW_DCBENHANCE;Apply DCB enhancement step +PARTIALPASTE_RAW_DCBITERATIONS;Number of DCB iterations +PARTIALPASTE_RAW_DMETHOD;Demosaic Method +PARTIALPASTE_RAW_FALSECOLOR;Demosaic False color suppression steps PARTIALPASTE_RESIZE;Resize PARTIALPASTE_ROTATION;Rotation PARTIALPASTE_SHADOWSHIGHLIGHTS;Shadows/Highlights diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index dc66af38c..9ff320a16 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -4470,12 +4470,12 @@ void CLASS parse_makernote (int base, int uptag) cam_mul[0] = getreal(type); cam_mul[2] = getreal(type); } - if (tag == 0xd && type == 7 && get2() == 0xaaaa) { - fread (buf97, 1, sizeof buf97, ifp); - i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10; - if (i < 70 && buf97[i] < 3) - flip = "065"[buf97[i]]-'0'; - } +// if (tag == 0xd && type == 7 && get2() == 0xaaaa) { +// fread (buf97, 1, sizeof buf97, ifp); +// i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10; +// if (i < 70 && buf97[i] < 3) +// flip = "065"[buf97[i]]-'0'; +// } if (tag == 0x10 && type == 4) unique_id = get4(); if (tag == 0x11 && is_raw && !strncmp(make,"NIKON",5)) { @@ -4947,7 +4947,7 @@ int CLASS parse_tiff_ifd (int base) case 513: /* JpegIFOffset */ case 61447: tiff_ifd[ifd].offset = get4()+base; - if (!tiff_ifd[ifd].bps) { +/*RT*/if (!tiff_ifd[ifd].bps && tiff_ifd[ifd].offset>=0) { fseek (ifp, tiff_ifd[ifd].offset, SEEK_SET); if (ljpeg_start (&jh, 1)) { tiff_ifd[ifd].comp = 6; diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch index 53282f295..ad83234e9 100644 --- a/rtengine/dcraw.patch +++ b/rtengine/dcraw.patch @@ -1,481 +1,504 @@ ---- dcraw.c Wed Feb 02 23:18:25 2011 -+++ dcraw.cc Thu Feb 03 00:52:38 2011 -@@ -1,5 +1,14 @@ -+/*RT*/#include -+/*RT*/#include -+/*RT*/#undef MAX -+/*RT*/#undef MIN -+/*RT*/#define NO_LCMS -+/*RT*/#define NO_JPEG -+/*RT*/#define LOCALTIME -+/*RT*/#define DJGPP -+ - /* - dcraw.c -- Dave Coffin's raw photo decoder - Copyright 1997-2010 by Dave Coffin, dcoffin a cybercom o net - - This is a command-line ANSI C program to convert raw photos from -@@ -94,15 +103,16 @@ - - #define ushort UshORt - typedef unsigned char uchar; - typedef unsigned short ushort; - -+#include "dcraw.h" - /* - All global variables are defined here, and all functions that - access them are prefixed with "CLASS". Note that a thread-safe - C++ class cannot have non-const static local variables. -- */ -+ - FILE *ifp, *ofp; - short order; - const char *ifname; - char *meta_data; - char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64]; -@@ -126,17 +136,17 @@ - int half_size=0, four_color_rgb=0, document_mode=0, highlight=0; - int verbose=0, use_auto_wb=0, use_camera_wb=0, use_camera_matrix=-1; - int output_color=1, output_bps=8, output_tiff=0, med_passes=0; - int no_auto_bright=0; - unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX }; --float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4]; --const double xyz_rgb[3][3] = { /* XYZ from RGB */ -+float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4];*/ -+const double xyz_rgb[3][3] = { // XYZ from RGB - { 0.412453, 0.357580, 0.180423 }, - { 0.212671, 0.715160, 0.072169 }, - { 0.019334, 0.119193, 0.950227 } }; - const float d65_white[3] = { 0.950456, 1, 1.088754 }; --int histogram[4][0x2000]; -+/*int histogram[4][0x2000]; - void (*write_thumb)(), (*write_fun)(); - void (*load_raw)(), (*thumb_load_raw)(); - jmp_buf failure; - - struct decode { -@@ -150,12 +160,12 @@ - - struct ph1 { - int format, key_off, black, black_off, split_col, tag_21a; - float tag_210; - } ph1; -- --#define CLASS -+*/ -+#define CLASS DCraw:: - - #define FORC(cnt) for (c=0; c < cnt; c++) - #define FORC3 FORC(3) - #define FORC4 FORC(4) - #define FORCC FORC(colors) -@@ -269,10 +279,11 @@ - fprintf (stderr,_("Unexpected end of file\n")); - else - fprintf (stderr,_("Corrupt data near 0x%llx\n"), (INT64) ftello(ifp)); - } - data_error++; -+ /*RT*/ longjmp (failure, 1); - } - - ushort CLASS sget2 (uchar *s) - { - if (order == 0x4949) /* "II" means little-endian */ -@@ -342,11 +353,11 @@ - - void CLASS read_shorts (ushort *pixel, int count) - { - if (fread (pixel, 2, count, ifp) < count) derror(); - if ((order == 0x4949) == (ntohs(0x1234) == 0x1234)) -- swab (pixel, pixel, count*2); -+ swab ((char*)pixel, (char*)pixel, count*2); - } - - void CLASS canon_600_fixed_wb (int temp) - { - static const short mul[4][5] = { -@@ -534,14 +545,14 @@ - - /* - getbits(-1) initializes the buffer - getbits(n) where 0 <= n <= 25 returns an n-bit integer - */ --unsigned CLASS getbithuff (int nbits, ushort *huff) -+unsigned CLASS getbithuff_t::operator() (int nbits, ushort *huff) - { -- static unsigned bitbuf=0; -- static int vbits=0, reset=0; -+/*RT static unsigned bitbuf=0; */ -+/*RT static int vbits=0, reset=0; */ - unsigned c; - - if (nbits == -1) - return bitbuf = vbits = reset = 0; - if (nbits == 0 || vbits < 0) return 0; -@@ -1284,11 +1295,11 @@ - } - } - free (pixel); - } - --void CLASS jpeg_thumb(); -+/*RT void CLASS jpeg_thumb(); */ - - void CLASS ppm_thumb() - { - char *thumb; - thumb_length = thumb_width*thumb_height*3; -@@ -1560,14 +1571,14 @@ - } - free (pixel); - phase_one_correct(); - } - --unsigned CLASS ph1_bithuff (int nbits, ushort *huff) -+unsigned CLASS ph1_bithuff_t::operator() (int nbits, ushort *huff) - { -- static UINT64 bitbuf=0; -- static int vbits=0; -+/*RT static UINT64 bitbuf=0; */ -+/*RT static int vbits=0; */ - unsigned c; - - if (nbits == -1) - return bitbuf = vbits = 0; - if (nbits == 0) return 0; -@@ -1689,11 +1700,11 @@ - maximum = 0xffff; - raw_color = 1; - } - } - --void CLASS unpacked_load_raw(); -+/*RT void CLASS unpacked_load_raw(); */ - - void CLASS sinar_4shot_load_raw() - { - ushort *pixel; - unsigned shot, row, col, r, c; -@@ -1830,14 +1841,14 @@ - free (data); - if (top_margin) black /= top_margin * width; - maximum = 0x3ff; - } - --unsigned CLASS pana_bits (int nbits) -+unsigned CLASS pana_bits_t::operator() (int nbits) - { -- static uchar buf[0x4000]; -- static int vbits; -+/*RT static uchar buf[0x4000]; */ -+/*RT static int vbits;*/ - int byte; - - if (!nbits) return vbits=0; - if (!vbits) { - fread (buf+load_flags, 1, 0x4000-load_flags, ifp); -@@ -2122,15 +2133,15 @@ - #else - - METHODDEF(boolean) - fill_input_buffer (j_decompress_ptr cinfo) - { -- static uchar jpeg_buffer[4096]; -+/*RT static uchar jpeg_buffer[4096]; */ - size_t nbytes; - - nbytes = fread (jpeg_buffer, 1, 4096, ifp); -- swab (jpeg_buffer, jpeg_buffer, nbytes); -+ swab ((char*)jpeg_buffer, (char*)jpeg_buffer, nbytes); - cinfo->src->next_input_byte = jpeg_buffer; - cinfo->src->bytes_in_buffer = nbytes; - return TRUE; - } - -@@ -2398,13 +2409,13 @@ - for (col=0; col < width; col++) - read_shorts (image[row*width+col], colors); - maximum = (1 << (thumb_misc & 31)) - 1; - } - --void CLASS sony_decrypt (unsigned *data, int len, int start, int key) -+void CLASS sony_decrypt_t::operator()(unsigned *data, int len, int start, int key) - { -- static unsigned pad[128], p; -+/*RT static unsigned pad[128], p;*/ - - if (start) { - for (p=0; p < 4; p++) - pad[p] = key = key * 48828125 + 1; - pad[3] = pad[3] << 1 | (pad[0]^pad[2]) >> 31; -@@ -2647,11 +2658,11 @@ - - /* RESTRICTED code starts here */ - - void CLASS foveon_decoder (unsigned size, unsigned code) - { -- static unsigned huff[1024]; -+/*RT static unsigned huff[1024];*/ - struct decode *cur; - int i, len; - - if (!code) { - for (i=0; i < size; i++) -@@ -4331,11 +4342,11 @@ - if (tag == tlen) thumb_length = get4(); - fseek (ifp, save, SEEK_SET); - } - } - --int CLASS parse_tiff_ifd (int base); -+/*RT int CLASS parse_tiff_ifd (int base);*/ - - void CLASS parse_makernote (int base, int uptag) - { - static const uchar xlat[2][256] = { - { 0xc1,0xbf,0x6d,0x0d,0x59,0xc5,0x13,0x9d,0x83,0x61,0x6b,0x4f,0xc7,0x7f,0x3d,0x3d, -@@ -4459,11 +4470,11 @@ - cam_mul[0] = getreal(type); - cam_mul[2] = getreal(type); - } - if (tag == 0xd && type == 7 && get2() == 0xaaaa) { - fread (buf97, 1, sizeof buf97, ifp); -- i = (uchar *) memmem (buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10; -+ i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10; - if (i < 70 && buf97[i] < 3) - flip = "065"[buf97[i]]-'0'; - } - if (tag == 0x10 && type == 4) - unique_id = get4(); -@@ -4842,12 +4853,12 @@ - if (tag == 64020) height = (getint(type)+1) & -2; - fseek (ifp, save, SEEK_SET); - } - } - --void CLASS parse_minolta (int base); --int CLASS parse_tiff (int base); -+/*RT void CLASS parse_minolta (int base); */ -+/*RT int CLASS parse_tiff (int base);*/ - - int CLASS parse_tiff_ifd (int base) - { - unsigned entries, tag, type, len, plen=16, save; - int ifd, use_cm=0, cfa, i, j, c, ima_len=0; -@@ -4857,11 +4868,11 @@ - double cc[4][4], cm[4][3], cam_xyz[4][3], num; - double ab[]={ 1,1,1,1 }, asn[] = { 0,0,0,0 }, xyz[] = { 1,1,1 }; - unsigned sony_curve[] = { 0,0,0,0,0,4095 }; - unsigned *buf, sony_offset=0, sony_length=0, sony_key=0; - struct jhead jh; -- FILE *sfp; -+/*RT*/ IMFILE *sfp; - - if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0]) - return 1; - ifd = tiff_nifds++; - for (j=0; j < 4; j++) -@@ -4874,10 +4885,13 @@ - switch (tag) { - case 5: width = get2(); break; - case 6: height = get2(); break; - case 7: width += get2(); break; - case 9: filters = get2(); break; -+ case 14: case 15: case 16: -+ maximum = get2(); -+ break; - case 17: case 18: - if (type == 3 && len == 1) - cam_mul[(tag-17)*2] = get2() / 256.0; - break; - case 23: -@@ -5272,16 +5286,17 @@ - if (sony_length && (buf = (unsigned *) malloc(sony_length))) { - fseek (ifp, sony_offset, SEEK_SET); - fread (buf, sony_length, 1, ifp); - sony_decrypt (buf, sony_length/4, 1, sony_key); - sfp = ifp; -- if ((ifp = tmpfile())) { -- fwrite (buf, sony_length, 1, ifp); -- fseek (ifp, 0, SEEK_SET); -+/*RT*/ ifp = fopen (buf, sony_length); -+// if ((ifp = tmpfile())) { -+// fwrite (buf, sony_length, 1, ifp); -+// fseek (ifp, 0, SEEK_SET); - parse_tiff_ifd (-sony_offset); -- fclose (ifp); -- } -+// fclose (ifp); -+// } - ifp = sfp; - free (buf); - } - for (i=0; i < colors; i++) - FORCC cc[i][c] *= ab[i]; -@@ -5302,10 +5317,12 @@ - - int CLASS parse_tiff (int base) - { - int doff; - -+ /*RT*/ if (exif_base == -1) exif_base = base; -+ - fseek (ifp, base, SEEK_SET); - order = get2(); - if (order != 0x4949 && order != 0x4d4d) return 0; - get2(); - while ((doff = get4())) { -@@ -5476,11 +5493,11 @@ - */ - void CLASS parse_external_jpeg() - { - const char *file, *ext; - char *jname, *jfile, *jext; -- FILE *save=ifp; -+/*RT*/ IMFILE *save=ifp; - - ext = strrchr (ifname, '.'); - file = strrchr (ifname, '/'); - if (!file) file = strrchr (ifname, '\\'); - if (!file) file = ifname-1; -@@ -5504,11 +5521,12 @@ - break; - } - *jext = '0'; - } - if (strcmp (jname, ifname)) { -- if ((ifp = fopen (jname, "rb"))) { -+/*RT*/ if ((ifp = fopen (jname))) { -+// if ((ifp = fopen (jname, "rb"))) { - if (verbose) - fprintf (stderr,_("Reading metadata from %s ...\n"), jname); - parse_tiff (12); - thumb_offset = 0; - is_raw = 1; -@@ -5842,11 +5860,15 @@ - raw_width = get2(); - } - order = get2(); - hlen = get4(); - if (get4() == 0x48454150) /* "HEAP" */ -- parse_ciff (save+hlen, len-hlen); -+/*RT*/ { -+/*RT*/ ciff_base = save+hlen; -+/*RT*/ ciff_len = len-hlen; -+ parse_ciff (save+hlen, len-hlen); -+/*RT*/ } - if (parse_tiff (save+6)) apply_tiff(); - fseek (ifp, save+len, SEEK_SET); - } - return 1; - } -@@ -6626,14 +6648,14 @@ - { 5775,-805,-359,-8574,16295,2391,-1943,2341,7249 } }, - { "SONY DSLR-A850", 128, 0, - { 5413,-1162,-365,-5665,13098,2866,-608,1179,8440 } }, - { "SONY DSLR-A900", 128, 0, - { 5209,-1072,-397,-8845,16120,2919,-1618,1803,8654 } }, -- { "SONY NEX-3", 138, 0, /* DJC */ -- { 6907,-1256,-645,-4940,12621,2320,-1710,2581,6230 } }, -- { "SONY NEX-5", 116, 0, /* DJC */ -- { 6807,-1350,-342,-4216,11649,2567,-1089,2001,6420 } }, -+// { "SONY NEX-3", 138, 0, /* DJC */ -+// { 6907,-1256,-645,-4940,12621,2320,-1710,2581,6230 } }, -+// { "SONY NEX-5", 116, 0, /* DJC */ -+// { 6807,-1350,-342,-4216,11649,2567,-1089,2001,6420 } }, - { "SONY NEX", 128, 0, /* Adobe's matrix */ - { 6549,-1550,-436,-4880,12435,2753,-854,1868,6976 } }, - { "SONY SLT-A33", 128, 0, - { 6069,-1221,-366,-5221,12779,2734,-1024,2066,6834 } }, - { "SONY SLT-A55", 128, 0, -@@ -6877,17 +6899,25 @@ - hlen = get4(); - fseek (ifp, 0, SEEK_SET); - fread (head, 1, 32, ifp); - fseek (ifp, 0, SEEK_END); - flen = fsize = ftell(ifp); -+ -+ /*RT*/ if (fsize<100000) { -+ is_raw = 0; -+ return; -+ } -+ - if ((cp = (char *) memmem (head, 32, "MMMM", 4)) || - (cp = (char *) memmem (head, 32, "IIII", 4))) { - parse_phase_one (cp-head); - if (cp-head && parse_tiff(0)) apply_tiff(); - } else if (order == 0x4949 || order == 0x4d4d) { - if (!memcmp (head+6,"HEAPCCDR",8)) { - data_offset = hlen; -+/*RT*/ ciff_base = hlen; -+/*RT*/ ciff_len = fsize - hlen; - parse_ciff (hlen, flen - hlen); - } else if (parse_tiff(0)) apply_tiff(); - } else if (!memcmp (head,"\xff\xd8\xff\xe1",4) && - !memcmp (head+6,"Exif",4)) { - fseek (ifp, 4, SEEK_SET); -@@ -6925,10 +6955,11 @@ - parse_fuji (i); - } - fseek (ifp, 100, SEEK_SET); - parse_tiff (data_offset = get4()); - parse_tiff (thumb_offset+12); -+/*RT*/ exif_base = thumb_offset+12; - apply_tiff(); - } else if (!memcmp (head,"RIFF",4)) { - fseek (ifp, 0, SEEK_SET); - parse_riff(); - } else if (!memcmp (head,"\0\001\0\001\0@",6)) { -@@ -7007,11 +7038,11 @@ - if (height == 2624 && width == 3936) /* Pentax K10D and Samsung GX10 */ - { height = 2616; width = 3896; } - if (height == 3136 && width == 4864) /* Pentax K20D and Samsung GX20 */ - { height = 3124; width = 4688; filters = 0x16161616; } - if (!strcmp(model,"K-r") || !strcmp(model,"K-x")) -- { width = 4309; filters = 0x16161616; } -+/*RT*/ { width = 4308; filters = 0x16161616; } - if (!strcmp(model,"K-5")) - { left_margin = 10; width = 4950; filters = 0x16161616; } - if (!strcmp(model,"K-7")) - { height = 3122; width = 4684; filters = 0x16161616; top_margin = 2; } - if (!strcmp(model,"645D")) -@@ -8589,17 +8620,17 @@ - for (col=0; col < width; col++, soff += cstep) - if (output_bps == 8) - FORCC ppm [col*colors+c] = curve[image[soff][c]] >> 8; - else FORCC ppm2[col*colors+c] = curve[image[soff][c]]; - if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa) -- swab (ppm2, ppm2, width*colors*2); -+ swab ((char*)ppm2, (char*)ppm2, width*colors*2); - fwrite (ppm, colors*output_bps/8, width, ofp); - } - free (ppm); - } - --int CLASS main (int argc, const char **argv) -+/*int CLASS main (int argc, const char **argv) - { - int arg, status=0; - int timestamp_only=0, thumbnail_only=0, identify_only=0; - int user_qual=-1, user_black=-1, user_sat=-1, user_flip=-1; - int use_fuji_rotate=1, write_to_stdout=0, quality, i, c; -@@ -8708,11 +8739,11 @@ - case 'z': timestamp_only = 1; break; - case 'e': thumbnail_only = 1; break; - case 'i': identify_only = 1; break; - case 'c': write_to_stdout = 1; break; - case 'v': verbose = 1; break; -- case 'h': half_size = 1; /* "-h" implies "-f" */ -+ case 'h': half_size = 1; // "-h" implies "-f" - case 'f': four_color_rgb = 1; break; - case 'A': FORC4 greybox[c] = atoi(argv[arg++]); - case 'a': use_auto_wb = 1; break; - case 'w': use_camera_wb = 1; break; - case 'M': use_camera_matrix = (opm == '+'); break; -@@ -8971,5 +9002,6 @@ - else shot_select = 0; - } - } - return status; - } -+*/ +--- H:/rawtherapee_3.0/rtengine/dcraw.c Wed Feb 02 23:18:25 2011 ++++ H:/rawtherapee_3.0/rtengine/dcraw.cc Thu Mar 17 17:39:52 2011 +@@ -1,5 +1,14 @@ ++/*RT*/#include ++/*RT*/#include ++/*RT*/#undef MAX ++/*RT*/#undef MIN ++/*RT*/#define NO_LCMS ++/*RT*/#define NO_JPEG ++/*RT*/#define LOCALTIME ++/*RT*/#define DJGPP ++ + /* + dcraw.c -- Dave Coffin's raw photo decoder + Copyright 1997-2010 by Dave Coffin, dcoffin a cybercom o net + + This is a command-line ANSI C program to convert raw photos from +@@ -94,15 +103,16 @@ + + #define ushort UshORt + typedef unsigned char uchar; + typedef unsigned short ushort; + ++#include "dcraw.h" + /* + All global variables are defined here, and all functions that + access them are prefixed with "CLASS". Note that a thread-safe + C++ class cannot have non-const static local variables. +- */ ++ + FILE *ifp, *ofp; + short order; + const char *ifname; + char *meta_data; + char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64]; +@@ -126,17 +136,17 @@ + int half_size=0, four_color_rgb=0, document_mode=0, highlight=0; + int verbose=0, use_auto_wb=0, use_camera_wb=0, use_camera_matrix=-1; + int output_color=1, output_bps=8, output_tiff=0, med_passes=0; + int no_auto_bright=0; + unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX }; +-float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4]; +-const double xyz_rgb[3][3] = { /* XYZ from RGB */ ++float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4];*/ ++const double xyz_rgb[3][3] = { // XYZ from RGB + { 0.412453, 0.357580, 0.180423 }, + { 0.212671, 0.715160, 0.072169 }, + { 0.019334, 0.119193, 0.950227 } }; + const float d65_white[3] = { 0.950456, 1, 1.088754 }; +-int histogram[4][0x2000]; ++/*int histogram[4][0x2000]; + void (*write_thumb)(), (*write_fun)(); + void (*load_raw)(), (*thumb_load_raw)(); + jmp_buf failure; + + struct decode { +@@ -150,12 +160,12 @@ + + struct ph1 { + int format, key_off, black, black_off, split_col, tag_21a; + float tag_210; + } ph1; +- +-#define CLASS ++*/ ++#define CLASS DCraw:: + + #define FORC(cnt) for (c=0; c < cnt; c++) + #define FORC3 FORC(3) + #define FORC4 FORC(4) + #define FORCC FORC(colors) +@@ -269,10 +279,11 @@ + fprintf (stderr,_("Unexpected end of file\n")); + else + fprintf (stderr,_("Corrupt data near 0x%llx\n"), (INT64) ftello(ifp)); + } + data_error++; ++ /*RT*/ longjmp (failure, 1); + } + + ushort CLASS sget2 (uchar *s) + { + if (order == 0x4949) /* "II" means little-endian */ +@@ -342,11 +353,11 @@ + + void CLASS read_shorts (ushort *pixel, int count) + { + if (fread (pixel, 2, count, ifp) < count) derror(); + if ((order == 0x4949) == (ntohs(0x1234) == 0x1234)) +- swab (pixel, pixel, count*2); ++ swab ((char*)pixel, (char*)pixel, count*2); + } + + void CLASS canon_600_fixed_wb (int temp) + { + static const short mul[4][5] = { +@@ -534,14 +545,14 @@ + + /* + getbits(-1) initializes the buffer + getbits(n) where 0 <= n <= 25 returns an n-bit integer + */ +-unsigned CLASS getbithuff (int nbits, ushort *huff) ++unsigned CLASS getbithuff_t::operator() (int nbits, ushort *huff) + { +- static unsigned bitbuf=0; +- static int vbits=0, reset=0; ++/*RT static unsigned bitbuf=0; */ ++/*RT static int vbits=0, reset=0; */ + unsigned c; + + if (nbits == -1) + return bitbuf = vbits = reset = 0; + if (nbits == 0 || vbits < 0) return 0; +@@ -1284,11 +1295,11 @@ + } + } + free (pixel); + } + +-void CLASS jpeg_thumb(); ++/*RT void CLASS jpeg_thumb(); */ + + void CLASS ppm_thumb() + { + char *thumb; + thumb_length = thumb_width*thumb_height*3; +@@ -1560,14 +1571,14 @@ + } + free (pixel); + phase_one_correct(); + } + +-unsigned CLASS ph1_bithuff (int nbits, ushort *huff) ++unsigned CLASS ph1_bithuff_t::operator() (int nbits, ushort *huff) + { +- static UINT64 bitbuf=0; +- static int vbits=0; ++/*RT static UINT64 bitbuf=0; */ ++/*RT static int vbits=0; */ + unsigned c; + + if (nbits == -1) + return bitbuf = vbits = 0; + if (nbits == 0) return 0; +@@ -1689,11 +1700,11 @@ + maximum = 0xffff; + raw_color = 1; + } + } + +-void CLASS unpacked_load_raw(); ++/*RT void CLASS unpacked_load_raw(); */ + + void CLASS sinar_4shot_load_raw() + { + ushort *pixel; + unsigned shot, row, col, r, c; +@@ -1830,14 +1841,14 @@ + free (data); + if (top_margin) black /= top_margin * width; + maximum = 0x3ff; + } + +-unsigned CLASS pana_bits (int nbits) ++unsigned CLASS pana_bits_t::operator() (int nbits) + { +- static uchar buf[0x4000]; +- static int vbits; ++/*RT static uchar buf[0x4000]; */ ++/*RT static int vbits;*/ + int byte; + + if (!nbits) return vbits=0; + if (!vbits) { + fread (buf+load_flags, 1, 0x4000-load_flags, ifp); +@@ -2122,15 +2133,15 @@ + #else + + METHODDEF(boolean) + fill_input_buffer (j_decompress_ptr cinfo) + { +- static uchar jpeg_buffer[4096]; ++/*RT static uchar jpeg_buffer[4096]; */ + size_t nbytes; + + nbytes = fread (jpeg_buffer, 1, 4096, ifp); +- swab (jpeg_buffer, jpeg_buffer, nbytes); ++ swab ((char*)jpeg_buffer, (char*)jpeg_buffer, nbytes); + cinfo->src->next_input_byte = jpeg_buffer; + cinfo->src->bytes_in_buffer = nbytes; + return TRUE; + } + +@@ -2398,13 +2409,13 @@ + for (col=0; col < width; col++) + read_shorts (image[row*width+col], colors); + maximum = (1 << (thumb_misc & 31)) - 1; + } + +-void CLASS sony_decrypt (unsigned *data, int len, int start, int key) ++void CLASS sony_decrypt_t::operator()(unsigned *data, int len, int start, int key) + { +- static unsigned pad[128], p; ++/*RT static unsigned pad[128], p;*/ + + if (start) { + for (p=0; p < 4; p++) + pad[p] = key = key * 48828125 + 1; + pad[3] = pad[3] << 1 | (pad[0]^pad[2]) >> 31; +@@ -2647,11 +2658,11 @@ + + /* RESTRICTED code starts here */ + + void CLASS foveon_decoder (unsigned size, unsigned code) + { +- static unsigned huff[1024]; ++/*RT static unsigned huff[1024];*/ + struct decode *cur; + int i, len; + + if (!code) { + for (i=0; i < size; i++) +@@ -4331,11 +4342,11 @@ + if (tag == tlen) thumb_length = get4(); + fseek (ifp, save, SEEK_SET); + } + } + +-int CLASS parse_tiff_ifd (int base); ++/*RT int CLASS parse_tiff_ifd (int base);*/ + + void CLASS parse_makernote (int base, int uptag) + { + static const uchar xlat[2][256] = { + { 0xc1,0xbf,0x6d,0x0d,0x59,0xc5,0x13,0x9d,0x83,0x61,0x6b,0x4f,0xc7,0x7f,0x3d,0x3d, +@@ -4457,16 +4468,16 @@ + fread (artist, 64, 1, ifp); + if (tag == 0xc && len == 4) { + cam_mul[0] = getreal(type); + cam_mul[2] = getreal(type); + } +- if (tag == 0xd && type == 7 && get2() == 0xaaaa) { +- fread (buf97, 1, sizeof buf97, ifp); +- i = (uchar *) memmem (buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10; +- if (i < 70 && buf97[i] < 3) +- flip = "065"[buf97[i]]-'0'; +- } ++// if (tag == 0xd && type == 7 && get2() == 0xaaaa) { ++// fread (buf97, 1, sizeof buf97, ifp); ++// i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10; ++// if (i < 70 && buf97[i] < 3) ++// flip = "065"[buf97[i]]-'0'; ++// } + if (tag == 0x10 && type == 4) + unique_id = get4(); + if (tag == 0x11 && is_raw && !strncmp(make,"NIKON",5)) { + fseek (ifp, get4()+base, SEEK_SET); + parse_tiff_ifd (base); +@@ -4842,12 +4853,12 @@ + if (tag == 64020) height = (getint(type)+1) & -2; + fseek (ifp, save, SEEK_SET); + } + } + +-void CLASS parse_minolta (int base); +-int CLASS parse_tiff (int base); ++/*RT void CLASS parse_minolta (int base); */ ++/*RT int CLASS parse_tiff (int base);*/ + + int CLASS parse_tiff_ifd (int base) + { + unsigned entries, tag, type, len, plen=16, save; + int ifd, use_cm=0, cfa, i, j, c, ima_len=0; +@@ -4857,11 +4868,11 @@ + double cc[4][4], cm[4][3], cam_xyz[4][3], num; + double ab[]={ 1,1,1,1 }, asn[] = { 0,0,0,0 }, xyz[] = { 1,1,1 }; + unsigned sony_curve[] = { 0,0,0,0,0,4095 }; + unsigned *buf, sony_offset=0, sony_length=0, sony_key=0; + struct jhead jh; +- FILE *sfp; ++/*RT*/ IMFILE *sfp; + + if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0]) + return 1; + ifd = tiff_nifds++; + for (j=0; j < 4; j++) +@@ -4874,10 +4885,13 @@ + switch (tag) { + case 5: width = get2(); break; + case 6: height = get2(); break; + case 7: width += get2(); break; + case 9: filters = get2(); break; ++ case 14: case 15: case 16: ++ maximum = get2(); ++ break; + case 17: case 18: + if (type == 3 && len == 1) + cam_mul[(tag-17)*2] = get2() / 256.0; + break; + case 23: +@@ -4931,11 +4945,11 @@ + load_flags = 0x2008; + case 273: /* StripOffset */ + case 513: /* JpegIFOffset */ + case 61447: + tiff_ifd[ifd].offset = get4()+base; +- if (!tiff_ifd[ifd].bps) { ++/*RT*/if (!tiff_ifd[ifd].bps && tiff_ifd[ifd].offset>=0) { + fseek (ifp, tiff_ifd[ifd].offset, SEEK_SET); + if (ljpeg_start (&jh, 1)) { + tiff_ifd[ifd].comp = 6; + tiff_ifd[ifd].width = jh.wide; + tiff_ifd[ifd].height = jh.high; +@@ -5272,16 +5286,17 @@ + if (sony_length && (buf = (unsigned *) malloc(sony_length))) { + fseek (ifp, sony_offset, SEEK_SET); + fread (buf, sony_length, 1, ifp); + sony_decrypt (buf, sony_length/4, 1, sony_key); + sfp = ifp; +- if ((ifp = tmpfile())) { +- fwrite (buf, sony_length, 1, ifp); +- fseek (ifp, 0, SEEK_SET); ++/*RT*/ ifp = fopen (buf, sony_length); ++// if ((ifp = tmpfile())) { ++// fwrite (buf, sony_length, 1, ifp); ++// fseek (ifp, 0, SEEK_SET); + parse_tiff_ifd (-sony_offset); +- fclose (ifp); +- } ++// fclose (ifp); ++// } + ifp = sfp; + free (buf); + } + for (i=0; i < colors; i++) + FORCC cc[i][c] *= ab[i]; +@@ -5302,10 +5317,12 @@ + + int CLASS parse_tiff (int base) + { + int doff; + ++ /*RT*/ if (exif_base == -1) exif_base = base; ++ + fseek (ifp, base, SEEK_SET); + order = get2(); + if (order != 0x4949 && order != 0x4d4d) return 0; + get2(); + while ((doff = get4())) { +@@ -5476,11 +5493,11 @@ + */ + void CLASS parse_external_jpeg() + { + const char *file, *ext; + char *jname, *jfile, *jext; +- FILE *save=ifp; ++/*RT*/ IMFILE *save=ifp; + + ext = strrchr (ifname, '.'); + file = strrchr (ifname, '/'); + if (!file) file = strrchr (ifname, '\\'); + if (!file) file = ifname-1; +@@ -5504,11 +5521,12 @@ + break; + } + *jext = '0'; + } + if (strcmp (jname, ifname)) { +- if ((ifp = fopen (jname, "rb"))) { ++/*RT*/ if ((ifp = fopen (jname))) { ++// if ((ifp = fopen (jname, "rb"))) { + if (verbose) + fprintf (stderr,_("Reading metadata from %s ...\n"), jname); + parse_tiff (12); + thumb_offset = 0; + is_raw = 1; +@@ -5842,11 +5860,15 @@ + raw_width = get2(); + } + order = get2(); + hlen = get4(); + if (get4() == 0x48454150) /* "HEAP" */ +- parse_ciff (save+hlen, len-hlen); ++/*RT*/ { ++/*RT*/ ciff_base = save+hlen; ++/*RT*/ ciff_len = len-hlen; ++ parse_ciff (save+hlen, len-hlen); ++/*RT*/ } + if (parse_tiff (save+6)) apply_tiff(); + fseek (ifp, save+len, SEEK_SET); + } + return 1; + } +@@ -6626,14 +6648,14 @@ + { 5775,-805,-359,-8574,16295,2391,-1943,2341,7249 } }, + { "SONY DSLR-A850", 128, 0, + { 5413,-1162,-365,-5665,13098,2866,-608,1179,8440 } }, + { "SONY DSLR-A900", 128, 0, + { 5209,-1072,-397,-8845,16120,2919,-1618,1803,8654 } }, +- { "SONY NEX-3", 138, 0, /* DJC */ +- { 6907,-1256,-645,-4940,12621,2320,-1710,2581,6230 } }, +- { "SONY NEX-5", 116, 0, /* DJC */ +- { 6807,-1350,-342,-4216,11649,2567,-1089,2001,6420 } }, ++// { "SONY NEX-3", 138, 0, /* DJC */ ++// { 6907,-1256,-645,-4940,12621,2320,-1710,2581,6230 } }, ++// { "SONY NEX-5", 116, 0, /* DJC */ ++// { 6807,-1350,-342,-4216,11649,2567,-1089,2001,6420 } }, + { "SONY NEX", 128, 0, /* Adobe's matrix */ + { 6549,-1550,-436,-4880,12435,2753,-854,1868,6976 } }, + { "SONY SLT-A33", 128, 0, + { 6069,-1221,-366,-5221,12779,2734,-1024,2066,6834 } }, + { "SONY SLT-A55", 128, 0, +@@ -6877,17 +6899,25 @@ + hlen = get4(); + fseek (ifp, 0, SEEK_SET); + fread (head, 1, 32, ifp); + fseek (ifp, 0, SEEK_END); + flen = fsize = ftell(ifp); ++ ++ /*RT*/ if (fsize<100000) { ++ is_raw = 0; ++ return; ++ } ++ + if ((cp = (char *) memmem (head, 32, "MMMM", 4)) || + (cp = (char *) memmem (head, 32, "IIII", 4))) { + parse_phase_one (cp-head); + if (cp-head && parse_tiff(0)) apply_tiff(); + } else if (order == 0x4949 || order == 0x4d4d) { + if (!memcmp (head+6,"HEAPCCDR",8)) { + data_offset = hlen; ++/*RT*/ ciff_base = hlen; ++/*RT*/ ciff_len = fsize - hlen; + parse_ciff (hlen, flen - hlen); + } else if (parse_tiff(0)) apply_tiff(); + } else if (!memcmp (head,"\xff\xd8\xff\xe1",4) && + !memcmp (head+6,"Exif",4)) { + fseek (ifp, 4, SEEK_SET); +@@ -6925,10 +6955,11 @@ + parse_fuji (i); + } + fseek (ifp, 100, SEEK_SET); + parse_tiff (data_offset = get4()); + parse_tiff (thumb_offset+12); ++/*RT*/ exif_base = thumb_offset+12; + apply_tiff(); + } else if (!memcmp (head,"RIFF",4)) { + fseek (ifp, 0, SEEK_SET); + parse_riff(); + } else if (!memcmp (head,"\0\001\0\001\0@",6)) { +@@ -7007,11 +7038,11 @@ + if (height == 2624 && width == 3936) /* Pentax K10D and Samsung GX10 */ + { height = 2616; width = 3896; } + if (height == 3136 && width == 4864) /* Pentax K20D and Samsung GX20 */ + { height = 3124; width = 4688; filters = 0x16161616; } + if (!strcmp(model,"K-r") || !strcmp(model,"K-x")) +- { width = 4309; filters = 0x16161616; } ++/*RT*/ { width = 4308; filters = 0x16161616; } + if (!strcmp(model,"K-5")) + { left_margin = 10; width = 4950; filters = 0x16161616; } + if (!strcmp(model,"K-7")) + { height = 3122; width = 4684; filters = 0x16161616; top_margin = 2; } + if (!strcmp(model,"645D")) +@@ -8589,17 +8620,17 @@ + for (col=0; col < width; col++, soff += cstep) + if (output_bps == 8) + FORCC ppm [col*colors+c] = curve[image[soff][c]] >> 8; + else FORCC ppm2[col*colors+c] = curve[image[soff][c]]; + if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa) +- swab (ppm2, ppm2, width*colors*2); ++ swab ((char*)ppm2, (char*)ppm2, width*colors*2); + fwrite (ppm, colors*output_bps/8, width, ofp); + } + free (ppm); + } + +-int CLASS main (int argc, const char **argv) ++/*int CLASS main (int argc, const char **argv) + { + int arg, status=0; + int timestamp_only=0, thumbnail_only=0, identify_only=0; + int user_qual=-1, user_black=-1, user_sat=-1, user_flip=-1; + int use_fuji_rotate=1, write_to_stdout=0, quality, i, c; +@@ -8708,11 +8739,11 @@ + case 'z': timestamp_only = 1; break; + case 'e': thumbnail_only = 1; break; + case 'i': identify_only = 1; break; + case 'c': write_to_stdout = 1; break; + case 'v': verbose = 1; break; +- case 'h': half_size = 1; /* "-h" implies "-f" */ ++ case 'h': half_size = 1; // "-h" implies "-f" + case 'f': four_color_rgb = 1; break; + case 'A': FORC4 greybox[c] = atoi(argv[arg++]); + case 'a': use_auto_wb = 1; break; + case 'w': use_camera_wb = 1; break; + case 'M': use_camera_matrix = (opm == '+'); break; +@@ -8971,5 +9002,6 @@ + else shot_select = 0; + } + } + return status; + } ++*/ diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index 0d1374706..fd17a2cd6 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -109,7 +109,6 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) { mProcessing.lock (); - ipf.setScale (scale); bool highDetailNeeded=false; diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 9a47ac8d1..577e6f883 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -486,7 +486,6 @@ void ImProcFunctions::chrominanceCurve (LabImage* lold, LabImage* lnew, float* a lnew->a[i][j] = CLIPTO(nna,-32000,32000); lnew->b[i][j] = CLIPTO(nnb,-32000,32000); } - //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% } @@ -495,7 +494,7 @@ void ImProcFunctions::chrominanceCurve (LabImage* lold, LabImage* lnew, float* a void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { - double* cmultiplier = new double [181021]; + /*double* cmultiplier = new double [181021]; double boost_a = (params->colorBoost.amount + 100.0) / 100.0; double boost_b = (params->colorBoost.amount + 100.0) / 100.0; @@ -569,7 +568,7 @@ void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { lnew->b[i][j] = CLIPTO(nnb,-32000,32000); } - delete [] cmultiplier; + delete [] cmultiplier;*/ } void ImProcFunctions::impulsedenoise (LabImage* lab) { @@ -605,15 +604,17 @@ void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) { void ImProcFunctions::lumadenoise (LabImage* lab, int** b2) { - if (params->lumaDenoise.enabled && lab->W>=8 && lab->H>=8) + /*if (params->lumaDenoise.enabled && lab->W>=8 && lab->H>=8) #ifdef _OPENMP #pragma omp parallel #endif - bilateral (lab->L, lab->L, (unsigned short**)b2, lab->W, lab->H, params->lumaDenoise.radius / scale, params->lumaDenoise.edgetolerance, multiThread); + bilateral (lab->L, lab->L, (unsigned short**)b2, lab->W, lab->H, \ + params->lumaDenoise.radius / scale, params->lumaDenoise.edgetolerance, multiThread); + */ } void ImProcFunctions::colordenoise (LabImage* lab, int** b2) { - + /* if (params->colorDenoise.enabled && lab->W>=8 && lab->H>=8) { #ifdef _OPENMP #pragma omp parallel @@ -628,6 +629,7 @@ void ImProcFunctions::colordenoise (LabImage* lab, int** b2) { delete buffer; } } + */ } void ImProcFunctions::getAutoExp (unsigned int* histogram, int histcompr, double expcomp, double clip, double& br, int& bl) { diff --git a/rtengine/jdatasrc.c b/rtengine/jdatasrc.c index c30c4c37a..d33452fb8 100644 --- a/rtengine/jdatasrc.c +++ b/rtengine/jdatasrc.c @@ -1,13 +1,13 @@ -#include -#include -#include -#include "jpeg.h" - +#include +#include +#include +#include "jpeg.h" + /* * jdatasrc.c * * Copyright (C) 1994-1996, Thomas G. Lane. - * Modified 2009-2010 by Guido Vollbeding. + * Modified 2009-2010 by Guido Vollbeding. * This file is part of the Independent JPEG Group's software. * For conditions of distribution and use, see the accompanying README file. * @@ -22,20 +22,20 @@ /* this is not a core library module, so it doesn't define JPEG_INTERNALS */ //#include "jinclude.h" - -#define JFREAD(file,buf,sizeofbuf) \ - ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) -#define JFWRITE(file,buf,sizeofbuf) \ - ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) - - + +#define JFREAD(file,buf,sizeofbuf) \ + ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) +#define JFWRITE(file,buf,sizeofbuf) \ + ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) + + /* Expanded data source object for stdio input */ typedef struct { struct jpeg_source_mgr pub; /* public fields */ - jmp_buf error_jmp_buf; /* error handler for this instance */ + jmp_buf error_jmp_buf; /* error handler for this instance */ FILE * infile; /* source stream */ JOCTET * buffer; /* start of buffer */ @@ -228,7 +228,7 @@ my_jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile) METHODDEF(void) my_error_exit (j_common_ptr cinfo) -{ +{ /* Always display the message */ (*cinfo->err->output_message) (cinfo); diff --git a/rtengine/myfile.h b/rtengine/myfile.h index 5a1468b4d..2222eab37 100644 --- a/rtengine/myfile.h +++ b/rtengine/myfile.h @@ -53,7 +53,7 @@ inline void fseek (IMFILE* f, int p, int how) { else if (how==SEEK_END) f->pos = f->size-p; - if (f->pos < 0 || f->pos> f->size) + if (f->pos < 0 || f->pos> f->size) f->pos = fpos; } diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index b6fa04355..c0ba5dba0 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -422,7 +422,6 @@ int RawImageSource::cfaCleanFromMap( PixelsMap &bitmapBads ) int RawImageSource::findHotDeadPixel( PixelsMap &bpMap, float thresh) { volatile int counter=0; - unsigned short (*cfablur); cfablur = (unsigned short (*)) calloc (H*W, sizeof *cfablur); @@ -445,12 +444,10 @@ int RawImageSource::findHotDeadPixel( PixelsMap &bpMap, float thresh) } //TODO: counter needs a openmp fix. + #pragma omp for //cfa pixel heat/death evaluation for (int rr=0; rr < H; rr++) { - - //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - for (int cc=0; cc < W; cc++) { //rawData[rr][cc] = cfablur[rr*W+cc];//diagnostic diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index 5c4cca9d3..394c40f45 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -45,9 +45,9 @@ void ParamsEdited::set (bool v) { labCurve.brightness = v; labCurve.contrast = v; labCurve.saturation = v; - labCurve.avoidclip = v; - labCurve.enable_saturationlimiter = v; - labCurve.saturationlimit = v; + labCurve.avoidclip = v; + labCurve.enable_saturationlimiter = v; + labCurve.saturationlimit = v; sharpening.enabled = v; sharpening.radius = v; sharpening.amount = v; diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc index 67fd1c6da..3e35083a7 100644 --- a/rtgui/partialpastedlg.cc +++ b/rtgui/partialpastedlg.cc @@ -24,10 +24,10 @@ PartialPasteDlg::PartialPasteDlg () { set_modal (true); set_title (M("PARTIALPASTE_DIALOGLABEL")); - everything = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EVERYTHING"))); - + everything = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EVERYTHING"))); + basic = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_BASICGROUP"))); - luminance = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LUMINANCEGROUP"))); + detail = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DETAILGROUP"))); color = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORGROUP"))); lens = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LENSGROUP"))); composition = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COMPOSITIONGROUP"))); @@ -37,19 +37,20 @@ PartialPasteDlg::PartialPasteDlg () { // options in basic: wb = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_WHITEBALANCE"))); exposure = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EXPOSURE"))); - hlrec = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_HLRECOVERY"))); - - // options in luminance: - sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING"))); - impden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_IMPULSEDENOISE"))); - lumaden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LUMADENOISE"))); - labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE"))); + hlrec = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_HLRECONSTRUCTION"))); sh = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHADOWSHIGHLIGHTS"))); + labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE"))); + + // options in detail: + sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING"))); + impden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_IMPULSEDENOISE"))); + lumaden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LUMADENOISE"))); dirpyreq = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DIRPYREQUALIZER"))); waveq = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_WAVELETEQUALIZER"))); + defringe = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DEFRINGE"))); // options in color: - colormixer = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORMIXER"))); + chmixer = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_CHANNELMIXER"))); colorshift = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORSHIFT"))); colorboost = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORBOOST"))); colorden = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COLORDENOISE"))); @@ -66,6 +67,8 @@ PartialPasteDlg::PartialPasteDlg () { finerot = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ROTATION"))); crop = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_CROP"))); resize = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RESIZE"))); + perspective = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PERSPECTIVE"))); + commonTrans = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_COMMONTRANSFORMPARAMS"))); // options in metaicm: exifch = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_EXIFCHANGES"))); @@ -73,19 +76,30 @@ PartialPasteDlg::PartialPasteDlg () { icm = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_ICMSETTINGS"))); // options in raw: - df_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DARKFRAMEFILE"))); - df_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DARKFRAMEAUTOSELECT"))); - ff_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDFILE"))); - ff_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDAUTOSELECT"))); - ff_BlurRadius = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURRADIUS"))); - ff_BlurType = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURTYPE"))); - - Gtk::VBox* vboxes[7]; - Gtk::HSeparator* hseps[7]; - for (int i=0; i<7; i++) { + raw_expos = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWEXPOS_LINEAR"))); + raw_preser = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWEXPOS_PRESER"))); + raw_ca_autocorrect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_AUTO"))); + raw_cared = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_CARED"))); + raw_cablue = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAWCACORR_CABLUE"))); + raw_hotdeadpix_filt = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT"))); + raw_linenoise = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PREPROCESS_LINEDENOISE"))); + raw_greenthresh = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_PREPROCESS_GREENEQUIL"))); + raw_dmethod = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_DMETHOD"))); + raw_ccSteps = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_FALSECOLOR"))); + raw_dcb_iterations = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_DCBITERATIONS"))); + raw_dcb_enhance = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_RAW_DCBENHANCE"))); + df_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DARKFRAMEFILE"))); + df_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_DARKFRAMEAUTOSELECT"))); + ff_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDFILE"))); + ff_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDAUTOSELECT"))); + ff_BlurRadius = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURRADIUS"))); + ff_BlurType = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURTYPE"))); + Gtk::VBox* vboxes[7]; + Gtk::HSeparator* hseps[7]; + for (int i=0; i<7; i++) { vboxes[i] = Gtk::manage (new Gtk::VBox ()); - vboxes[i]->set_border_width (16); + vboxes[i]->set_border_width (6); hseps[i] = Gtk::manage (new Gtk::HSeparator ()); } @@ -94,26 +108,26 @@ PartialPasteDlg::PartialPasteDlg () { vboxes[0]->pack_start (*wb, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*exposure, Gtk::PACK_SHRINK, 2); vboxes[0]->pack_start (*hlrec, Gtk::PACK_SHRINK, 2); + vboxes[0]->pack_start (*sh, Gtk::PACK_SHRINK, 2); + vboxes[0]->pack_start (*labcurve, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*luminance, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*detail, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*hseps[1], Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpen, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*impden, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*lumaden, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*labcurve, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*sh, Gtk::PACK_SHRINK, 2); + //vboxes[1]->pack_start (*lumaden, Gtk::PACK_SHRINK, 2); + //vboxes[1]->pack_start (*colorden, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*dirpyrden, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*defringe, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*dirpyreq, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*waveq, Gtk::PACK_SHRINK, 2); + //vboxes[1]->pack_start (*waveq, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*color, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*hseps[2], Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colormixer, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colorshift, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colorboost, Gtk::PACK_SHRINK, 2); + vboxes[2]->pack_start (*chmixer, Gtk::PACK_SHRINK, 2); + //vboxes[2]->pack_start (*colorshift, Gtk::PACK_SHRINK, 2); + //vboxes[2]->pack_start (*colorboost, Gtk::PACK_SHRINK, 2); vboxes[2]->pack_start (*hsveq, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*colorden, Gtk::PACK_SHRINK, 2); - vboxes[2]->pack_start (*dirpyrden, Gtk::PACK_SHRINK, 2); - vboxes[3]->pack_start (*lens, Gtk::PACK_SHRINK, 2); vboxes[3]->pack_start (*hseps[3], Gtk::PACK_SHRINK, 2); @@ -127,29 +141,43 @@ PartialPasteDlg::PartialPasteDlg () { vboxes[4]->pack_start (*finerot, Gtk::PACK_SHRINK, 2); vboxes[4]->pack_start (*crop, Gtk::PACK_SHRINK, 2); vboxes[4]->pack_start (*resize, Gtk::PACK_SHRINK, 2); + vboxes[4]->pack_start (*perspective, Gtk::PACK_SHRINK, 2); + vboxes[4]->pack_start (*commonTrans, Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*raw, Gtk::PACK_SHRINK, 2); + vboxes[5]->pack_start (*metaicm, Gtk::PACK_SHRINK, 2); vboxes[5]->pack_start (*hseps[5], Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*df_file, Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*df_AutoSelect, Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*ff_file, Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*ff_AutoSelect, Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*ff_BlurType, Gtk::PACK_SHRINK, 2); - vboxes[5]->pack_start (*ff_BlurRadius, Gtk::PACK_SHRINK, 2); + vboxes[5]->pack_start (*exifch, Gtk::PACK_SHRINK, 2); + vboxes[5]->pack_start (*iptc, Gtk::PACK_SHRINK, 2); + vboxes[5]->pack_start (*icm, Gtk::PACK_SHRINK, 2); - vboxes[6]->pack_start (*metaicm, Gtk::PACK_SHRINK, 2); - vboxes[6]->pack_start (*hseps[6], Gtk::PACK_SHRINK, 2); - vboxes[6]->pack_start (*exifch, Gtk::PACK_SHRINK, 2); - vboxes[6]->pack_start (*iptc, Gtk::PACK_SHRINK, 2); - vboxes[6]->pack_start (*icm, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*hseps[6], Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_dmethod, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_ccSteps, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_dcb_iterations, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_dcb_enhance, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_linenoise, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_greenthresh, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_hotdeadpix_filt, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_expos, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_preser, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*df_file, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*df_AutoSelect, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*ff_file, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*ff_AutoSelect, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*ff_BlurType, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*ff_BlurRadius, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_ca_autocorrect, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_cared, Gtk::PACK_SHRINK, 2); + vboxes[6]->pack_start (*raw_cablue, Gtk::PACK_SHRINK, 2); Gtk::VBox* vbCol1 = Gtk::manage (new Gtk::VBox ()); Gtk::VBox* vbCol2 = Gtk::manage (new Gtk::VBox ()); Gtk::VBox* vbCol3 = Gtk::manage (new Gtk::VBox ()); - vbCol1->set_border_width (16); - vbCol2->set_border_width (16); - vbCol3->set_border_width (16); + vbCol1->set_border_width (8); + vbCol2->set_border_width (8); + vbCol3->set_border_width (8); for (int i=0; i<3; i++) vbCol1->pack_start (*vboxes[i]); @@ -158,13 +186,13 @@ PartialPasteDlg::PartialPasteDlg () { for (int i=6; i<7; i++) vbCol3->pack_start (*vboxes[i]); - Gtk::VBox* vbtop = Gtk::manage (new Gtk::VBox ()); - vbtop->pack_start (*everything, Gtk::PACK_SHRINK, 2); + Gtk::VBox* vbtop = Gtk::manage (new Gtk::VBox ()); + vbtop->pack_start (*everything, Gtk::PACK_SHRINK, 2); vbtop->pack_start (*(Gtk::manage (new Gtk::HSeparator ()))); vbtop->set_border_width (8); - - get_vbox()->pack_start (*vbtop); - + + get_vbox()->pack_start (*vbtop); + Gtk::HBox* hbmain = Gtk::manage (new Gtk::HBox ()); hbmain->pack_start (*vbCol1); hbmain->pack_start (*(Gtk::manage (new Gtk::VSeparator ()))); @@ -174,35 +202,36 @@ PartialPasteDlg::PartialPasteDlg () { get_vbox()->pack_start (*hbmain); - // This can be improved - // there is currently no binding of subsettings to CheckButton 'everything' for its inconsistent status + // This can be improved + // there is currently no binding of subsettings to CheckButton 'everything' for its inconsistent status everythingConn = everything->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::everythingToggled)); basicConn = basic->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::basicToggled)); - luminanceConn = luminance->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::luminanceToggled)); + detailConn = detail->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::detailToggled)); colorConn = color->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::colorToggled)); lensConn = lens->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::lensToggled)); compositionConn = composition->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::compositionToggled)); - metaicmConn = metaicm->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::metaicmToggled)); - rawConn = raw->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::rawToggled)); + metaicmConn = metaicm->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::metaicmToggled)); + rawConn = raw->signal_toggled().connect (sigc::mem_fun(*this, &PartialPasteDlg::rawToggled)); wbConn = wb->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); exposureConn = exposure->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); hlrecConn = hlrec->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); + shConn = sh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); + labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); - sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - impdenConn = impden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - lumadenConn = lumaden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - shConn = sh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - dirpyreqConn = dirpyreq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); - waveqConn = waveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*luminance, &Gtk::CheckButton::set_inconsistent), true)); + sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + impdenConn = impden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + //lumadenConn = lumaden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + //colordenConn = colorden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + dirpyrdenConn = dirpyrden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + dirpyreqConn = dirpyreq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + //waveqConn = waveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); + defringeConn = defringe->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); - colormixerConn = colormixer->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - colorshiftConn = colorshift->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - colorboostConn = colorboost->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - hsveqConn = hsveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - colordenConn = colorden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); - dirpyrdenConn = dirpyrden->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + chmixerConn = chmixer->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + //colorshiftConn = colorshift->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + //colorboostConn = colorboost->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); + hsveqConn = hsveq->signal_toggled().connect (sigc::bind (sigc::mem_fun(*color, &Gtk::CheckButton::set_inconsistent), true)); distortionConn = distortion->signal_toggled().connect (sigc::bind (sigc::mem_fun(*lens, &Gtk::CheckButton::set_inconsistent), true)); cacorrConn = cacorr->signal_toggled().connect (sigc::bind (sigc::mem_fun(*lens, &Gtk::CheckButton::set_inconsistent), true)); @@ -212,17 +241,31 @@ PartialPasteDlg::PartialPasteDlg () { finerotConn = finerot->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); cropConn = crop->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); resizeConn = resize->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); + perspectiveConn = perspective->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); + commonTransConn = commonTrans->signal_toggled().connect (sigc::bind (sigc::mem_fun(*composition, &Gtk::CheckButton::set_inconsistent), true)); exifchConn = exifch->signal_toggled().connect (sigc::bind (sigc::mem_fun(*metaicm, &Gtk::CheckButton::set_inconsistent), true)); iptcConn = iptc->signal_toggled().connect (sigc::bind (sigc::mem_fun(*metaicm, &Gtk::CheckButton::set_inconsistent), true)); icmConn = icm->signal_toggled().connect (sigc::bind (sigc::mem_fun(*metaicm, &Gtk::CheckButton::set_inconsistent), true)); - df_fileConn = df_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); - df_AutoSelectConn = df_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); - ff_fileConn = ff_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); - ff_AutoSelectConn = ff_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); - ff_BlurRadiusConn = ff_BlurRadius->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); - ff_BlurTypeConn = ff_BlurType->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_dmethodConn = raw_dmethod->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_ccStepsConn = raw_ccSteps->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_dcb_iterationsConn = raw_dcb_iterations->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_dcb_enhanceConn = raw_dcb_enhance->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_exposConn = raw_expos->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_preserConn = raw_preser->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_ca_autocorrectConn = raw_ca_autocorrect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_caredConn = raw_cared->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_cablueConn = raw_cablue->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_hotdeadpix_filtConn = raw_hotdeadpix_filt->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_linenoiseConn = raw_linenoise->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + raw_greenthreshConn = raw_greenthresh->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + df_fileConn = df_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + df_AutoSelectConn = df_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + ff_fileConn = ff_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + ff_AutoSelectConn = ff_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + ff_BlurRadiusConn = ff_BlurRadius->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + ff_BlurTypeConn = ff_BlurType->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); add_button (Gtk::StockID("gtk-ok"), 1); add_button (Gtk::StockID("gtk-cancel"), 0); @@ -232,140 +275,179 @@ PartialPasteDlg::PartialPasteDlg () { } void PartialPasteDlg::everythingToggled () { - - basicConn.block (true); - luminanceConn.block (true); - colorConn.block (true); - lensConn.block (true); - compositionConn.block (true); - metaicmConn.block (true); - rawConn.block (true); - - everything->set_inconsistent (false); - - //toggle group headings + + basicConn.block (true); + detailConn.block (true); + colorConn.block (true); + lensConn.block (true); + compositionConn.block (true); + metaicmConn.block (true); + rawConn.block (true); + + everything->set_inconsistent (false); + + //toggle group headings basic->set_active(everything->get_active()); - luminance->set_active(everything->get_active()); + detail->set_active(everything->get_active()); color->set_active(everything->get_active()); lens->set_active(everything->get_active()); composition->set_active(everything->get_active()); metaicm->set_active(everything->get_active()); raw->set_active(everything->get_active()); - + //toggle group children - PartialPasteDlg::basicToggled (); - PartialPasteDlg::luminanceToggled (); - PartialPasteDlg::colorToggled (); - PartialPasteDlg::lensToggled (); + PartialPasteDlg::basicToggled (); + PartialPasteDlg::detailToggled (); + PartialPasteDlg::colorToggled (); + PartialPasteDlg::lensToggled (); PartialPasteDlg::compositionToggled (); - PartialPasteDlg::metaicmToggled (); - PartialPasteDlg::rawToggled (); - - basicConn.block (false); - luminanceConn.block (false); - colorConn.block (false); - lensConn.block (false); - compositionConn.block (false); - metaicmConn.block (false); - rawConn.block (false); + PartialPasteDlg::metaicmToggled (); + PartialPasteDlg::rawToggled (); + + basicConn.block (false); + detailConn.block (false); + colorConn.block (false); + lensConn.block (false); + compositionConn.block (false); + metaicmConn.block (false); + rawConn.block (false); } -void PartialPasteDlg::rawToggled () { - - df_fileConn.block (true); - df_AutoSelectConn.block (true); - ff_fileConn.block (true); - ff_AutoSelectConn.block (true); - ff_BlurRadiusConn.block (true); - ff_BlurTypeConn.block (true); - - raw->set_inconsistent (false); - +void PartialPasteDlg::rawToggled () { + + raw_dmethodConn.block (true); + raw_ccStepsConn.block (true); + raw_dcb_iterationsConn.block (true); + raw_dcb_enhanceConn.block (true); + raw_exposConn.block (true); + raw_preserConn.block (true); + raw_ca_autocorrectConn.block (true); + raw_caredConn.block (true); + raw_cablueConn.block (true); + raw_hotdeadpix_filtConn.block (true); + raw_linenoiseConn.block (true); + raw_greenthreshConn.block (true); + df_fileConn.block (true); + df_AutoSelectConn.block (true); + ff_fileConn.block (true); + ff_AutoSelectConn.block (true); + ff_BlurRadiusConn.block (true); + ff_BlurTypeConn.block (true); + + raw->set_inconsistent (false); + + raw_dmethod->set_active (raw->get_active ()); + raw_ccSteps->set_active (raw->get_active ()); + raw_dcb_iterations->set_active (raw->get_active ()); + raw_dcb_enhance->set_active (raw->get_active ()); + raw_expos->set_active (raw->get_active ()); + raw_preser->set_active (raw->get_active ()); + raw_ca_autocorrect->set_active (raw->get_active ()); + raw_cared->set_active (raw->get_active ()); + raw_cablue->set_active (raw->get_active ()); + raw_hotdeadpix_filt->set_active (raw->get_active ()); + raw_linenoise->set_active (raw->get_active ()); + raw_greenthresh->set_active (raw->get_active ()); df_file->set_active (raw->get_active ()); - df_AutoSelect->set_active (raw->get_active ()); + df_AutoSelect->set_active (raw->get_active ()); ff_file->set_active (raw->get_active ()); ff_AutoSelect->set_active (raw->get_active ()); ff_BlurRadius->set_active (raw->get_active ()); - ff_BlurType->set_active (raw->get_active ()); - + ff_BlurType->set_active (raw->get_active ()); + + raw_dmethodConn.block (false); + raw_ccStepsConn.block (false); + raw_dcb_iterationsConn.block (false); + raw_dcb_enhanceConn.block (false); + raw_exposConn.block (false); + raw_preserConn.block (false); + raw_ca_autocorrectConn.block (false); + raw_caredConn.block (false); + raw_cablueConn.block (false); + raw_hotdeadpix_filtConn.block (false); + raw_linenoiseConn.block (false); + raw_greenthreshConn.block (false); df_fileConn.block (false); df_AutoSelectConn.block (false); ff_fileConn.block (false); - ff_AutoSelectConn.block (false); - ff_BlurRadiusConn.block (false); - ff_BlurTypeConn.block (false); -} + ff_AutoSelectConn.block (false); + ff_BlurRadiusConn.block (false); + ff_BlurTypeConn.block (false); +} void PartialPasteDlg::basicToggled () { wbConn.block (true); exposureConn.block (true); hlrecConn.block (true); + shConn.block (true); + labcurveConn.block (true); basic->set_inconsistent (false); wb->set_active (basic->get_active ()); exposure->set_active (basic->get_active ()); hlrec->set_active (basic->get_active ()); + sh->set_active (basic->get_active ()); + labcurve->set_active (basic->get_active ()); wbConn.block (false); exposureConn.block (false); hlrecConn.block (false); + labcurveConn.block (false); + shConn.block (false); } -void PartialPasteDlg::luminanceToggled () { +void PartialPasteDlg::detailToggled () { sharpenConn.block (true); - impdenConn.block (true); - lumadenConn.block (true); - labcurveConn.block (true); - shConn.block (true); + impdenConn.block (true); + dirpyrdenConn.block (true); + //lumadenConn.block (true); + //colordenConn.block (true); + defringeConn.block (true); dirpyreqConn.block (true); - waveqConn.block (true); + //waveqConn.block (true); - luminance->set_inconsistent (false); + detail->set_inconsistent (false); - sharpen->set_active (luminance->get_active ()); - impden->set_active (luminance->get_active ()); - lumaden->set_active (luminance->get_active ()); - labcurve->set_active (luminance->get_active ()); - sh->set_active (luminance->get_active ()); - dirpyreq->set_active (luminance->get_active ()); - waveq->set_active (luminance->get_active ()); + sharpen->set_active (detail->get_active ()); + impden->set_active (detail->get_active ()); + dirpyrden->set_active (detail->get_active ()); + //lumaden->set_active (detail->get_active ()); + //colorden->set_active (detail->get_active ()); + defringe->set_active (detail->get_active ()); + dirpyreq->set_active (detail->get_active ()); + //waveq->set_active (detail->get_active ()); sharpenConn.block (false); impdenConn.block (false); - lumadenConn.block (false); - labcurveConn.block (false); - shConn.block (false); - dirpyreqConn.block (false); - waveqConn.block (false); + dirpyrdenConn.block (false); + //lumadenConn.block (false); + //colordenConn.block (false); + defringeConn.block (false); + dirpyreqConn.block (false); + //waveqConn.block (false); } void PartialPasteDlg::colorToggled () { - colormixerConn.block (true); - colorshiftConn.block (true); - colorboostConn.block (true); + chmixerConn.block (true); hsveqConn.block (true); - colordenConn.block (true); - dirpyrdenConn.block (true); + //colorshiftConn.block (true); + //colorboostConn.block (true); color->set_inconsistent (false); - colormixer->set_active (color->get_active ()); - colorshift->set_active (color->get_active ()); - colorboost->set_active (color->get_active ()); - hsveq->set_active (color->get_active ()); - colorden->set_active (color->get_active ()); - dirpyrden->set_active (color->get_active ()); + chmixer->set_active (color->get_active ()); + //colorshift->set_active (color->get_active ()); + //colorboost->set_active (color->get_active ()); + hsveq->set_active (color->get_active ()); - colormixerConn.block (false); - colorshiftConn.block (false); - colorboostConn.block (false); + chmixerConn.block (false); hsveqConn.block (false); - colordenConn.block (false); - dirpyrdenConn.block (false); + //colorshiftConn.block (false); + //colorboostConn.block (false); } void PartialPasteDlg::lensToggled () { @@ -391,6 +473,8 @@ void PartialPasteDlg::compositionToggled () { finerotConn.block (true); cropConn.block (true); resizeConn.block (true); + perspectiveConn.block (true); + commonTransConn.block (true); composition->set_inconsistent (false); @@ -398,11 +482,15 @@ void PartialPasteDlg::compositionToggled () { finerot->set_active (composition->get_active ()); crop->set_active (composition->get_active ()); resize->set_active (composition->get_active ()); + perspective->set_active (composition->get_active ()); + commonTrans->set_active (composition->get_active ()); coarserotConn.block (false); finerotConn.block (false); cropConn.block (false); resizeConn.block (false); + perspectiveConn.block (false); + commonTransConn.block (false); } void PartialPasteDlg::metaicmToggled () { @@ -428,22 +516,23 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dst, const r if (wb->get_active ()) dst->wb = src->wb; if (exposure->get_active ()) dst->toneCurve = src->toneCurve; if (hlrec->get_active ()) dst->hlrecovery = src->hlrecovery; + if (sh->get_active ()) dst->sh = src->sh; + if (labcurve->get_active ()) dst->labCurve = src->labCurve; if (sharpen->get_active ()) dst->sharpening = src->sharpening; if (impden->get_active ()) dst->impulseDenoise = src->impulseDenoise; - if (lumaden->get_active ()) dst->lumaDenoise = src->lumaDenoise; - if (labcurve->get_active ()) dst->labCurve = src->labCurve; - if (sh->get_active ()) dst->sh = src->sh; + //if (lumaden->get_active ()) dst->lumaDenoise = src->lumaDenoise; if (dirpyreq->get_active ()) dst->dirpyrequalizer = src->dirpyrequalizer; - if (waveq->get_active ()) dst->equalizer = src->equalizer; - - if (colormixer->get_active ()) dst->chmixer = src->chmixer; - if (colorshift->get_active ()) dst->colorShift = src->colorShift; - if (colorboost->get_active ()) dst->colorBoost = src->colorBoost; - if (hsveq->get_active ()) dst->hsvequalizer = src->hsvequalizer; - if (colorden->get_active ()) dst->colorDenoise = src->colorDenoise; + //if (waveq->get_active ()) dst->equalizer = src->equalizer; + if (defringe->get_active ()) dst->defringe = src->defringe; if (dirpyrden->get_active ()) dst->dirpyrDenoise = src->dirpyrDenoise; + if (chmixer->get_active ()) dst->chmixer = src->chmixer; + //if (colorshift->get_active ()) dst->colorShift = src->colorShift; + //if (colorboost->get_active ()) dst->colorBoost = src->colorBoost; + if (hsveq->get_active ()) dst->hsvequalizer = src->hsvequalizer; + //if (colorden->get_active ()) dst->colorDenoise = src->colorDenoise; + if (distortion->get_active ()) dst->distortion = src->distortion; if (cacorr->get_active ()) dst->cacorrection = src->cacorrection; if (vignetting->get_active ()) dst->vignetting = src->vignetting; @@ -452,16 +541,30 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dst, const r if (finerot->get_active ()) dst->rotate = src->rotate; if (crop->get_active ()) dst->crop = src->crop; if (resize->get_active ()) dst->resize = src->resize; + if (perspective->get_active ()) dst->perspective = src->perspective; + if (commonTrans->get_active ()) dst->commonTrans = src->commonTrans; if (exifch->get_active ()) dst->exif = src->exif; if (iptc->get_active ()) dst->iptc = src->iptc; - if (icm->get_active ()) dst->icm = src->icm; - + if (icm->get_active ()) dst->icm = src->icm; + + if (raw_dmethod->get_active ()) dst->raw.dmethod =src->raw.dmethod; + if (raw_ccSteps->get_active ()) dst->raw.ccSteps =src->raw.ccSteps; + if (raw_dcb_iterations->get_active ()) dst->raw.dcb_iterations =src->raw.dcb_iterations; + if (raw_dcb_enhance->get_active ()) dst->raw.dcb_enhance =src->raw.dcb_enhance; + if (raw_expos->get_active ()) dst->raw.expos =src->raw.expos; + if (raw_preser->get_active ()) dst->raw.preser =src->raw.preser; + if (raw_ca_autocorrect->get_active ()) dst->raw.ca_autocorrect =src->raw.ca_autocorrect; + if (raw_cared->get_active ()) dst->raw.cared =src->raw.cared; + if (raw_cablue->get_active ()) dst->raw.cablue =src->raw.cablue; + if (raw_hotdeadpix_filt->get_active ()) dst->raw.hotdeadpix_filt=src->raw.hotdeadpix_filt; + if (raw_linenoise->get_active ()) dst->raw.linenoise =src->raw.linenoise; + if (raw_greenthresh->get_active ()) dst->raw.greenthresh =src->raw.greenthresh; if (df_file->get_active ()) dst->raw.dark_frame = src->raw.dark_frame; if (df_AutoSelect->get_active ()) dst->raw.df_autoselect = src->raw.df_autoselect; if (ff_file->get_active ()) dst->raw.ff_file = src->raw.ff_file; - if (ff_AutoSelect->get_active ()) dst->raw.ff_AutoSelect = src->raw.ff_AutoSelect; - if (ff_BlurRadius->get_active ()) dst->raw.ff_BlurRadius = src->raw.ff_BlurRadius; - if (ff_BlurType->get_active ()) dst->raw.ff_BlurType = src->raw.ff_BlurType; + if (ff_AutoSelect->get_active ()) dst->raw.ff_AutoSelect = src->raw.ff_AutoSelect; + if (ff_BlurRadius->get_active ()) dst->raw.ff_BlurRadius = src->raw.ff_BlurRadius; + if (ff_BlurType->get_active ()) dst->raw.ff_BlurType = src->raw.ff_BlurType; } diff --git a/rtgui/partialpastedlg.h b/rtgui/partialpastedlg.h index 2aa2e3914..e15390216 100644 --- a/rtgui/partialpastedlg.h +++ b/rtgui/partialpastedlg.h @@ -25,11 +25,12 @@ class PartialPasteDlg : public Gtk::Dialog { public: - Gtk::CheckButton* everything; - + + Gtk::CheckButton* everything; + // main groups: Gtk::CheckButton* basic; - Gtk::CheckButton* luminance; + Gtk::CheckButton* detail; Gtk::CheckButton* color; Gtk::CheckButton* lens; Gtk::CheckButton* composition; @@ -40,24 +41,24 @@ class PartialPasteDlg : public Gtk::Dialog { Gtk::CheckButton* wb; Gtk::CheckButton* exposure; Gtk::CheckButton* hlrec; - - // options in luminance: - Gtk::CheckButton* sharpen; - Gtk::CheckButton* impden; - Gtk::CheckButton* lumaden; - Gtk::CheckButton* labcurve; Gtk::CheckButton* sh; - Gtk::CheckButton* dirpyreq; - Gtk::CheckButton* waveq; + Gtk::CheckButton* labcurve; + + // options in detail: + Gtk::CheckButton* sharpen; + Gtk::CheckButton* impden; + Gtk::CheckButton* lumaden; + Gtk::CheckButton* waveq; + Gtk::CheckButton* colorden; + Gtk::CheckButton* dirpyrden; + Gtk::CheckButton* defringe; + Gtk::CheckButton* dirpyreq; // options in color: - Gtk::CheckButton* colormixer; + Gtk::CheckButton* chmixer; Gtk::CheckButton* colorshift; Gtk::CheckButton* colorboost; - Gtk::CheckButton* hsveq; - Gtk::CheckButton* colorden; - Gtk::CheckButton* dirpyrden; - + Gtk::CheckButton* hsveq; // options in lens: Gtk::CheckButton* distortion; @@ -69,6 +70,8 @@ class PartialPasteDlg : public Gtk::Dialog { Gtk::CheckButton* finerot; Gtk::CheckButton* crop; Gtk::CheckButton* resize; + Gtk::CheckButton* perspective; + Gtk::CheckButton* commonTrans; // options in metaicm: Gtk::CheckButton* exifch; @@ -76,23 +79,35 @@ class PartialPasteDlg : public Gtk::Dialog { Gtk::CheckButton* icm; // options in raw: + Gtk::CheckButton* raw_expos; + Gtk::CheckButton* raw_preser; + Gtk::CheckButton* raw_ca_autocorrect; + Gtk::CheckButton* raw_cared; + Gtk::CheckButton* raw_cablue; + Gtk::CheckButton* raw_hotdeadpix_filt; + Gtk::CheckButton* raw_linenoise; + Gtk::CheckButton* raw_greenthresh; + Gtk::CheckButton* raw_dmethod; + Gtk::CheckButton* raw_ccSteps; + Gtk::CheckButton* raw_dcb_iterations; + Gtk::CheckButton* raw_dcb_enhance; Gtk::CheckButton* df_file; - Gtk::CheckButton* df_AutoSelect; - Gtk::CheckButton* ff_file; - Gtk::CheckButton* ff_AutoSelect; - Gtk::CheckButton* ff_BlurRadius; - Gtk::CheckButton* ff_BlurType; - - sigc::connection everythingConn, basicConn, luminanceConn, colorConn, lensConn, compositionConn, metaicmConn, rawConn; + Gtk::CheckButton* df_AutoSelect; + Gtk::CheckButton* ff_file; + Gtk::CheckButton* ff_AutoSelect; + Gtk::CheckButton* ff_BlurRadius; + Gtk::CheckButton* ff_BlurType; - sigc::connection wbConn, exposureConn, hlrecConn; - sigc::connection sharpenConn, impdenConn, lumadenConn, labcurveConn, shConn, dirpyreqConn, waveqConn, hsveqConn; - sigc::connection colormixerConn, colorshiftConn, colorboostConn, colordenConn, dirpyrdenConn; + sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaicmConn, rawConn;; + + sigc::connection wbConn, exposureConn, hlrecConn, shConn, labcurveConn; + sigc::connection sharpenConn, impdenConn, lumadenConn, dirpyrdenConn, colordenConn, waveqConn, defringeConn, dirpyreqConn; + sigc::connection chmixerConn, colorshiftConn, colorboostConn, hsveqConn; sigc::connection distortionConn, cacorrConn, vignettingConn; - sigc::connection coarserotConn, finerotConn, cropConn, resizeConn; + sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, perspectiveConn, commonTransConn; sigc::connection exifchConn, iptcConn, icmConn; - sigc::connection df_fileConn, df_AutoSelectConn,ff_fileConn, ff_AutoSelectConn, ff_BlurRadiusConn, ff_BlurTypeConn; - + sigc::connection df_fileConn, df_AutoSelectConn, ff_fileConn, ff_AutoSelectConn, ff_BlurRadiusConn, ff_BlurTypeConn; + sigc::connection raw_caredConn, raw_cablueConn, raw_ca_autocorrectConn, raw_hotdeadpix_filtConn, raw_linenoiseConn, raw_greenthreshConn, raw_ccStepsConn, raw_dmethodConn, raw_dcb_iterationsConn, raw_dcb_enhanceConn, raw_exposConn, raw_preserConn; public: PartialPasteDlg (); @@ -101,7 +116,7 @@ class PartialPasteDlg : public Gtk::Dialog { void everythingToggled (); void basicToggled (); - void luminanceToggled (); + void detailToggled (); void colorToggled (); void lensToggled (); void compositionToggled (); diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 72a819d44..6b65ec52a 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -158,23 +158,23 @@ Gtk::Widget* Preferences::getBatchProcPanel () { mi->set_value (behavColumns.label, M("TP_SHARPENING_LABEL")); appendBehavList (mi, M("TP_SHARPENING_AMOUNT"), ADDSET_SHARP_AMOUNT, false); - mi = behModel->append (); - mi->set_value (behavColumns.label, M("TP_LUMADENOISE_LABEL")); - appendBehavList (mi, M("TP_LUMADENOISE_EDGETOLERANCE"), ADDSET_LD_EDGETOLERANCE, true); + //mi = behModel->append (); + //mi->set_value (behavColumns.label, M("TP_LUMADENOISE_LABEL")); + //appendBehavList (mi, M("TP_LUMADENOISE_EDGETOLERANCE"), ADDSET_LD_EDGETOLERANCE, true); mi = behModel->append (); mi->set_value (behavColumns.label, M("TP_WBALANCE_LABEL")); appendBehavList (mi, M("TP_WBALANCE_TEMPERATURE"), ADDSET_WB_TEMPERATURE, true); appendBehavList (mi, M("TP_WBALANCE_GREEN"), ADDSET_WB_GREEN, true); - mi = behModel->append (); - mi->set_value (behavColumns.label, M("TP_COLORBOOST_LABEL")); - appendBehavList (mi, M("TP_COLORBOOST_AMOUNT"), ADDSET_CBOOST_AMOUNT, false); + //mi = behModel->append (); + //mi->set_value (behavColumns.label, M("TP_COLORBOOST_LABEL")); + //appendBehavList (mi, M("TP_COLORBOOST_AMOUNT"), ADDSET_CBOOST_AMOUNT, false); - mi = behModel->append (); - mi->set_value (behavColumns.label, M("TP_COLORSHIFT_LABEL")); - appendBehavList (mi, M("TP_COLORSHIFT_BLUEYELLOW"), ADDSET_CS_BLUEYELLOW, false); - appendBehavList (mi, M("TP_COLORSHIFT_GREENMAGENTA"), ADDSET_CS_GREENMAGENTA, false); + //mi = behModel->append (); + //mi->set_value (behavColumns.label, M("TP_COLORSHIFT_LABEL")); + //appendBehavList (mi, M("TP_COLORSHIFT_BLUEYELLOW"), ADDSET_CS_BLUEYELLOW, false); + //appendBehavList (mi, M("TP_COLORSHIFT_GREENMAGENTA"), ADDSET_CS_GREENMAGENTA, false); mi = behModel->append (); mi->set_value (behavColumns.label, M("TP_ROTATE_LABEL")); diff --git a/rtgui/splash.cc b/rtgui/splash.cc index 8707f2cd2..62eb6b888 100644 --- a/rtgui/splash.cc +++ b/rtgui/splash.cc @@ -18,6 +18,7 @@ */ #include #include +#include #include extern Glib::ustring argv0;