diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK) index 490a93762..db41c25cd 100644 --- a/rtdata/languages/English (UK) +++ b/rtdata/languages/English (UK) @@ -363,14 +363,14 @@ PREFERENCES_DATEFORMAT;Date Format PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:\n%y : year\n%m : month\n%d : day\n\nFor example, the hungarian date format is:\n%y/%m/%d PREFERENCES_DCBENHANCE;Apply DCB enhancment step PREFERENCES_DCBITERATIONS;Number of DCB iterations -#Emil's CA autocorrection -PREFERENCES_CACORRECTION;Apply CA auto correction +#Emil's CA autocorrection +PREFERENCES_CACORRECTION;Apply CA auto correction #Emil's hot/dead pixel filter -PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter -#Emil's line noise filter -PREFERENCES_LINEDENOISE;Line noise filter -PREFERENCES_GREENEQUIL;Green equilibration - +PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter +#Emil's line noise filter +PREFERENCES_LINEDENOISE;Line noise filter +PREFERENCES_GREENEQUIL;Green equilibration + PREFERENCES_DEFAULTLANG;Default language PREFERENCES_DEFAULTTHEME;Default theme PREFERENCES_DEMOSAICINGALGO;Demosaicing Algorithm @@ -525,6 +525,9 @@ TP_CROP_X;x TP_CROP_Y;y TP_DISTORTION_AMOUNT;Amount TP_DISTORTION_LABEL;Distortion +TP_EQUALIZER_LABEL;Wavelet equalizer +TP_EQUALIZER_FINEST;finest +TP_EQUALIZER_LARGEST;coarsest TP_EXPOSURE_AUTOLEVELS;Auto Levels TP_EXPOSURE_BLACKLEVEL;Black TP_EXPOSURE_BRIGHTNESS;Brightness @@ -643,62 +646,62 @@ TP_RESIZE_WIDTH;Width TP_RESIZE_HEIGHT;Height MAIN_TOGGLE_BEFORE_AFTER;B|A - -### - -### - -EXIFFILTER_METADATAFILTER;Enable Metadata Filters -CURVEEDITOR_PARAMETRIC;Parametric -CURVEEDITOR_CUSTOM;Custom -CURVEEDITOR_TYPE;Type: -CURVEEDITOR_HIGHLIGHTS;Highlights -CURVEEDITOR_LIGHTS;Lights -CURVEEDITOR_DARKS;Darks -CURVEEDITOR_SHADOWS;Shadows -BATCH_PROCESSING;batch processing -PREFERENCES_BATCH_PROCESSING;batch processing -PREFERENCES_BEHAVIOR;Behavior -PREFERENCES_PROPERTY;Property -PREFERENCES_ADD;ADD -PREFERENCES_SET;SET -PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser -MAIN_MSG_ERRORDURINGIMAGESAVING;Error during image saving -FILEBROWSER_CURRENT_NAME;Current name: -FILEBROWSER_NEW_NAME;New name: -FILEBROWSER_USETEMPLATE;Use template: -FILEBROWSER_ADDDELTEMPLATE;Add/Del templates... -ZOOMPANEL_ZOOMIN;Zoom In -ZOOMPANEL_ZOOMOUT;Zoom Out -ZOOMPANEL_ZOOM100;Zoom to 100% -ZOOMPANEL_ZOOMFITSCREEN;Fit to screen -ZOOMPANEL_NEWCROPWINDOW;Open (new) detail window -ZOOMPANEL_100;(100%) - -### - -MAIN_BUTTON_FULLSCREEN;Fullscreen -MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen -PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails - -NAVIGATOR_R_NA;R = n/a -NAVIGATOR_G_NA;G = n/a -NAVIGATOR_B_NA;B = n/a -NAVIGATOR_H_NA;H = n/a -NAVIGATOR_S_NA;S = n/a -NAVIGATOR_V_NA;V = n/a -NAVIGATOR_R_VALUE;R = %1 -NAVIGATOR_G_VALUE;G = %1 -NAVIGATOR_B_VALUE;B = %1 -NAVIGATOR_H_VALUE;H = %1 -NAVIGATOR_S_VALUE;S = %1 -NAVIGATOR_V_VALUE;V = %1 -NAVIGATOR_XY_NA;x = n/a, y = n/a -FILEBROWSER_SHOWEXIFINFO;Show EXIF info -TP_RESIZE_DOWNSCALEB;Downscale (Better) -TP_RESIZE_DOWNSCALEF;Downscale (Faster) -SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF -HISTOGRAM_BUTTON_R;R -HISTOGRAM_BUTTON_G;G -HISTOGRAM_BUTTON_B;B -HISTOGRAM_BUTTON_L;L + +### + +### + +EXIFFILTER_METADATAFILTER;Enable Metadata Filters +CURVEEDITOR_PARAMETRIC;Parametric +CURVEEDITOR_CUSTOM;Custom +CURVEEDITOR_TYPE;Type: +CURVEEDITOR_HIGHLIGHTS;Highlights +CURVEEDITOR_LIGHTS;Lights +CURVEEDITOR_DARKS;Darks +CURVEEDITOR_SHADOWS;Shadows +BATCH_PROCESSING;batch processing +PREFERENCES_BATCH_PROCESSING;batch processing +PREFERENCES_BEHAVIOR;Behavior +PREFERENCES_PROPERTY;Property +PREFERENCES_ADD;ADD +PREFERENCES_SET;SET +PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser +MAIN_MSG_ERRORDURINGIMAGESAVING;Error during image saving +FILEBROWSER_CURRENT_NAME;Current name: +FILEBROWSER_NEW_NAME;New name: +FILEBROWSER_USETEMPLATE;Use template: +FILEBROWSER_ADDDELTEMPLATE;Add/Del templates... +ZOOMPANEL_ZOOMIN;Zoom In +ZOOMPANEL_ZOOMOUT;Zoom Out +ZOOMPANEL_ZOOM100;Zoom to 100% +ZOOMPANEL_ZOOMFITSCREEN;Fit to screen +ZOOMPANEL_NEWCROPWINDOW;Open (new) detail window +ZOOMPANEL_100;(100%) + +### + +MAIN_BUTTON_FULLSCREEN;Fullscreen +MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen +PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails + +NAVIGATOR_R_NA;R = n/a +NAVIGATOR_G_NA;G = n/a +NAVIGATOR_B_NA;B = n/a +NAVIGATOR_H_NA;H = n/a +NAVIGATOR_S_NA;S = n/a +NAVIGATOR_V_NA;V = n/a +NAVIGATOR_R_VALUE;R = %1 +NAVIGATOR_G_VALUE;G = %1 +NAVIGATOR_B_VALUE;B = %1 +NAVIGATOR_H_VALUE;H = %1 +NAVIGATOR_S_VALUE;S = %1 +NAVIGATOR_V_VALUE;V = %1 +NAVIGATOR_XY_NA;x = n/a, y = n/a +FILEBROWSER_SHOWEXIFINFO;Show EXIF info +TP_RESIZE_DOWNSCALEB;Downscale (Better) +TP_RESIZE_DOWNSCALEF;Downscale (Faster) +SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF +HISTOGRAM_BUTTON_R;R +HISTOGRAM_BUTTON_G;G +HISTOGRAM_BUTTON_B;B +HISTOGRAM_BUTTON_L;L diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US) index c72716aab..497b132bf 100644 --- a/rtdata/languages/English (US) +++ b/rtdata/languages/English (US) @@ -16,637 +16,640 @@ # You should have received a copy of the GNU General Public License # along with RawTherapee. If not, see . # -# -# -# -ADJUSTER_RESET_TO_DEFAULT;Reset to default -CURVEEDITOR_FILEDLGFILTERANY;Any files -CURVEEDITOR_FILEDLGFILTERCURVE;Curve files -CURVEEDITOR_LINEAR;Linear -CURVEEDITOR_LOADDLGLABEL;Load Curve... -CURVEEDITOR_SAVEDLGLABEL;Save Curve... -CURVEEDITOR_TOOLTIPLINEAR;Reset curve to linear -CURVEEDITOR_TOOLTIPLOAD;Load a curve from file -CURVEEDITOR_TOOLTIPSAVE;Save current curve -EXIFFILTER_APERTURE;Aperture -EXIFFILTER_CAMERA;Camera -EXIFFILTER_DIALOGLABEL;Exif Filter -EXIFFILTER_FOCALLEN;Focal Length -EXIFFILTER_ISO;ISO -EXIFFILTER_LENS;Lens -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_APPLYPROFILE;Apply profile -FILEBROWSER_ARRANGEMENTHINT;Change between vertical/horizontal alignment of thumbnails -FILEBROWSER_CLEARPROFILE;Clear profile -FILEBROWSER_COPYPROFILE;Copy profile -FILEBROWSER_DELETEDLGLABEL;File delete confirmation -FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files? -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_PARTIALPASTEPROFILE;Partial paste -FILEBROWSER_PASTEPROFILE;Paste profile -FILEBROWSER_POPUPCANCELJOB;Cancel job -FILEBROWSER_POPUPMOVEEND;Move to end of queue -FILEBROWSER_POPUPMOVEHEAD;Move to head of queue -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_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_SHOWDIRHINT;Show all images of the directory -FILEBROWSER_SHOWQUEUEHINT;Show content of the processing queue -FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1 star -FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2 star -FILEBROWSER_SHOWRANK3HINT;Show images ranked as 3 star -FILEBROWSER_SHOWRANK4HINT;Show images ranked as 4 star -FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5 star -FILEBROWSER_SHOWTRASHHINT;Show content of the trash -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_ZOOMINHINT;Increase thumbnail size -FILEBROWSER_ZOOMOUTHINT;Decrease thumbnail size -GENERAL_ABOUT;About -GENERAL_CANCEL;Cancel -GENERAL_DISABLE;Disable -GENERAL_DISABLED;Disabled -GENERAL_ENABLE;Enable -GENERAL_ENABLED;Enabled -GENERAL_LANDSCAPE;Landscape -GENERAL_LOAD;Load -GENERAL_NA;n/a -GENERAL_NO;No -GENERAL_OK;OK -GENERAL_PORTRAIT;Portrait -GENERAL_SAVE;Save -GENERAL_YES;Yes -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_10;Shadow Compression -HISTORY_MSG_11;Tone Curve -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;Luminance 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_34;Avoid Color Clipping -HISTORY_MSG_35;Saturation Limiter -HISTORY_MSG_36;Saturation Limit -HISTORY_MSG_37;Color Boost -HISTORY_MSG_38;White Balance Method -HISTORY_MSG_39;Color Temperature -HISTORY_MSG_3;Profile Changed -HISTORY_MSG_40;White Balance Tint -HISTORY_MSG_41;Color Shift "A" -HISTORY_MSG_42;Color Shift "B" -HISTORY_MSG_43;Luminance Denoising -HISTORY_MSG_44;Lum. Denoising Radius -HISTORY_MSG_45;Lum. Denoising Edge Tolerance -HISTORY_MSG_46;Color Denoising -HISTORY_MSG_47;Color Denoising Radius -HISTORY_MSG_48;Color Denoising Edge Tolerance -HISTORY_MSG_49;Edge Sensitive Color Denoising -HISTORY_MSG_4;History Browsing -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_69;Working Color Space -HISTORY_MSG_6;Contrast -HISTORY_MSG_70;Output Color Space -HISTORY_MSG_71;Input Color Space -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_7;Black -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_8;Exposure Compensation -HISTORY_MSG_9;Highlight Compression -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_DATECREATED;Date Created -IPTCPANEL_DATECREATEDHINT;The date the intellectual content of the image was created; Format: JJJJMMTT (Date Created). -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_PROVINCE;Province -IPTCPANEL_PROVINCEHINT;The Province/State where the image originates (Province-State). -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_PREFERENCES;Preferences -MAIN_BUTTON_QUEUE;Put to queue -MAIN_BUTTON_SAVE;Save Image -MAIN_BUTTON_SAVEAS;As... -MAIN_BUTTON_SENDTOEDITOR;Send to editor +# +# +# +ADJUSTER_RESET_TO_DEFAULT;Reset to default +CURVEEDITOR_FILEDLGFILTERANY;Any files +CURVEEDITOR_FILEDLGFILTERCURVE;Curve files +CURVEEDITOR_LINEAR;Linear +CURVEEDITOR_LOADDLGLABEL;Load Curve... +CURVEEDITOR_SAVEDLGLABEL;Save Curve... +CURVEEDITOR_TOOLTIPLINEAR;Reset curve to linear +CURVEEDITOR_TOOLTIPLOAD;Load a curve from file +CURVEEDITOR_TOOLTIPSAVE;Save current curve +EXIFFILTER_APERTURE;Aperture +EXIFFILTER_CAMERA;Camera +EXIFFILTER_DIALOGLABEL;Exif Filter +EXIFFILTER_FOCALLEN;Focal Length +EXIFFILTER_ISO;ISO +EXIFFILTER_LENS;Lens +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_APPLYPROFILE;Apply profile +FILEBROWSER_ARRANGEMENTHINT;Change between vertical/horizontal alignment of thumbnails +FILEBROWSER_CLEARPROFILE;Clear profile +FILEBROWSER_COPYPROFILE;Copy profile +FILEBROWSER_DELETEDLGLABEL;File delete confirmation +FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files? +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_PARTIALPASTEPROFILE;Partial paste +FILEBROWSER_PASTEPROFILE;Paste profile +FILEBROWSER_POPUPCANCELJOB;Cancel job +FILEBROWSER_POPUPMOVEEND;Move to end of queue +FILEBROWSER_POPUPMOVEHEAD;Move to head of queue +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_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_SHOWDIRHINT;Show all images of the directory +FILEBROWSER_SHOWQUEUEHINT;Show content of the processing queue +FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1 star +FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2 star +FILEBROWSER_SHOWRANK3HINT;Show images ranked as 3 star +FILEBROWSER_SHOWRANK4HINT;Show images ranked as 4 star +FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5 star +FILEBROWSER_SHOWTRASHHINT;Show content of the trash +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_ZOOMINHINT;Increase thumbnail size +FILEBROWSER_ZOOMOUTHINT;Decrease thumbnail size +GENERAL_ABOUT;About +GENERAL_CANCEL;Cancel +GENERAL_DISABLE;Disable +GENERAL_DISABLED;Disabled +GENERAL_ENABLE;Enable +GENERAL_ENABLED;Enabled +GENERAL_LANDSCAPE;Landscape +GENERAL_LOAD;Load +GENERAL_NA;n/a +GENERAL_NO;No +GENERAL_OK;OK +GENERAL_PORTRAIT;Portrait +GENERAL_SAVE;Save +GENERAL_YES;Yes +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_10;Shadow Compression +HISTORY_MSG_11;Tone Curve +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;Luminance 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_34;Avoid Color Clipping +HISTORY_MSG_35;Saturation Limiter +HISTORY_MSG_36;Saturation Limit +HISTORY_MSG_37;Color Boost +HISTORY_MSG_38;White Balance Method +HISTORY_MSG_39;Color Temperature +HISTORY_MSG_3;Profile Changed +HISTORY_MSG_40;White Balance Tint +HISTORY_MSG_41;Color Shift "A" +HISTORY_MSG_42;Color Shift "B" +HISTORY_MSG_43;Luminance Denoising +HISTORY_MSG_44;Lum. Denoising Radius +HISTORY_MSG_45;Lum. Denoising Edge Tolerance +HISTORY_MSG_46;Color Denoising +HISTORY_MSG_47;Color Denoising Radius +HISTORY_MSG_48;Color Denoising Edge Tolerance +HISTORY_MSG_49;Edge Sensitive Color Denoising +HISTORY_MSG_4;History Browsing +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_69;Working Color Space +HISTORY_MSG_6;Contrast +HISTORY_MSG_70;Output Color Space +HISTORY_MSG_71;Input Color Space +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_7;Black +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_8;Exposure Compensation +HISTORY_MSG_9;Highlight Compression +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_DATECREATED;Date Created +IPTCPANEL_DATECREATEDHINT;The date the intellectual content of the image was created; Format: JJJJMMTT (Date Created). +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_PROVINCE;Province +IPTCPANEL_PROVINCEHINT;The Province/State where the image originates (Province-State). +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_PREFERENCES;Preferences +MAIN_BUTTON_QUEUE;Put to queue +MAIN_BUTTON_SAVE;Save Image +MAIN_BUTTON_SAVEAS;As... +MAIN_BUTTON_SENDTOEDITOR;Send to editor MAIN_BUTTON_FULLSCREEN;Fullscreen MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen -MAIN_FRAME_BATCHQUEUE;Batch Queue -MAIN_FRAME_FILEBROWSER;File Browser -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_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_QOVERWRITE;Do you want to overwrite it? -MAIN_TAB_BASIC;Basic -MAIN_TAB_COLOR;Color -MAIN_TAB_DETAIL;Detail -MAIN_TAB_DEVELOP;Develop -MAIN_TAB_EXIF;Exif -MAIN_TAB_EXPOSURE;Exposure -MAIN_TAB_FILTER;Filter -MAIN_TAB_ICM;ICM -MAIN_TAB_IPTC;IPTC -MAIN_TAB_METADATA;Metadata -MAIN_TAB_TAGGING;Tagging -MAIN_TAB_TRANSFORM;Transform -MAIN_TOOLTIP_HIDEFP;Show/hide the bottom panel (directory and file browser, shortcut key: F) -MAIN_TOOLTIP_HIDEHP;Show/hide the left panel (including the history, shortcut key: H) -MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication -MAIN_TOOLTIP_INDCLIPPEDS;Clipped shadow indication -MAIN_TOOLTIP_PREFERENCES;Set preferences -MAIN_TOOLTIP_QINFO;Quick info on the image -MAIN_TOOLTIP_SAVE;Save image to the default folder -MAIN_TOOLTIP_SAVEAS;Save image to a selected folder -PARTIALPASTE_BASICGROUP;Basic settings -PARTIALPASTE_CACORRECTION;C/A correction -PARTIALPASTE_COARSETRANS;90 deg rotation / flipping -PARTIALPASTE_COLORBOOST;Color boost -PARTIALPASTE_COLORDENOISE;Color denoise -PARTIALPASTE_COLORGROUP;Color related settings -PARTIALPASTE_COLORMIXER;Color mixer -PARTIALPASTE_COLORSHIFT;Color shift -PARTIALPASTE_COMPOSITIONGROUP;Composition settings -PARTIALPASTE_CROP;Crop -PARTIALPASTE_DIALOGLABEL;Partial paste processing profile -PARTIALPASTE_DISTORTION;Distortion correction -PARTIALPASTE_EXIFCHANGES;Changes to exif data -PARTIALPASTE_EXPOSURE;Exposure -PARTIALPASTE_HLRECOVERY;Highlight recovery -PARTIALPASTE_ICMSETTINGS;ICM settings -PARTIALPASTE_IPTCINFO;IPTC info -PARTIALPASTE_LENSGROUP;Lens related settings -PARTIALPASTE_LUMACURVE;Luminance curve -PARTIALPASTE_LUMADENOISE;Luminance noise reduction -PARTIALPASTE_LUMINANCEGROUP;Luminance related settings -PARTIALPASTE_METAICMGROUP;Metadata/ICM settings -PARTIALPASTE_RESIZE;Resize -PARTIALPASTE_ROTATION;Rotation -PARTIALPASTE_SHADOWSHIGHLIGHTS;Shadows/Highlights -PARTIALPASTE_SHARPENING;Sharpening -PARTIALPASTE_VIGNETTING;Vignetting correction -PARTIALPASTE_WHITEBALANCE;White balance -PREFERENCES_APPLNEXTSTARTUP;applied at next startup -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_CACHEMAXENTRIES;Maximal Number of Cache Entries -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_CACHETHUMBHEIGHT;Maximal Thumbnail Height -PREFERENCES_CLEARDLG_LINE1;Clearing cache -PREFERENCES_CLEARDLG_LINE2;This may take a few seconds. -PREFERENCES_CLEARDLG_TITLE;Please wait -PREFERENCES_CLIPPINGIND;Clipping indication -PREFERENCES_CMETRICINTENT;Colorimetric Intent -PREFERENCES_DATEFORMAT;Date Format -PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:\n%y : year\n%m : month\n%d : day\n\nFor example, the hungarian date format is:\n%y/%m/%d -PREFERENCES_DCBENHANCE;Apply DCB enhancement step -PREFERENCES_DCBITERATIONS;Number of DCB iterations +MAIN_FRAME_BATCHQUEUE;Batch Queue +MAIN_FRAME_FILEBROWSER;File Browser +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_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_QOVERWRITE;Do you want to overwrite it? +MAIN_TAB_BASIC;Basic +MAIN_TAB_COLOR;Color +MAIN_TAB_DETAIL;Detail +MAIN_TAB_DEVELOP;Develop +MAIN_TAB_EXIF;Exif +MAIN_TAB_EXPOSURE;Exposure +MAIN_TAB_FILTER;Filter +MAIN_TAB_ICM;ICM +MAIN_TAB_IPTC;IPTC +MAIN_TAB_METADATA;Metadata +MAIN_TAB_TAGGING;Tagging +MAIN_TAB_TRANSFORM;Transform +MAIN_TOOLTIP_HIDEFP;Show/hide the bottom panel (directory and file browser, shortcut key: F) +MAIN_TOOLTIP_HIDEHP;Show/hide the left panel (including the history, shortcut key: H) +MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication +MAIN_TOOLTIP_INDCLIPPEDS;Clipped shadow indication +MAIN_TOOLTIP_PREFERENCES;Set preferences +MAIN_TOOLTIP_QINFO;Quick info on the image +MAIN_TOOLTIP_SAVE;Save image to the default folder +MAIN_TOOLTIP_SAVEAS;Save image to a selected folder +PARTIALPASTE_BASICGROUP;Basic settings +PARTIALPASTE_CACORRECTION;C/A correction +PARTIALPASTE_COARSETRANS;90 deg rotation / flipping +PARTIALPASTE_COLORBOOST;Color boost +PARTIALPASTE_COLORDENOISE;Color denoise +PARTIALPASTE_COLORGROUP;Color related settings +PARTIALPASTE_COLORMIXER;Color mixer +PARTIALPASTE_COLORSHIFT;Color shift +PARTIALPASTE_COMPOSITIONGROUP;Composition settings +PARTIALPASTE_CROP;Crop +PARTIALPASTE_DIALOGLABEL;Partial paste processing profile +PARTIALPASTE_DISTORTION;Distortion correction +PARTIALPASTE_EXIFCHANGES;Changes to exif data +PARTIALPASTE_EXPOSURE;Exposure +PARTIALPASTE_HLRECOVERY;Highlight recovery +PARTIALPASTE_ICMSETTINGS;ICM settings +PARTIALPASTE_IPTCINFO;IPTC info +PARTIALPASTE_LENSGROUP;Lens related settings +PARTIALPASTE_LUMACURVE;Luminance curve +PARTIALPASTE_LUMADENOISE;Luminance noise reduction +PARTIALPASTE_LUMINANCEGROUP;Luminance related settings +PARTIALPASTE_METAICMGROUP;Metadata/ICM settings +PARTIALPASTE_RESIZE;Resize +PARTIALPASTE_ROTATION;Rotation +PARTIALPASTE_SHADOWSHIGHLIGHTS;Shadows/Highlights +PARTIALPASTE_SHARPENING;Sharpening +PARTIALPASTE_VIGNETTING;Vignetting correction +PARTIALPASTE_WHITEBALANCE;White balance +PREFERENCES_APPLNEXTSTARTUP;applied at next startup +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_CACHEMAXENTRIES;Maximal Number of Cache Entries +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_CACHETHUMBHEIGHT;Maximal Thumbnail Height +PREFERENCES_CLEARDLG_LINE1;Clearing cache +PREFERENCES_CLEARDLG_LINE2;This may take a few seconds. +PREFERENCES_CLEARDLG_TITLE;Please wait +PREFERENCES_CLIPPINGIND;Clipping indication +PREFERENCES_CMETRICINTENT;Colorimetric Intent +PREFERENCES_DATEFORMAT;Date Format +PREFERENCES_DATEFORMATHINT;You can use the following formatting strings:\n%y : year\n%m : month\n%d : day\n\nFor example, the hungarian date format is:\n%y/%m/%d +PREFERENCES_DCBENHANCE;Apply DCB enhancement step +PREFERENCES_DCBITERATIONS;Number of DCB iterations #Emil's CA autocorrection PREFERENCES_CACORRECTION;Apply CA auto correction -#Emil's hot/dead pixel filter +#Emil's hot/dead pixel filter PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter #Emil's line noise filter PREFERENCES_LINEDENOISE;Line noise filter PREFERENCES_GREENEQUIL;Green equilibration -PREFERENCES_DEFAULTLANG;Default language -PREFERENCES_DEFAULTTHEME;Default theme -PREFERENCES_DEMOSAICINGALGO;Demosaicing Algorithm -PREFERENCES_DIRHOME;Home directory -PREFERENCES_DIRLAST;Last visited directory -PREFERENCES_DIROTHER;Other -PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup... -PREFERENCES_DIRSOFTWARE;Installation directory -PREFERENCES_DMETHOD;Method -PREFERENCES_EDITORCMDLINE;Other command line -PREFERENCES_EXTERNALEDITOR;External editor -PREFERENCES_FALSECOLOR;False color suppression steps -PREFERENCES_FBROWSEROPTS;File Browser Options -PREFERENCES_FILEFORMAT;File format -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_MONITORICC;Monitor Profile -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, ...\n\nThese formatting strings refer to the directories and sub-paths of the path of the raw file.\n\nFor example, if /home/tom/image/02-09-2006/dsc0012.nefhas been opened, the meaning of the formatting strings are:\n%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...\n\nIf you want to save the output image where the original is, write:\n%p1/%f\n\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n%p1/converted/%f\n\nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, 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, ...\n\nThese formatting strings refer to the directories and sub-paths of the path of the raw file.\n\nFor example, if /home/tom/image/02-09-2006/dsc0012.nefhas been opened, the meaning of the formatting strings are:\n%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...\n\nIf you want to save the output image where the original is, write:\n%p1/%f\n\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n%p1/converted/%f\n\nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:\n%p2/converted/%d1/%f -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_PSPATH;Adobe Photoshop installation directory -PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory... -PREFERENCES_SELECTLANG;Select language -PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display... -PREFERENCES_SELECTTHEME;Select theme -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_STARTUPIMDIR;Image directory at startup -PREFERENCES_TAB_BROWSER;File Browser -PREFERENCES_TAB_COLORMGR;Color Management -PREFERENCES_TAB_GENERAL;General -PREFERENCES_TAB_IMPROC;Image Processing -PREFERENCES_TAB_OUTPUT;Output Options -PREFERENCES_THUMBSIZE;Thumbnail Size -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_SAVING;Saving file... -QINFO_FOCALLENGTH;Focal length -QINFO_ISO;ISO -QINFO_LENS;Lens -QINFO_NOEXIF;Exif data not available. -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 -TOOLBAR_TOOLTIP_CROP;Crop selection (Shortcut key: C) -TOOLBAR_TOOLTIP_HAND;Hand tool (Shortcut key: N) -TOOLBAR_TOOLTIP_STRAIGHTEN;Straight line selection (Shortcut key: S) -TOOLBAR_TOOLTIP_WB;Spot white balance (Shortcut key: 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_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_AVOIDCOLORCLIP;Avoid color clipping -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_LABEL;Color Boost -TP_COLORBOOST_SATLIMIT;Saturation limit -TP_COLORDENOISE_EDGESENSITIVE;Edge Sensitive -TP_COLORDENOISE_EDGETOLERANCE;Edge Tolerance -TP_COLORDENOISE_LABEL;Color Noise Reduction -TP_COLORDENOISE_RADIUS;Radius -TP_COLORSHIFT_BLUEYELLOW;Blue-Yellow -TP_COLORSHIFT_GREENMAGENTA;Green-Magenta -TP_COLORSHIFT_LABEL;Color Shift -TP_CROP_DPI;DPI= -TP_CROP_FIXRATIO;Fix Ratio: -TP_CROP_GTDIAGONALS;Rule of diagonals -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_DISTORTION_AMOUNT;Amount -TP_DISTORTION_LABEL;Distortion -TP_EXPOSURE_AUTOLEVELS;Auto Levels -TP_EXPOSURE_BLACKLEVEL;Black -TP_EXPOSURE_BRIGHTNESS;Brightness -TP_EXPOSURE_CLIP;Clip -TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression -TP_EXPOSURE_COMPRSHADOWS;Shadow compression -TP_EXPOSURE_CONTRAST;Contrast -TP_EXPOSURE_CURVEEDITOR;Tone Curve -TP_EXPOSURE_EXPCOMP;Exp. Comp. -TP_EXPOSURE_LABEL;Exposure -TP_HLREC_CIELAB;CIELab Blending -TP_HLREC_COLOR;Color Propagation -TP_HLREC_LABEL;Highlight Recovery -TP_HLREC_LUMINANCE;Luminance Recovery -TP_HLREC_METHOD;Method: -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_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 +PREFERENCES_DEFAULTLANG;Default language +PREFERENCES_DEFAULTTHEME;Default theme +PREFERENCES_DEMOSAICINGALGO;Demosaicing Algorithm +PREFERENCES_DIRHOME;Home directory +PREFERENCES_DIRLAST;Last visited directory +PREFERENCES_DIROTHER;Other +PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup... +PREFERENCES_DIRSOFTWARE;Installation directory +PREFERENCES_DMETHOD;Method +PREFERENCES_EDITORCMDLINE;Other command line +PREFERENCES_EXTERNALEDITOR;External editor +PREFERENCES_FALSECOLOR;False color suppression steps +PREFERENCES_FBROWSEROPTS;File Browser Options +PREFERENCES_FILEFORMAT;File format +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_MONITORICC;Monitor Profile +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, ...\n\nThese formatting strings refer to the directories and sub-paths of the path of the raw file.\n\nFor example, if /home/tom/image/02-09-2006/dsc0012.nefhas been opened, the meaning of the formatting strings are:\n%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...\n\nIf you want to save the output image where the original is, write:\n%p1/%f\n\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n%p1/converted/%f\n\nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, 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, ...\n\nThese formatting strings refer to the directories and sub-paths of the path of the raw file.\n\nFor example, if /home/tom/image/02-09-2006/dsc0012.nefhas been opened, the meaning of the formatting strings are:\n%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...\n\nIf you want to save the output image where the original is, write:\n%p1/%f\n\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n%p1/converted/%f\n\nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:\n%p2/converted/%d1/%f +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_PSPATH;Adobe Photoshop installation directory +PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory... +PREFERENCES_SELECTLANG;Select language +PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display... +PREFERENCES_SELECTTHEME;Select theme +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_STARTUPIMDIR;Image directory at startup +PREFERENCES_TAB_BROWSER;File Browser +PREFERENCES_TAB_COLORMGR;Color Management +PREFERENCES_TAB_GENERAL;General +PREFERENCES_TAB_IMPROC;Image Processing +PREFERENCES_TAB_OUTPUT;Output Options +PREFERENCES_THUMBSIZE;Thumbnail Size +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_SAVING;Saving file... +QINFO_FOCALLENGTH;Focal length +QINFO_ISO;ISO +QINFO_LENS;Lens +QINFO_NOEXIF;Exif data not available. +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 +TOOLBAR_TOOLTIP_CROP;Crop selection (Shortcut key: C) +TOOLBAR_TOOLTIP_HAND;Hand tool (Shortcut key: N) +TOOLBAR_TOOLTIP_STRAIGHTEN;Straight line selection (Shortcut key: S) +TOOLBAR_TOOLTIP_WB;Spot white balance (Shortcut key: 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_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_AVOIDCOLORCLIP;Avoid color clipping +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_LABEL;Color Boost +TP_COLORBOOST_SATLIMIT;Saturation limit +TP_COLORDENOISE_EDGESENSITIVE;Edge Sensitive +TP_COLORDENOISE_EDGETOLERANCE;Edge Tolerance +TP_COLORDENOISE_LABEL;Color Noise Reduction +TP_COLORDENOISE_RADIUS;Radius +TP_COLORSHIFT_BLUEYELLOW;Blue-Yellow +TP_COLORSHIFT_GREENMAGENTA;Green-Magenta +TP_COLORSHIFT_LABEL;Color Shift +TP_CROP_DPI;DPI= +TP_CROP_FIXRATIO;Fix Ratio: +TP_CROP_GTDIAGONALS;Rule of diagonals +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_DISTORTION_AMOUNT;Amount +TP_DISTORTION_LABEL;Distortion +TP_EQUALIZER_LABEL;Wavelet equalizer +TP_EQUALIZER_FINEST;finest +TP_EQUALIZER_LARGEST;coarsest +TP_EXPOSURE_AUTOLEVELS;Auto Levels +TP_EXPOSURE_BLACKLEVEL;Black +TP_EXPOSURE_BRIGHTNESS;Brightness +TP_EXPOSURE_CLIP;Clip +TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression +TP_EXPOSURE_COMPRSHADOWS;Shadow compression +TP_EXPOSURE_CONTRAST;Contrast +TP_EXPOSURE_CURVEEDITOR;Tone Curve +TP_EXPOSURE_EXPCOMP;Exp. Comp. +TP_EXPOSURE_LABEL;Exposure +TP_HLREC_CIELAB;CIELab Blending +TP_HLREC_COLOR;Color Propagation +TP_HLREC_LABEL;Highlight Recovery +TP_HLREC_LUMINANCE;Luminance Recovery +TP_HLREC_METHOD;Method: +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_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_LENSGEOM_AUTOCROP;Auto Crop TP_LENSGEOM_FILL;Auto Fill TP_LENSGEOM_LABEL;Lens / Geometry -TP_LUMACURVE_BLACKLEVEL;Black -TP_LUMACURVE_BRIGHTNESS;Brightness -TP_LUMACURVE_COMPRHIGHLIGHTS;Highlight compression -TP_LUMACURVE_COMPRSHADOWS;Shadow compression -TP_LUMACURVE_CONTRAST;Contrast -TP_LUMACURVE_CURVEEDITOR;Luminance Curve -TP_LUMACURVE_LABEL;Luminance Curve -TP_LUMADENOISE_EDGETOLERANCE;Edge Tolerance -TP_LUMADENOISE_LABEL;Luminance Noise Reduction -TP_LUMADENOISE_RADIUS;Radius -TP_PERSPECTIVE_LABEL;Perspective -TP_PERSPECTIVE_HORIZONTAL;Horizontal -TP_PERSPECTIVE_VERTICAL;Vertical -TP_RESIZE_BICUBIC;Bicubic -TP_RESIZE_BICUBICSF;Bicubic (Softer) -TP_RESIZE_BICUBICSH;Bicubic (Sharper) -TP_RESIZE_BILINEAR;Bilinear -TP_RESIZE_DOWNSCALEB;Downscale (Better) -TP_RESIZE_DOWNSCALEF;Downscale (Faster) -TP_RESIZE_FULLSIZE;Full Image Size: -TP_RESIZE_H;H: -TP_RESIZE_LABEL;Resize -TP_RESIZE_METHOD;Method: -TP_RESIZE_NEAREST;Nearest -TP_RESIZE_SCALE;Scale -TP_RESIZE_W;W: -TP_ROTATE_DEGREE;Degree -TP_ROTATE_LABEL;Rotate -TP_ROTATE_SELECTLINE; Select Straight Line -TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights -TP_SHADOWSHLIGHTS_HLTONALW;Tonal Width -TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights -TP_SHADOWSHLIGHTS_LOCALCONTR;Local Contrast -TP_SHADOWSHLIGHTS_RADIUS;Radius -TP_SHADOWSHLIGHTS_SHADOWS;Shadows -TP_SHADOWSHLIGHTS_SHTONALW;Tonal Width -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_LABEL;Vignetting Correction -TP_VIGNETTING_RADIUS;Radius -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 - -GENERAL_HIGH_QUALITY;High Quality -GENERAL_UNCHANGED;(Unchanged) -MAIN_MSG_PLACES;Places -GENERAL_BEFORE;Before -GENERAL_AFTER;After -MAIN_TOOLTIP_TOGGLE;Toggle before/after view -MAIN_BUTTON_PUTTOQUEUE;Put to queue -MAIN_MSG_NAVIGATOR;Navigator -FILEBROWSER_TOOLTIP_STOPPROCESSING;Start processing automatically when a new job arrives -BATCHQUEUE_AUTOSTART;Auto start -TP_DETAIL_AMOUNT;Amount -TP_RESIZE_SPECIFY;Specify: -TP_RESIZE_SCALE;Scale -TP_RESIZE_WIDTH;Width -TP_RESIZE_HEIGHT;Height -MAIN_TOGGLE_BEFORE_AFTER;B|A - +TP_LUMACURVE_BLACKLEVEL;Black +TP_LUMACURVE_BRIGHTNESS;Brightness +TP_LUMACURVE_COMPRHIGHLIGHTS;Highlight compression +TP_LUMACURVE_COMPRSHADOWS;Shadow compression +TP_LUMACURVE_CONTRAST;Contrast +TP_LUMACURVE_CURVEEDITOR;Luminance Curve +TP_LUMACURVE_LABEL;Luminance Curve +TP_LUMADENOISE_EDGETOLERANCE;Edge Tolerance +TP_LUMADENOISE_LABEL;Luminance Noise Reduction +TP_LUMADENOISE_RADIUS;Radius +TP_PERSPECTIVE_LABEL;Perspective +TP_PERSPECTIVE_HORIZONTAL;Horizontal +TP_PERSPECTIVE_VERTICAL;Vertical +TP_RESIZE_BICUBIC;Bicubic +TP_RESIZE_BICUBICSF;Bicubic (Softer) +TP_RESIZE_BICUBICSH;Bicubic (Sharper) +TP_RESIZE_BILINEAR;Bilinear +TP_RESIZE_DOWNSCALEB;Downscale (Better) +TP_RESIZE_DOWNSCALEF;Downscale (Faster) +TP_RESIZE_FULLSIZE;Full Image Size: +TP_RESIZE_H;H: +TP_RESIZE_LABEL;Resize +TP_RESIZE_METHOD;Method: +TP_RESIZE_NEAREST;Nearest +TP_RESIZE_SCALE;Scale +TP_RESIZE_W;W: +TP_ROTATE_DEGREE;Degree +TP_ROTATE_LABEL;Rotate +TP_ROTATE_SELECTLINE; Select Straight Line +TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights +TP_SHADOWSHLIGHTS_HLTONALW;Tonal Width +TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights +TP_SHADOWSHLIGHTS_LOCALCONTR;Local Contrast +TP_SHADOWSHLIGHTS_RADIUS;Radius +TP_SHADOWSHLIGHTS_SHADOWS;Shadows +TP_SHADOWSHLIGHTS_SHTONALW;Tonal Width +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_LABEL;Vignetting Correction +TP_VIGNETTING_RADIUS;Radius +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 + +GENERAL_HIGH_QUALITY;High Quality +GENERAL_UNCHANGED;(Unchanged) +MAIN_MSG_PLACES;Places +GENERAL_BEFORE;Before +GENERAL_AFTER;After +MAIN_TOOLTIP_TOGGLE;Toggle before/after view +MAIN_BUTTON_PUTTOQUEUE;Put to queue +MAIN_MSG_NAVIGATOR;Navigator +FILEBROWSER_TOOLTIP_STOPPROCESSING;Start processing automatically when a new job arrives +BATCHQUEUE_AUTOSTART;Auto start +TP_DETAIL_AMOUNT;Amount +TP_RESIZE_SPECIFY;Specify: +TP_RESIZE_SCALE;Scale +TP_RESIZE_WIDTH;Width +TP_RESIZE_HEIGHT;Height +MAIN_TOGGLE_BEFORE_AFTER;B|A + ### diff --git a/rtengine/CMakeLists.txt b/rtengine/CMakeLists.txt index d8f51a125..2e9d1e4df 100644 --- a/rtengine/CMakeLists.txt +++ b/rtengine/CMakeLists.txt @@ -11,7 +11,8 @@ set (RTENGINESOURCEFILES colortemp.cc curves.cc dcraw.cc iccstore.cc loadinitial.cc procparams.cc rawimagesource.cc shmap.cc simpleprocess.cc refreshmap.cc stdimagesource.cc myfile.cc iccjpeg.c hlmultipliers.cc improccoordinator.cc processingjob.cc rtthumbnail.cc utils.cc labimage.cc - iplab2rgb.cc ipsharpen.cc iptransform.cc ipresize.cc) + iplab2rgb.cc ipsharpen.cc iptransform.cc ipresize.cc + wavelet_dec.cc ipequalizer.cc) add_library (rtengine ${RTENGINESOURCEFILES}) #It may be nice to store library version too diff --git a/rtengine/improcfun.h b/rtengine/improcfun.h index 1edb5d204..c81e4dec8 100644 --- a/rtengine/improcfun.h +++ b/rtengine/improcfun.h @@ -89,6 +89,7 @@ class ImProcFunctions { void lab2rgb (LabImage* lab, Image8* image); void resize (Image16* src, Image16* dst); void deconvsharpening(LabImage* lab, unsigned short** buffer); + void waveletEqualizer(Image16 * image, int fw, int fh, const EqualizerParams & params); Image8* lab2rgb (LabImage* lab, int cx, int cy, int cw, int ch, Glib::ustring profile); Image16* lab2rgb16 (LabImage* lab, int cx, int cy, int cw, int ch, Glib::ustring profile); diff --git a/rtengine/ipequalizer.cc b/rtengine/ipequalizer.cc new file mode 100644 index 000000000..298c82b3e --- /dev/null +++ b/rtengine/ipequalizer.cc @@ -0,0 +1,40 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + +#include +#include + +#include + +namespace rtengine { + +void ImProcFunctions :: waveletEqualizer(Image16 * image, int fw, int fh, const EqualizerParams & params) { + + wavelet_decomposition r(image->r, fw, fh); + r.reconstruct(image->r, params.c); + + wavelet_decomposition g(image->g, fw, fh); + g.reconstruct(image->g, params.c); + + wavelet_decomposition b(image->b, fw, fh); + b.reconstruct(image->b, params.c); + +} + +} diff --git a/rtengine/procevents.h b/rtengine/procevents.h index 5c398f0f2..185835498 100644 --- a/rtengine/procevents.h +++ b/rtengine/procevents.h @@ -21,7 +21,7 @@ #include -#define NUMOFEVENTS 84 +#define NUMOFEVENTS 86 namespace rtengine { @@ -109,7 +109,9 @@ enum ProcEvent { EvResizeEnabled=80, EvProfileChangeNotification=81, EvSHHighQuality=82, - EvPerspCorr=83 + EvPerspCorr=83, + EvEqualizer=84, + EvEqlEnabled=85 }; } #endif diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index 08e3db481..d8c1715a2 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -158,6 +158,12 @@ void ProcParams::setDefaults () { icm.working = "sRGB"; icm.output = "sRGB"; + equalizer.enabled = false; + for(int i = 0; i < 8; i ++) + { + equalizer.c[i] = 0; + } + exif.clear (); iptc.clear (); @@ -303,6 +309,15 @@ int ProcParams::save (Glib::ustring fname) const { keyFile.set_boolean ("Color Management", "ApplyGammaBeforeInputProfile", icm.gammaOnInput); keyFile.set_string ("Color Management", "WorkingProfile", icm.working); keyFile.set_string ("Color Management", "OutputProfile", icm.output); + + // save wavelet equalizer parameters + keyFile.set_boolean ("Equalizer", "Enabled", equalizer.enabled); + for(int i = 0; i < 8; i++) + { + std::stringstream ss; + ss << "C" << i; + keyFile.set_integer("Equalizer", ss.str(), equalizer.c[i]); + } // save exif change list for (int i=0; i keys = keyFile.get_keys ("Exif"); @@ -562,6 +588,17 @@ if (keyFile.has_group ("IPTC")) { } } +bool operator==(const EqualizerParams & a, const EqualizerParams & b) { + if(a.enabled != b.enabled) + return false; + + for(int i = 0; i < 8; i++) { + if(a.c[i] != b.c[i]) + return false; + } + return true; +} + bool operator==(const ExifPair& a, const ExifPair& b) { return a.field == b.field && a.value == b.value; @@ -660,6 +697,7 @@ bool ProcParams::operator== (const ProcParams& other) { && icm.gammaOnInput == other.icm.gammaOnInput && icm.working == other.icm.working && icm.output == other.icm.output + && equalizer == other.equalizer && exif==other.exif && iptc==other.iptc; } diff --git a/rtengine/procparams.h b/rtengine/procparams.h index ae4bd0257..9d6909f3d 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -204,16 +204,16 @@ class DistortionParams { bool uselensfun; double amount; }; - -/** - * Parameters of the perspective correction - */ -class PerspectiveParams { - - public: - int horizontal; - int vertical; -}; + +/** + * Parameters of the perspective correction + */ +class PerspectiveParams { + + public: + int horizontal; + int vertical; +}; /** * Parameters of the vignetting correction @@ -302,6 +302,16 @@ class IPTCPair { std::vector values; }; +/** + * Wavelet equalizer params + */ +class EqualizerParams { + + public: + bool enabled; + int c[8]; +}; + /** * This class holds all the processing parameters applied on the images */ @@ -321,14 +331,15 @@ class ProcParams { CoarseTransformParams coarse; ///< Coarse transformation (90, 180, 270 deg rotation, h/v flipping) parameters CommonTransformParams commonTrans; ///< Common transformation parameters (autofill) RotateParams rotate; ///< Rotation parameters - DistortionParams distortion; ///< Lens distortion correction parameters - PerspectiveParams perspective; ///< Perspective correction parameters + DistortionParams distortion; ///< Lens distortion correction parameters + PerspectiveParams perspective; ///< Perspective correction parameters CACorrParams cacorrection; ///< Lens c/a correction parameters VignettingParams vignetting; ///< Lens vignetting correction parameters ChannelMixerParams chmixer; ///< Channel mixer parameters HRecParams hlrecovery; ///< Highlight recovery parameters ResizeParams resize; ///< Resize parameters ColorManagementParams icm; ///< profiles/color spaces used during the image processing + EqualizerParams equalizer; ///< wavelet equalizer parameters std::vector exif; ///< List of modifications appplied on the exif tags of the input image std::vector iptc; ///< The IPTC tags and values to be saved to the output image int version; ///< Version of the file from which the parameters have been read diff --git a/rtengine/refreshmap.cc b/rtengine/refreshmap.cc index 962a89a83..b13674b45 100644 --- a/rtengine/refreshmap.cc +++ b/rtengine/refreshmap.cc @@ -19,89 +19,90 @@ #include int refreshmap[] = { -ALL, // EvPhotoLoaded, -ALL, // EvProfileLoaded, -ALL, // EvProfileChanged, -ALL, // EvHistoryBrowsed, -RGBCURVE, // EvBrightness, -RGBCURVE, // EvContrast, -RGBCURVE, // EvBlack, -RGBCURVE, // EvExpComp, -RGBCURVE, // EvHLCompr, -RGBCURVE, // EvSHCompr, -RGBCURVE, // EvToneCurve, -AUTOEXP, // EvAutoExp, -AUTOEXP, // EvClip, -LUMINANCECURVE, // EvLBrightness, -LUMINANCECURVE, // EvLContrast, -LUMINANCECURVE, // EvLBlack, -LUMINANCECURVE, // EvLHLCompr, -LUMINANCECURVE, // EvLSHCompr, -LUMINANCECURVE, // EvLCurve, -SHARPENING, // EvShrEnabled, -SHARPENING, // EvShrRadius, -SHARPENING, // EvShrAmount, -SHARPENING, // EvShrThresh, -SHARPENING, // EvShrEdgeOnly, -SHARPENING, // EvShrEdgeRadius, -SHARPENING, // EvShrEdgeTolerance, -SHARPENING, // EvShrHaloControl, -SHARPENING, // EvShrHaloAmount, -SHARPENING, // EvShrMethod, -SHARPENING, // EvShrDRadius, -SHARPENING, // EvShrDAmount, -SHARPENING, // EvShrDDamping, -SHARPENING, // EvShrDIterations, -COLORBOOST, // EvCBAvoidClip, -COLORBOOST, // EvCBSatLimiter, -COLORBOOST, // EvCBSatLimit, -COLORBOOST, // EvCBBoost, -WHITEBALANCE, // EvWBMethod, -WHITEBALANCE, // EvWBTemp, -WHITEBALANCE, // EvWBGreen, -COLORBOOST, // EvCShiftA, -COLORBOOST, // EvCShiftB, -LUMADENOISE, // EvLDNEnabled, -LUMADENOISE, // EvLDNRadius, -LUMADENOISE, // EvLDNEdgeTolerance, -COLORDENOISE, // EvCDNEnabled, -COLORDENOISE, // EvCDNRadius, -COLORDENOISE, // EvCDNEdgeTolerance, -COLORDENOISE, // EvCDNEdgeSensitive, -RETINEX, // EvSHEnabled, -RGBCURVE, // EvSHHighlights, -RGBCURVE, // EvSHShadows, -RGBCURVE, // EvSHHLTonalW, -RGBCURVE, // EvSHSHTonalW, -RGBCURVE, // EvSHLContrast, -RETINEX, // EvSHRadius, -ALL, // EvCTRotate, -ALL, // EvCTHFlip, -ALL, // EvCTVFlip, -TRANSFORM, // EvROTDegree, -TRANSFORM, // EvTransAutoFill, -TRANSFORM, // EvDISTAmount, -ALL, // EvBookmarkSelected, -CROP, // EvCrop, -TRANSFORM, // EvCACorr, -ALL, // EvHREnabled, -ALL, // EvHRAmount, -ALL, // EvHRMethod, -ALL, // EvWProfile, -ALL, // EvOProfile, -ALL, // EvIProfile, -TRANSFORM, // EvVignetting, -RGBCURVE, // EvChMixer, -ALL, // EvResizeScale, -ALL, // EvResizeMethod, -EXIF, // EvExif, -IPTC, // EvIPTC -ALL, // EvResizeSpec, -ALL, // EvResizeWidth -ALL, // EvResizeHeight -ALL, // EvResizeEnabled -ALL, // EvProfileChangeNotification +ALL, // EvPhotoLoaded, +ALL, // EvProfileLoaded, +ALL, // EvProfileChanged, +ALL, // EvHistoryBrowsed, +RGBCURVE, // EvBrightness, +RGBCURVE, // EvContrast, +RGBCURVE, // EvBlack, +RGBCURVE, // EvExpComp, +RGBCURVE, // EvHLCompr, +RGBCURVE, // EvSHCompr, +RGBCURVE, // EvToneCurve, +AUTOEXP, // EvAutoExp, +AUTOEXP, // EvClip, +LUMINANCECURVE, // EvLBrightness, +LUMINANCECURVE, // EvLContrast, +LUMINANCECURVE, // EvLBlack, +LUMINANCECURVE, // EvLHLCompr, +LUMINANCECURVE, // EvLSHCompr, +LUMINANCECURVE, // EvLCurve, +SHARPENING, // EvShrEnabled, +SHARPENING, // EvShrRadius, +SHARPENING, // EvShrAmount, +SHARPENING, // EvShrThresh, +SHARPENING, // EvShrEdgeOnly, +SHARPENING, // EvShrEdgeRadius, +SHARPENING, // EvShrEdgeTolerance, +SHARPENING, // EvShrHaloControl, +SHARPENING, // EvShrHaloAmount, +SHARPENING, // EvShrMethod, +SHARPENING, // EvShrDRadius, +SHARPENING, // EvShrDAmount, +SHARPENING, // EvShrDDamping, +SHARPENING, // EvShrDIterations, +COLORBOOST, // EvCBAvoidClip, +COLORBOOST, // EvCBSatLimiter, +COLORBOOST, // EvCBSatLimit, +COLORBOOST, // EvCBBoost, +WHITEBALANCE, // EvWBMethod, +WHITEBALANCE, // EvWBTemp, +WHITEBALANCE, // EvWBGreen, +COLORBOOST, // EvCShiftA, +COLORBOOST, // EvCShiftB, +LUMADENOISE, // EvLDNEnabled, +LUMADENOISE, // EvLDNRadius, +LUMADENOISE, // EvLDNEdgeTolerance, +COLORDENOISE, // EvCDNEnabled, +COLORDENOISE, // EvCDNRadius, +COLORDENOISE, // EvCDNEdgeTolerance, +COLORDENOISE, // EvCDNEdgeSensitive, +RETINEX, // EvSHEnabled, +RGBCURVE, // EvSHHighlights, +RGBCURVE, // EvSHShadows, +RGBCURVE, // EvSHHLTonalW, +RGBCURVE, // EvSHSHTonalW, +RGBCURVE, // EvSHLContrast, +RETINEX, // EvSHRadius, +ALL, // EvCTRotate, +ALL, // EvCTHFlip, +ALL, // EvCTVFlip, +TRANSFORM, // EvROTDegree, +TRANSFORM, // EvTransAutoFill, +TRANSFORM, // EvDISTAmount, +ALL, // EvBookmarkSelected, +CROP, // EvCrop, +TRANSFORM, // EvCACorr, +ALL, // EvHREnabled, +ALL, // EvHRAmount, +ALL, // EvHRMethod, +ALL, // EvWProfile, +ALL, // EvOProfile, +ALL, // EvIProfile, +TRANSFORM, // EvVignetting, +RGBCURVE, // EvChMixer, +ALL, // EvResizeScale, +ALL, // EvResizeMethod, +EXIF, // EvExif, +IPTC, // EvIPTC +ALL, // EvResizeSpec, +ALL, // EvResizeWidth +ALL, // EvResizeHeight +ALL, // EvResizeEnabled +ALL, // EvProfileChangeNotification RETINEX, // EvShrHighQuality -TRANSFORM // EvPerspCorr -}; +TRANSFORM, // EvPerspCorr +ALL // ????? EvEqualizer +}; diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index 7913f925c..57ebd889a 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -25,6 +25,8 @@ #include #include +#include + #undef THREAD_PRIORITY_NORMAL namespace rtengine { @@ -100,6 +102,10 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p delete baseImg; baseImg = trImg; } + + if (params.equalizer.enabled) { + ipf.waveletEqualizer (baseImg, fw, fh, params.equalizer); + } // update blurmap int** buffer = new int*[fh]; diff --git a/rtengine/wavelet.h b/rtengine/wavelet.h new file mode 100644 index 000000000..c49ff7739 --- /dev/null +++ b/rtengine/wavelet.h @@ -0,0 +1,170 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + + +#ifndef WAVELET_H_INCLUDED +#define WAVELET_H_INCLUDED + +template +void dwt_haar(T * data, size_t pitch, T * buffer, size_t n) +{ + size_t n2a = (n + 1) / 2; + size_t n2 = n/2; + + for(size_t i = 0, j = 0; i < n2; i++, j += 2 * pitch) + { + T a = data[j]; + T b = data[j + pitch]; + buffer[i] = (a + b) / 2; + buffer[n2a + i] = (a - b); + } + + if(n2 < n2a) + { + buffer[n2] = data[pitch * (n-1)]; + } + + for(size_t k = 0, q = 0; k < n; k++, q += pitch) + { + data[q] = buffer[k]; + } +} + +template +void idwt_haar(T * data, size_t pitch, T * buffer, size_t n, int alpha) +{ + size_t n2a = (n + 1) / 2; + size_t n2 = n/2; + + for(size_t i = 0, j = 0; i < n2; i++, j += 2) + { + T p = data[i * pitch]; + T q = (alpha * data[(n2a + i)*pitch]) / 1024; + buffer[j] = p + q / 2; + buffer[j + 1] = p - q / 2; + } + + if(n2 < n2a) + { + buffer[n-1] = data[pitch * n2]; + } + + for(size_t k = 0, q = 0; k < n; k++, q += pitch) + { + data[q] = buffer[k]; + } +} + + +// buffer must be of length (n + 4) +template +void dwt_53(T * data, size_t pitch, T * buffer, size_t n) +{ + size_t n2 = n/2; + size_t n2a = (n + 1) / 2; + T * tmp = buffer + 2; + + // copy data + + for(size_t i = 0, j = 0; i < n; i++, j += pitch) + { + tmp[i] = data[j]; + } + + // extend mirror-like + + tmp[-1] = tmp[1]; + tmp[-2] = tmp[2]; + + tmp[n] = tmp[n-2]; + tmp[n+1] = tmp[n-3]; + + // calculate coefficients + + for(int j = -1; j < (int)n + 1; j += 2) + { + tmp[j] = tmp[j] - (tmp[j-1] + tmp[j+1]) / 2; + } + + for(int i = 0; i < (int)n; i += 2) + { + tmp[i] = tmp[i] + (tmp[i-1] + tmp[i+1] + 2) / 4; + } + + // copy with reordering + + for(size_t i = 0, j = 0; i < n; i+=2, j += pitch) + { + data[j] = tmp[i]; + } + + for(size_t i = 1, j = n2a*pitch; i < n; i+=2, j += pitch) + { + data[j] = tmp[i]; + } +} + +template +void idwt_53(T * data, size_t pitch, T * buffer, size_t n, int alpha) +{ + size_t n2 = n/2; + size_t n2a = (n + 1) / 2; + T * tmp = buffer + 2; + + // copy with reordering + + for(size_t i = 0, j = 0; i < n; i+=2, j += pitch) + { + tmp[i] = data[j]; + } + + for(size_t i = 1, j = n2a*pitch; i < n; i+=2, j += pitch) + { + tmp[i] = (alpha * data[j]) / 1024; + } + + // extend mirror-like + + tmp[-1] = tmp[1]; + tmp[-2] = tmp[2]; + + tmp[n] = tmp[n-2]; + tmp[n+1] = tmp[n-3]; + + // calculate coefficients + + for(int i = 0; i < (int)n + 1; i += 2) + { + tmp[i] = tmp[i] - (tmp[i-1] + tmp[i+1] + 2) / 4; + } + + for(int j = 1; j < (int)n; j += 2) + { + tmp[j] = tmp[j] + (tmp[j-1] + tmp[j+1]) / 2; + } + + // copy data + + for(size_t i = 0, j = 0; i < n; i++, j += pitch) + { + data[j] = tmp[i]; + } +} + +#endif diff --git a/rtengine/wavelet_dec.cc b/rtengine/wavelet_dec.cc new file mode 100644 index 000000000..a972d7c7c --- /dev/null +++ b/rtengine/wavelet_dec.cc @@ -0,0 +1,62 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + +#include "wavelet_dec.h" + +namespace rtengine +{ + +wavelet_decomposition::wavelet_decomposition(unsigned short ** src, size_t w, size_t h) +: nlevels(0), m_w(w), m_h(h), m_w1(0), m_h1(0) +{ + m_w1 = w; + m_h1 = h; + + m_c[0] = new wavelet_level(src, m_w1, m_h1); + nlevels = 1; + + while(nlevels < maxlevels) + { + m_c[nlevels] = new wavelet_level(m_c[nlevels - 1]->lowfreq(), m_c[nlevels-1]->lfw(), m_c[nlevels-1]->lfh()); + nlevels ++; + } +} + +wavelet_decomposition::~wavelet_decomposition() +{ + for(int i = 0; i < nlevels; i++) + { + delete m_c[i]; + } +} + +void wavelet_decomposition::reconstruct(unsigned short ** dst, const int * c) +{ + for(int level = nlevels - 1; level > 0; level--) + { + int alpha = 1024 + 10 * c[level]; + m_c[level]->reconstruct(m_c[level-1]->lowfreq(), alpha); + } + + int alpha = 1024 + 10 * c[0]; + m_c[0]->reconstruct(dst, alpha, wavelet_level::CLIP); +} + +}; + diff --git a/rtengine/wavelet_dec.h b/rtengine/wavelet_dec.h new file mode 100644 index 000000000..372849fec --- /dev/null +++ b/rtengine/wavelet_dec.h @@ -0,0 +1,53 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + +#ifndef WAVELET_DEC_H_INCLUDED +#define WAVELET_DEC_H_INCLUDED + +#include + +#include "wavelet_level.h" + +namespace rtengine { + +class wavelet_decomposition +{ + typedef int internal_type; + + static const int maxlevels = 8; + + int nlevels; + size_t m_w, m_h; + size_t m_w1, m_h1; + + wavelet_level * m_c[maxlevels]; + +public: + wavelet_decomposition(unsigned short ** src, size_t w, size_t h); + + ~wavelet_decomposition(); + + void reconstruct(unsigned short ** dst, const int * c); +}; + +////////////////////////////////////////////////////////////////////////////// + +}; + +#endif diff --git a/rtengine/wavelet_level.h b/rtengine/wavelet_level.h new file mode 100644 index 000000000..ec950d85e --- /dev/null +++ b/rtengine/wavelet_level.h @@ -0,0 +1,208 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + +#ifndef WAVELET_LEVEL_H_INCLUDED +#define WAVELET_LEVEL_H_INCLUDED + +#include +#include + +#include "wavelet.h" + +namespace rtengine +{ + +template +inline T clip(T x, T min_value, T max_value) +{ + if(x < min_value) + return min_value; + if(x > max_value) + return max_value; + return x; +} + +template +void plane_copy(A ** a, B ** b, size_t w, size_t h) +{ + for(size_t j = 0; j < h; j++) + for(size_t i = 0; i < w; i++) + b[j][i] = static_cast(a[j][i]); +} + +////////////////////////////////////////////////////////////////////////////// + +template +class wavelet_level +{ + // full size + size_t m_w, m_h; + + // size of low frequency part + size_t m_w2, m_h2; + + // distance between lines in the array of coeffs + size_t m_pitch; + + // array of pointers to lines of coeffs + // actually is a single contiguous data array pointed by m_coeffs[0] + T ** m_coeffs; + + // allocation and destruction of data storage + void create(); + void destroy(); + + void dwt_2d(size_t w, size_t h); + void idwt_2d(size_t w, size_t h, int alpha); + +public: + + static const bool CLIP = true; + + template + wavelet_level(E ** src, size_t w, size_t h) + : m_w(w), m_h(h), m_w2((w+1)/2), m_h2((h+1)/2), m_pitch(0), m_coeffs(NULL) + { + create(); + + decompose(src); + } + + ~wavelet_level() + { + destroy(); + } + + T ** lowfreq() const + { + return m_coeffs; + } + + size_t lfw() const + { + return m_w2; + } + + size_t lfh() const + { + return m_h2; + } + + template + void decompose(E ** src); + + template + void reconstruct(E ** dst, int alpha, bool do_clip = false); +}; + +////////////////////////////////////////////////////////////////////////////// + +template +void wavelet_level::dwt_2d(size_t w, size_t h) +{ + T * buffer = new T[std::max(w, h) + 4]; + + for(size_t j = 0; j < h; j++) + { + //dwt_haar(m_coeffs[j], 1, buffer, w); + dwt_53(m_coeffs[j], 1, buffer, w); + } + + for(size_t i = 0; i < w; i++) + { + //dwt_haar(&m_coeffs[0][i], m_pitch, buffer, h); + dwt_53(&m_coeffs[0][i], m_pitch, buffer, h); + } + + delete buffer; +} + +template +void wavelet_level::idwt_2d(size_t w, size_t h, int alpha) +{ + T * buffer = new T[std::max(w, h) + 4]; + + for(size_t j = 0; j < h; j++) + { + //idwt_haar(m_coeffs[j], 1, buffer, w, alpha); + idwt_53(m_coeffs[j], 1, buffer, w, alpha); + } + + for(size_t i = 0; i < w; i++) + { + //idwt_haar(&m_coeffs[0][i], m_pitch, buffer, h, alpha); + idwt_53(&m_coeffs[0][i], m_pitch, buffer, h, alpha); + } + + delete buffer; + +} + +template +void wavelet_level::create() +{ + // 16-byte alignment: no effect + //m_pitch = (((m_w*sizeof(T) + 15) / 16) * 16) / sizeof(T); + m_pitch = m_w; + T * data = new T[m_pitch * m_h]; + m_coeffs = new T*[m_h]; + for(size_t j = 0; j < m_h; j++) + { + m_coeffs[j] = data + m_pitch * j; + } +} + +template +void wavelet_level::destroy() +{ + if(m_coeffs) + { + delete[] m_coeffs[0]; + + delete[] m_coeffs; + } +} + +template template +void wavelet_level::decompose(E ** src) +{ + plane_copy(src, m_coeffs, m_w, m_h); + + dwt_2d(m_w, m_h); +} + +template template +void wavelet_level::reconstruct(E ** dst, int alpha, bool do_clip) +{ + idwt_2d(m_w, m_h, alpha); + + if(do_clip) + { + for(size_t j = 0; j < m_h; j++) + for(size_t i = 0; i < m_w; i++) + m_coeffs[j][i] = clip(m_coeffs[j][i], 0, 65535); + } + + plane_copy(m_coeffs, dst, m_w, m_h); + +} + +}; + +#endif diff --git a/rtgui/CMakeLists.txt b/rtgui/CMakeLists.txt index 49fa71e50..5a96dfceb 100644 --- a/rtgui/CMakeLists.txt +++ b/rtgui/CMakeLists.txt @@ -23,7 +23,8 @@ set (BASESOURCEFILES thumbbrowserentrybase.cc batchqueueentry.cc batchqueue.cc lwbutton.cc lwbuttonset.cc batchqueuebuttonset.cc browserfilter.cc exiffiltersettings.cc - profilestore.cc partialpastedlg.cc) + profilestore.cc partialpastedlg.cc + equalizer.cc) if (WIN32) set (EXTRA_SRC windirmonitor.cc myicon.o) diff --git a/rtgui/colorboost.h b/rtgui/colorboost.h index d7efc4ad6..12fd7903c 100644 --- a/rtgui/colorboost.h +++ b/rtgui/colorboost.h @@ -20,8 +20,8 @@ #define _COLORBOOST_H_ #include -#include -#include +#include "adjuster.h" +#include "toolpanel.h" class ColorBoost : public Gtk::VBox, public AdjusterListener, public ToolPanel { diff --git a/rtgui/equalizer.cc b/rtgui/equalizer.cc new file mode 100644 index 000000000..74bf84a61 --- /dev/null +++ b/rtgui/equalizer.cc @@ -0,0 +1,167 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + +#include + +using namespace rtengine; +using namespace rtengine::procparams; + +Equalizer::Equalizer () : ToolPanel() { + + enabled = Gtk::manage (new Gtk::CheckButton (M("GENERAL_ENABLED"))); + enabled->set_active (true); + pack_start(*enabled); + enabled->show(); + enaConn = enabled->signal_toggled().connect( sigc::mem_fun(*this, &Equalizer::enabled_toggled) ); + + Gtk::HSeparator *separator = Gtk::manage (new Gtk::HSeparator()); + pack_start(*separator, Gtk::PACK_SHRINK, 2); + + for(int i = 0; i < 8; i++) + { + std::stringstream ss; + ss << i; + if(i == 0) + ss << " (" << M("TP_EQUALIZER_FINEST") << ")"; + if(i == 7) + ss << " (" << M("TP_EQUALIZER_LARGEST") << ")"; + + correction[i] = new Adjuster (ss.str(), -100, 100, 1, 0); + correction[i]->setAdjusterListener(this); + pack_start(*correction[i]); + } + + show_all_children (); +} + +Equalizer::~Equalizer () { + +} + +void Equalizer::read (const ProcParams* pp, const ParamsEdited* pedited) { + + disableListener (); + + if (pedited) { + + enabled->set_inconsistent (!pedited->equalizer.enabled); + + for(int i = 0; i < 8; i++) { + correction[i]->setEditedState (pedited->equalizer.c[i] ? Edited : UnEdited); + } + } + + enaConn.block (true); + enabled->set_active (pp->equalizer.enabled); + enaConn.block (false); + lastEnabled = pp->equalizer.enabled; + + for (int i = 0; i < 8; i++) { + correction[i]->setValue(pp->equalizer.c[i]); + } + + enableListener (); +} + +void Equalizer::write (ProcParams* pp, ParamsEdited* pedited) { + + pp->equalizer.enabled = enabled->get_active (); + + for (int i = 0; i < 8; i++) { + pp->equalizer.c[i] = (int) correction[i]->getValue(); + } + + if (pedited) { + + pedited->equalizer.enabled = !enabled->get_inconsistent(); + + for(int i = 0; i < 8; i++) { + pedited->equalizer.c[i] = correction[i]->getEditedState(); + } + } +} + +void Equalizer::setDefaults (const ProcParams* defParams, const ParamsEdited* pedited) { + + for (int i = 0; i < 8; i++) { + correction[i]->setDefault(defParams->equalizer.c[i]); + } + + if (pedited) { + for (int i = 0; i < 8; i++) { + correction[i]->setDefaultEditedState(pedited->equalizer.c[i] ? Edited : UnEdited); + } + } + else { + for (int i = 0; i < 8; i++) { + correction[i]->setDefaultEditedState(Irrelevant); + } + } +} + +void Equalizer::setBatchMode (bool batchMode) { + + ToolPanel::setBatchMode (batchMode); + + for (int i = 0; i < 8; i++) { + correction[i]->showEditedCB(); + } +} + +void Equalizer::adjusterChanged (Adjuster* a, double newval) { + + if (listener && enabled->get_active()) { + std::stringstream ss; + ss << "("; + int i; + for (i = 0; i < 8; i++) { + if (i > 0) { + ss << ", "; + } + ss << static_cast(correction[i]->getValue()); + } + ss << ")"; + listener->panelChanged (EvEqualizer, ss.str()); + } +} + +void Equalizer::enabled_toggled () { + + if (batchMode) { + if (enabled->get_inconsistent()) { + enabled->set_inconsistent (false); + enaConn.block (true); + enabled->set_active (false); + enaConn.block (false); + } + else if (lastEnabled) + enabled->set_inconsistent (true); + + lastEnabled = enabled->get_active (); + } + + if (listener) { + if (enabled->get_active ()) + listener->panelChanged (EvEqlEnabled, M("GENERAL_ENABLED")); + else + listener->panelChanged (EvEqlEnabled, M("GENERAL_DISABLED")); + } +} + + diff --git a/rtgui/equalizer.h b/rtgui/equalizer.h new file mode 100644 index 000000000..3d663f4e3 --- /dev/null +++ b/rtgui/equalizer.h @@ -0,0 +1,53 @@ +/* + * This file is part of RawTherapee. + * + * RawTherapee is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * RawTherapee is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with RawTherapee. If not, see . + * + * 2010 Ilya Popov + */ + +#ifndef EQUALIZE_H_INCLUDED +#define EQUALIZE_H_INCLUDED + +#include +#include +#include + +class Equalizer : public Gtk::VBox, public AdjusterListener, public ToolPanel +{ + +protected: + + Gtk::CheckButton * enabled; + Adjuster* correction[8]; + + sigc::connection enaConn; + + bool lastEnabled; + +public: + + Equalizer (); + virtual ~Equalizer (); + + void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited=NULL); + void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited=NULL); + void setDefaults (const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited=NULL); + void setBatchMode (bool batchMode); + + void adjusterChanged (Adjuster* a, double newval); + void enabled_toggled (); +}; + +#endif diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index 918d537ce..a0ca51c38 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -119,6 +119,11 @@ void ParamsEdited::set (bool v) { icm.gammaOnInput = v; icm.working = v; icm.output = v; + equalizer.enabled = v; + for(int i = 0; i < 8; i++) + { + equalizer.c[i] = v; + } exif.clear (); iptc.clear (); } @@ -226,6 +231,10 @@ void ParamsEdited::initFrom (const std::vector icm.gammaOnInput = icm.gammaOnInput && p.icm.gammaOnInput == other.icm.gammaOnInput; icm.working = icm.working && p.icm.working == other.icm.working; icm.output = icm.output && p.icm.output == other.icm.output; + equalizer.enabled = equalizer.enabled && p.equalizer.enabled == other.equalizer.enabled; + for(int i = 0; i < 8; i++) { + equalizer.c[i] = equalizer.c[i] && p.equalizer.c[i] == other.equalizer.c[i]; + } // exif = exif && p.exif==other.exif // iptc = other.iptc; } @@ -324,6 +333,10 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten if (icm.gammaOnInput) toEdit.icm.gammaOnInput = mods.icm.gammaOnInput; if (icm.working) toEdit.icm.working = mods.icm.working; if (icm.output) toEdit.icm.output = mods.icm.output; + if (equalizer.enabled) toEdit.equalizer.enabled = mods.equalizer.enabled; + for(int i = 0; i < 8; i++) { + if(equalizer.c[i]) toEdit.equalizer.c[i] = mods.equalizer.c[i]; + } // if (exif) toEdit.exif==mo.exif = mods.exif==other.exif; // if (iptc;) toEdit.iptc==other.iptc; = mods.iptc==other.iptc;; } diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h index a38b96fc6..c8dd43085 100644 --- a/rtgui/paramsedited.h +++ b/rtgui/paramsedited.h @@ -215,6 +215,13 @@ class ColorManagementParamsEdited { bool output; }; +class EqualizerParamsEdited { + + public: + bool enabled; + bool c[8]; +}; + class ExifPairEdited { public: @@ -253,6 +260,7 @@ class ParamsEdited { HRecParamsEdited hlrecovery; ResizeParamsEdited resize; ColorManagementParamsEdited icm; + EqualizerParamsEdited equalizer; std::vector exif; std::vector iptc; diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index df8c7cc13..f01cc2105 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -53,6 +53,7 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) { icm = Gtk::manage (new ICMPanel ()); exifpanel = Gtk::manage (new ExifPanel ()); iptcpanel = Gtk::manage (new IPTCPanel ()); + equalizer = Gtk::manage (new Equalizer ()); addPanel (colorPanel, whitebalance, M("TP_WBALANCE_LABEL")); toolPanels.push_back (whitebalance); addPanel (exposurePanel, curve, M("TP_EXPOSURE_LABEL")); toolPanels.push_back (curve); @@ -65,10 +66,11 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) { addPanel (exposurePanel, lcurve, M("TP_LUMACURVE_LABEL")); toolPanels.push_back (lcurve); addPanel (detailsPanel, lumadenoise, M("TP_LUMADENOISE_LABEL")); toolPanels.push_back (lumadenoise); addPanel (detailsPanel, colordenoise, M("TP_COLORDENOISE_LABEL")); toolPanels.push_back (colordenoise); + addPanel (detailsPanel, equalizer, M("TP_EQUALIZER_LABEL")); toolPanels.push_back (equalizer); addPanel (transformPanel, crop, M("TP_CROP_LABEL")); toolPanels.push_back (crop); addPanel (transformPanel, resize, M("TP_RESIZE_LABEL")); toolPanels.push_back (resize); addPanel (transformPanel, lensgeom, M("TP_LENSGEOM_LABEL")); toolPanels.push_back (lensgeom); - addPanel (lensgeom->getPackBox(), rotate, M("TP_ROTATE_LABEL")); toolPanels.push_back (rotate); + addPanel (lensgeom->getPackBox(), rotate, M("TP_ROTATE_LABEL")); toolPanels.push_back (rotate); addPanel (lensgeom->getPackBox(), perspective, M("TP_PERSPECTIVE_LABEL")); toolPanels.push_back (perspective); addPanel (lensgeom->getPackBox(), distortion, M("TP_DISTORTION_LABEL")); toolPanels.push_back (distortion); addPanel (lensgeom->getPackBox(), cacorrection, M("TP_CACORRECTION_LABEL")); toolPanels.push_back (cacorrection); diff --git a/rtgui/toolpanelcoord.h b/rtgui/toolpanelcoord.h index f3215b287..6407b4a47 100644 --- a/rtgui/toolpanelcoord.h +++ b/rtgui/toolpanelcoord.h @@ -51,6 +51,7 @@ #include #include #include +#include class ImageEditorCoordinator; @@ -86,6 +87,7 @@ class ToolPanelCoordinator : public ToolPanelListener, ColorDenoise* colordenoise; Sharpening* sharpening; LCurve* lcurve; + Equalizer * equalizer; std::vector paramcListeners;