Merge
Demosaicing and pre-processing parameters selectable for each image. Dark frames subtraction and badpixels file support Fast loading in editor.
This commit is contained in:
parent
5e7a81f0f1
commit
647dfb8366
90
COMPILE.txt
90
COMPILE.txt
@ -1,44 +1,80 @@
|
||||
If you have problems with the compilation, identified the reason and fixed
|
||||
the bug, please send me the updated build scripts (CMakeLists.txt files) to:
|
||||
hgabor@rawtherapee.com
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
Requirements:
|
||||
- MinGW + MSYS
|
||||
- CMake
|
||||
- GTK and GTKMM development environments
|
||||
METHOD 1:
|
||||
Requirements:
|
||||
- MinGW + MSYS
|
||||
- CMake
|
||||
- GTK and GTKMM development environments
|
||||
|
||||
Compile:
|
||||
- Start MSYS
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- Type: cmake -G "MSYS Makefiles" .
|
||||
- Type: make install
|
||||
- You find the compiled program in the release directory
|
||||
|
||||
Compile:
|
||||
- Start MSYS
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- Type: cmake -G "MSYS Makefiles" .
|
||||
- Type: make install
|
||||
- You find the compiled program in the release directory
|
||||
METHOD 2:
|
||||
Requirements:
|
||||
- tdm-gcc (http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.5.1.exe/download)
|
||||
- cmake (http://www.cmake.org/cmake/resources/software.html)
|
||||
- mercurial (http://mercurial.selenic.com/wiki/WindowsInstall)
|
||||
- gtkmm (http://ftp.se.debian.org/pub/gnome/binaries/win32/gtkmm/2.22/)
|
||||
|
||||
Compile:
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- Type: cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=.
|
||||
- Type: mingw32-make.exe install
|
||||
- You find the compiled program in the "release" directory
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
Requirements:
|
||||
- CMake
|
||||
- GTK and GTKMM development packages
|
||||
- libtiff, libpng, libjpeg, lcms, libiptcdata development packages
|
||||
- ...did I forget something?
|
||||
Requirements:
|
||||
- CMake
|
||||
- GTK and GTKMM development packages
|
||||
- libtiff, libpng, libjpeg, lcms, libiptcdata development packages
|
||||
- ...did I forget something?
|
||||
|
||||
On Ubuntu/Debian the requirements can be installed by running:
|
||||
sudo apt-get install build-essential cmake libgtk2.0-dev libgtkmm-2.4-dev libtiff-dev libpng-dev libjpeg-dev liblcms-dev libiptcdata-dev merciurial
|
||||
On Ubuntu/Debian the requirements can be installed by running:
|
||||
sudo apt-get install build-essential cmake libgtk2.0-dev libgtkmm-2.4-dev libtiff-dev libpng-dev libjpeg-dev liblcms-dev libiptcdata-dev merciurial
|
||||
|
||||
Compile:
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- Type: cmake -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=.
|
||||
- Type: make install
|
||||
- You find the compiled program in the release directory (you can copy it
|
||||
anywhere you want)
|
||||
Compile:
|
||||
- Enter the root directory of the RawTherapee source tree
|
||||
- Type: cmake -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=.
|
||||
- Type: make install
|
||||
- You find the compiled program in the release directory (you can copy it
|
||||
anywhere you want)
|
||||
|
||||
(By changing the cmake flags, you can change where the release is. By removing all flags it should go to the standard system install location).
|
||||
(By changing the cmake flags, you can change where the release is. By removing all flags it should go to the standard system install location).
|
||||
|
||||
...If you have problems with the compilation, identified the reason and fixed
|
||||
the bug, please send me the updated build scripts (CMakeLists.txt files) to:
|
||||
hgabor@rawtherapee.com
|
||||
|
||||
Using Eclipse under Linux:
|
||||
|
||||
Eclipse mercurial plugin:
|
||||
click Help -> Install new Software.
|
||||
The Eclipse Update Site for MercurialEclipse is available at this URL:
|
||||
http://cbes.javaforge.com/update
|
||||
|
||||
Import the rawtherapee mercurial repository:
|
||||
File->new->'other'->mercurial->Clone existing repository
|
||||
fill in URL: https://rawtherapee.googlecode.com/hg
|
||||
|
||||
Enter root directory of RawTherapee source tree from a terminal window.
|
||||
configure the source for Eclipse with:
|
||||
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_INSTALL_PREFIX=./release -DBINDIR=. -DDATADIR=. -DLIBDIR=. -DCMAKE_BUILD_TYPE=Release
|
||||
|
||||
Eclipse does not do 'make install' but only 'make all' so to get the release there are 2 ways.
|
||||
1. type 'make install' in the console or,
|
||||
2. in 'Project'->'properties'->'C/C++ Make Project'->'Build (incremental build)' change 'all' to 'install'
|
||||
|
||||
|
||||
...
|
||||
|
||||
OSX
|
||||
---
|
||||
|
||||
|
@ -598,7 +598,7 @@ ZOOMBAR_SMALL;Petit
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -649,6 +649,12 @@ ZOOMBAR_SMALL;Petit
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -656,26 +662,42 @@ ZOOMBAR_SMALL;Petit
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -684,6 +706,11 @@ ZOOMBAR_SMALL;Petit
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -602,7 +602,7 @@ ZOOMBAR_SMALL;小
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -653,6 +653,12 @@ ZOOMBAR_SMALL;小
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -660,26 +666,42 @@ ZOOMBAR_SMALL;小
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -688,6 +710,11 @@ ZOOMBAR_SMALL;小
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -615,7 +615,7 @@ ZOOMBAR_SMALL;小
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -656,6 +656,12 @@ ZOOMBAR_SMALL;小
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -663,25 +669,41 @@ ZOOMBAR_SMALL;小
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -690,6 +712,11 @@ ZOOMBAR_SMALL;小
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -602,7 +602,7 @@ ZOOMBAR_SMALL;Malý
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -653,6 +653,12 @@ ZOOMBAR_SMALL;Malý
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -660,25 +666,41 @@ ZOOMBAR_SMALL;Malý
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -687,6 +709,11 @@ ZOOMBAR_SMALL;Malý
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -600,7 +600,7 @@ ZOOMBAR_SMALL;Lille
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -651,6 +651,12 @@ ZOOMBAR_SMALL;Lille
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -658,26 +664,42 @@ ZOOMBAR_SMALL;Lille
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -686,6 +708,11 @@ ZOOMBAR_SMALL;Lille
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -9,6 +9,8 @@
|
||||
#07 22.12.2007
|
||||
#08 4.4.2008: Anpassungen für 2.4
|
||||
#09 Leichte Anpassungen (keenonkites/klonk)
|
||||
#10 Erweiterung (oduis)
|
||||
ADJUSTER_RESET_TO_DEFAULT;Standard wiederherstellen
|
||||
BATCHQUEUE_AUTOSTART;Automatisch starten
|
||||
BATCH_PROCESSING;Batch-Verarbeitung
|
||||
CURVEEDITOR_CUSTOM;Angepasst
|
||||
@ -19,6 +21,7 @@ CURVEEDITOR_HIGHLIGHTS;Spitzlichter
|
||||
CURVEEDITOR_LIGHTS;Lichter
|
||||
CURVEEDITOR_LINEAR;Linear
|
||||
CURVEEDITOR_LOADDLGLABEL;Kurve Laden...
|
||||
CURVEEDITOR_NURBS;NURBS-Kurve
|
||||
CURVEEDITOR_PARAMETRIC;Parametrisch
|
||||
CURVEEDITOR_SAVEDLGLABEL;Kurve Speichern...
|
||||
CURVEEDITOR_SHADOWS;Schatten
|
||||
@ -32,7 +35,7 @@ EXIFFILTER_DIALOGLABEL;Exif Filter
|
||||
EXIFFILTER_FOCALLEN;Brennweite
|
||||
EXIFFILTER_ISO;ISO
|
||||
EXIFFILTER_LENS;Objektiv
|
||||
EXIFFILTER_METADATAFILTER;Metadaten Filter einschalten
|
||||
EXIFFILTER_METADATAFILTER;Metadaten-Filter einschalten
|
||||
EXIFFILTER_SHUTTER;Verschlusszeit
|
||||
EXIFPANEL_ADDEDIT;Neu/Ändern
|
||||
EXIFPANEL_ADDEDITHINT;Hinzufügen eines neuen oder Ändern eines bestehenden Attributs
|
||||
@ -48,14 +51,14 @@ EXIFPANEL_RESETALL;Alle zurücksetzen
|
||||
EXIFPANEL_RESETALLHINT;Alle Attribute zu den ursrpünglichen Werten zurücksetzen
|
||||
EXIFPANEL_RESETHINT;Gewählte Attribute zu den ursprünglich Werten zurücksetzen
|
||||
EXIFPANEL_SUBDIRECTORY;Unterverzeichnis
|
||||
FILEBROWSER_ADDDELTEMPLATE;Vorlagen hinzu/löschen...
|
||||
FILEBROWSER_ADDDELTEMPLATE;Vorlagen hinzu/entfernen...
|
||||
FILEBROWSER_APPLYPROFILE;Profil anwenden
|
||||
FILEBROWSER_ARRANGEMENTHINT;Wechseln zwischen vertikaler und horizontaler Ausrichtung der Voransichten
|
||||
FILEBROWSER_CLEARPROFILE;Profil löschen
|
||||
FILEBROWSER_COPYPROFILE;Profil kopieren
|
||||
FILEBROWSER_CURRENT_NAME;Aktueller Name:
|
||||
FILEBROWSER_DELETEDLGLABEL;Bestätige Löschen von Dateien
|
||||
FILEBROWSER_DELETEDLGMSG;Wollen sie wirklich %1 Dateien löschen?
|
||||
FILEBROWSER_DELETEDLGMSG;Wollen sie wirklich %1 Datei(en) löschen?
|
||||
FILEBROWSER_EMPTYTRASH;Papierkorb leeren
|
||||
FILEBROWSER_EMPTYTRASHHINT;Endgültiges Löschen der Dateien im Papierkorb
|
||||
FILEBROWSER_EXIFFILTERAPPLY;Anwenden
|
||||
@ -109,10 +112,10 @@ GENERAL_ABOUT;Über
|
||||
GENERAL_AFTER;Nachher
|
||||
GENERAL_BEFORE;Vorher
|
||||
GENERAL_CANCEL;Abbruch
|
||||
GENERAL_DISABLE;ausschalten
|
||||
GENERAL_DISABLED;ausgeschaltet
|
||||
GENERAL_ENABLE;einschalten
|
||||
GENERAL_ENABLED;eingeschaltet
|
||||
GENERAL_DISABLE;deaktivieren
|
||||
GENERAL_DISABLED;deaktiviert
|
||||
GENERAL_ENABLE;Aktivieren
|
||||
GENERAL_ENABLED;Aktiv
|
||||
GENERAL_HIGH_QUALITY;Hohe Qualität
|
||||
GENERAL_LANDSCAPE;Quer
|
||||
GENERAL_LOAD;Laden
|
||||
@ -150,17 +153,17 @@ HISTORY_MSG_19;Luminanz Kurve
|
||||
HISTORY_MSG_1;Bild geladen
|
||||
HISTORY_MSG_20;Schärfen
|
||||
HISTORY_MSG_21;Schärfen Radius
|
||||
HISTORY_MSG_22;Schärfen Menge
|
||||
HISTORY_MSG_22;Schärfen Stärke
|
||||
HISTORY_MSG_23;Schärfen Schwellwert
|
||||
HISTORY_MSG_24;Schärfen nur Kanten
|
||||
HISTORY_MSG_25;Schärfen Kantensuche Radius
|
||||
HISTORY_MSG_26;Schärfen Kanten-Toleranz
|
||||
HISTORY_MSG_27;Schärfen Halo-Kontrolle
|
||||
HISTORY_MSG_28;Schärfen Halo-Kontrolle Menge
|
||||
HISTORY_MSG_28;Schärfen Halo-Kontrolle Stärke
|
||||
HISTORY_MSG_29;Schärfen Methode
|
||||
HISTORY_MSG_2;Profil geladen
|
||||
HISTORY_MSG_30;Dekonvolution Radius
|
||||
HISTORY_MSG_31;Dekonvolution Menge
|
||||
HISTORY_MSG_31;Dekonvolution Stärke
|
||||
HISTORY_MSG_32;Dekonvolution Dämpfung
|
||||
HISTORY_MSG_33;Dekonvolution Iterationen
|
||||
HISTORY_MSG_34;Verhindere Farbbeschneidungen
|
||||
@ -199,13 +202,13 @@ HISTORY_MSG_63;Variante gewählt
|
||||
HISTORY_MSG_64;Bild beschneiden
|
||||
HISTORY_MSG_65;Farbsaum-Entfernung
|
||||
HISTORY_MSG_66;Lichter wiederherstellen
|
||||
HISTORY_MSG_67;Lichter wiederherstellen Menge
|
||||
HISTORY_MSG_67;Lichter wiederherstellen Stärke
|
||||
HISTORY_MSG_68;Lichter wiederherstellen Methode
|
||||
HISTORY_MSG_69;Aktueller Farbraum
|
||||
HISTORY_MSG_6;Kontrast
|
||||
HISTORY_MSG_70;Farbraum für Ausgabe
|
||||
HISTORY_MSG_71;Farbraum für Eingabe
|
||||
HISTORY_MSG_72;Korrektur Randlichtabfall
|
||||
HISTORY_MSG_72;Vignettierungs-Korrektur
|
||||
HISTORY_MSG_73;Kanal-Mixer
|
||||
HISTORY_MSG_74;Änderung Größe - Maßstab
|
||||
HISTORY_MSG_75;Änderung Größe - Methode
|
||||
@ -216,7 +219,17 @@ HISTORY_MSG_79;Änderung Größe - Breite
|
||||
HISTORY_MSG_7;Schwarz
|
||||
HISTORY_MSG_80;Änderung Größe - Höhe
|
||||
HISTORY_MSG_81;Änderung Größe - eingeschaltet
|
||||
HISTORY_MSG_82;Profil geändert
|
||||
HISTORY_MSG_83;Schatten/Lichter hohe Qualität
|
||||
HISTORY_MSG_84;Perspektivische Korrektur
|
||||
HISTORY_MSG_85;Wavelet Koeffizienten
|
||||
HISTORY_MSG_86;Wavelet Equalizer
|
||||
HISTORY_MSG_87;Impulsrauschfilter
|
||||
HISTORY_MSG_89;Gerichtete Pyramide
|
||||
HISTORY_MSG_8;Belichtungskorrektur
|
||||
HISTORY_MSG_90;Gerichtete Pyramide Luminanz
|
||||
HISTORY_MSG_91;Gerichtete Pyramide Chrominanz
|
||||
HISTORY_MSG_92;Gerichtete Pyramide Gamma
|
||||
HISTORY_MSG_9;Lichter-Kompression
|
||||
HISTORY_NEWSNAPSHOT;Neue Variante
|
||||
HISTORY_NEWSNAPSHOTAS;als...
|
||||
@ -231,7 +244,7 @@ ICMPANEL_GAMMABEFOREINPUT;Profil enthält Gammaanpassung
|
||||
ICMPANEL_INPUTCAMERA;Kamera-Standard
|
||||
ICMPANEL_INPUTCUSTOM;Benutzerdefiniert
|
||||
ICMPANEL_INPUTDLGLABEL;Wähle Eingabe-ICC-Profil...
|
||||
ICMPANEL_INPUTEMBEDDED;Verwende eingebettetes, wenn möglich
|
||||
ICMPANEL_INPUTEMBEDDED;Eingebettetes verwenden, wenn möglich
|
||||
ICMPANEL_INPUTPROFILE;Eingabeprofil
|
||||
ICMPANEL_NOICM;Kein ICM: sRGB-Ausgabe
|
||||
ICMPANEL_OUTPUTDLGLABEL;Wähle Ausgabe-ICC-Profil...
|
||||
@ -284,18 +297,21 @@ IPTCPANEL_TRANSREFERENCEHINT;Ein Code, der den ursprünglichen Ort der Übertrag
|
||||
MAIN_BUTTON_EXIT;Verlassen
|
||||
MAIN_BUTTON_FULLSCREEN;Vollbild
|
||||
MAIN_BUTTON_PREFERENCES;Einstellungen
|
||||
MAIN_BUTTON_PUTTOQUEUE;Auf die Warteschlange
|
||||
MAIN_BUTTON_QUEUE;Auf die Warteschlange
|
||||
MAIN_BUTTON_PUTTOQUEUE;In Warteschlange
|
||||
MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Reiht aktuelles Bild in die Warteschlange ein <b>Strg+Q</b>
|
||||
MAIN_BUTTON_QUEUE;In die Warteschlange
|
||||
MAIN_BUTTON_SAVE;Bild speichern
|
||||
MAIN_BUTTON_SAVEAS;unter...
|
||||
MAIN_BUTTON_SENDTOEDITOR;Im Editor laden
|
||||
MAIN_BUTTON_SAVEAS;Speichern unter...
|
||||
MAIN_BUTTON_SAVE_TOOLTIP;Aktuelles Bild speichern <b>Ctrl+S</b>
|
||||
MAIN_BUTTON_SENDTOEDITOR;Im Editor öffnen
|
||||
MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Öffnes das aktuelle Bild im externen Editor <b>Strg+E</b>
|
||||
MAIN_BUTTON_UNFULLSCREEN;Vollbild beenden
|
||||
MAIN_FRAME_BATCHQUEUE;Warteschlange
|
||||
MAIN_FRAME_FILEBROWSER;Dateiverwaltung
|
||||
MAIN_FRAME_PLACES;Orte
|
||||
MAIN_FRAME_PLACES_ADD;Hinzu
|
||||
MAIN_FRAME_PLACES_DEL;Löschen
|
||||
MAIN_FRAME_RECENT;Verwendete Ordner
|
||||
MAIN_FRAME_PLACES;Favoriten
|
||||
MAIN_FRAME_PLACES_ADD;Hinzuf.
|
||||
MAIN_FRAME_PLACES_DEL;Entf.
|
||||
MAIN_FRAME_RECENT;Zuletzt besucht
|
||||
MAIN_MSG_ALREADYEXISTS;Diese Datei existiert schon.
|
||||
MAIN_MSG_CANNOTLOAD;Bild kann nicht geladen werden
|
||||
MAIN_MSG_CANNOTSAVE;Fehler beim Speichern
|
||||
@ -303,11 +319,11 @@ MAIN_MSG_CANNOTSTARTEDITOR;Der Editor kann nicht gestartet werden.
|
||||
MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Setzen Sie bitte den richtigen Pfad in den Einstellungen.
|
||||
MAIN_MSG_ERRORDURINGIMAGESAVING;Fehler beim Speichern des Bildes
|
||||
MAIN_MSG_EXITJOBSINQUEUEINFO;Unverarbeitete Bilder in der Warteschlange gehen beim Verlassen der Anwendung verloren.
|
||||
MAIN_MSG_EXITJOBSINQUEUEQUEST;Wollen Sie die Anwendung wirklich schliessen ? Es hat noch unverarbeitete Bilder in der Warteschlange.
|
||||
MAIN_MSG_EXITJOBSINQUEUEQUEST;Wollen Sie die Anwendung wirklich schliessen? Es hat noch unverarbeitete Bilder in der Warteschlange.
|
||||
MAIN_MSG_JOBSINQUEUE;Job in Bearbeitung
|
||||
MAIN_MSG_NAVIGATOR;Navigator
|
||||
MAIN_MSG_PLACES;Orte
|
||||
MAIN_MSG_QOVERWRITE;Wollen sie die Datei überschreiben ?
|
||||
MAIN_MSG_QOVERWRITE;Wollen sie die Datei überschreiben?
|
||||
MAIN_TAB_BASIC;Basis
|
||||
MAIN_TAB_COLOR;Farbe
|
||||
MAIN_TAB_DETAIL;Detail
|
||||
@ -317,7 +333,7 @@ MAIN_TAB_EXPOSURE;Belichtung
|
||||
MAIN_TAB_FILTER;Metadaten-Filter
|
||||
MAIN_TAB_ICM;ICM
|
||||
MAIN_TAB_IPTC;IPTC
|
||||
MAIN_TAB_METADATA;Metadata
|
||||
MAIN_TAB_METADATA;Meta-Daten
|
||||
MAIN_TAB_TAGGING;Tagging
|
||||
MAIN_TAB_TRANSFORM;Verändern
|
||||
MAIN_TOGGLE_BEFORE_AFTER;V|N
|
||||
@ -360,6 +376,7 @@ PARTIALPASTE_EXPOSURE;Belichtung
|
||||
PARTIALPASTE_HLRECOVERY;Lichter wiederherstellen
|
||||
PARTIALPASTE_ICMSETTINGS;Einstellungen ICM
|
||||
PARTIALPASTE_IPTCINFO;IPTC Informationen
|
||||
PARTIALPASTE_LABCURVE;LAB-Kurve
|
||||
PARTIALPASTE_LENSGROUP;Gruppe Farbeinstellungen
|
||||
PARTIALPASTE_LUMACURVE;Luminanzkurve
|
||||
PARTIALPASTE_LUMADENOISE;Luminanz-Rauschfilter
|
||||
@ -369,7 +386,7 @@ PARTIALPASTE_RESIZE;Grösse ändern
|
||||
PARTIALPASTE_ROTATION;Drehen
|
||||
PARTIALPASTE_SHADOWSHIGHLIGHTS;Schatten/Lichter
|
||||
PARTIALPASTE_SHARPENING;Schärfen
|
||||
PARTIALPASTE_VIGNETTING;Korrektur Randlichtabfall
|
||||
PARTIALPASTE_VIGNETTING;Korrektur Vignettierung
|
||||
PARTIALPASTE_WHITEBALANCE;Weissabgleich
|
||||
PREFERENCES_ADD;HINZU
|
||||
PREFERENCES_APPLNEXTSTARTUP;beim nächsten Programmstart aktiv
|
||||
@ -388,6 +405,7 @@ PREFERENCES_CACHESTRAT2;Priorität auf minimierten Speicherverbrauch (geringere
|
||||
PREFERENCES_CACHESTRAT;Strategie des Zwischenspeichers
|
||||
PREFERENCES_CACHETHUMBFORM;Format des Zwischenspeichers
|
||||
PREFERENCES_CACHETHUMBHEIGHT;Maximale Höhe der Voransichten
|
||||
PREFERENCES_CACORRECTION;Autom. Korrektur Chrom. Abberation
|
||||
PREFERENCES_CLEARDLG_LINE1;Löschen des Zwischenspeichers
|
||||
PREFERENCES_CLEARDLG_LINE2;Das kann einige Sekunden dauern.
|
||||
PREFERENCES_CLEARDLG_TITLE;Bitte warten
|
||||
@ -406,25 +424,31 @@ PREFERENCES_DIROTHER;Anderes
|
||||
PREFERENCES_DIRSELECTDLG;Wähle das Bild-Verzeichnis beim Programmstart...
|
||||
PREFERENCES_DIRSOFTWARE;Installationsverzeichnis
|
||||
PREFERENCES_DMETHOD;Methode
|
||||
PREFERENCES_DMETHODBATCH;Warteschlange
|
||||
PREFERENCES_EDITORCMDLINE;Andere Befehlszeile
|
||||
PREFERENCES_EDITORLAYOUT;Editor-Layout
|
||||
PREFERENCES_EXTERNALEDITOR;Externer Editor
|
||||
PREFERENCES_FALSECOLOR;Stufen zur Unterdrückung von Falschfarben
|
||||
PREFERENCES_FALSECOLOR;Stufen Falschfarben-Unterdrückung
|
||||
PREFERENCES_FBROWSEROPTS;Datei-Browser-Einstellungen
|
||||
PREFERENCES_FILEFORMAT;Datei-Format
|
||||
PREFERENCES_FORIMAGE;Für Bild-Dateien
|
||||
PREFERENCES_FORRAW;Für RAW-Dateien
|
||||
PREFERENCES_GIMPPATH;GIMP Installations Verzeichnis
|
||||
PREFERENCES_GIMPPATH;GIMP Installations-Verzeichnis
|
||||
PREFERENCES_GREENEQUIL;Grün-Ausgleich
|
||||
PREFERENCES_GTKTHEME;Standard GTK
|
||||
PREFERENCES_HINT;Erklärungen
|
||||
PREFERENCES_HLTHRESHOLD;Schwellwert - zu hell
|
||||
PREFERENCES_HOTDEADPIXFILT;Hot/Dead Pixel Filter anwenden
|
||||
PREFERENCES_ICCDIR;ICC-Profile-Verzeichnis
|
||||
PREFERENCES_IMPROCPARAMS;Standard-Bildbearbeitungsparameter
|
||||
PREFERENCES_INTENT_ABSOLUTE;Absolut farbmetrisch
|
||||
PREFERENCES_INTENT_PERCEPTUAL;Wahrnehmungsabhängig
|
||||
PREFERENCES_INTENT_RELATIVE;Relative farbmetrisch
|
||||
PREFERENCES_INTENT_RELATIVE;Relativ farbmetrisch
|
||||
PREFERENCES_INTENT_SATURATION;Sättigung
|
||||
PREFERENCES_LINEDENOISE;Zeilenrausch-Filter
|
||||
PREFERENCES_LIVETHUMBNAILS;Live Voransichten (langsamer)
|
||||
PREFERENCES_MONITORICC;Monitor-Profil
|
||||
PREFERENCES_MULTITAB;Multi-Reiter Modus
|
||||
PREFERENCES_OUTDIR;Ausgabe-Verzeichnis
|
||||
PREFERENCES_OUTDIRFOLDER;Speichern in Verzeichnis
|
||||
PREFERENCES_OUTDIRFOLDERHINT;Ablegen der gespeicherten Bilder in ein ausgewähltes Verzeichnis
|
||||
@ -439,20 +463,22 @@ PREFERENCES_PARSEDEXTDELHINT;Lösche den ausgewählten Datei-Typ von der Liste
|
||||
PREFERENCES_PROFILEHANDLING;Behandlung der Bearbeitungsprofile
|
||||
PREFERENCES_PROFILELOADPR;Priorität der Profile beim Laden
|
||||
PREFERENCES_PROFILEPRCACHE;Bearbeitungsprofil im Zwischenspeicher (Cache)
|
||||
PREFERENCES_PROFILEPRFILE;Bearbeitungsprofile bei der urpsrünglich geladenen Datei
|
||||
PREFERENCES_PROFILEPRFILE;Bearbeitungsprofile bei der ursprünglich geladenen Datei
|
||||
PREFERENCES_PROFILESAVECACHE;Speichern der Verarbeitungsparameter im Zwischenspeicher (Cache)
|
||||
PREFERENCES_PROFILESAVEINPUT;Speichern der Verarbeitungsparameter zusammen mit der ursprünglich geladenen Datei
|
||||
PREFERENCES_PROPERTY;Eigenschaft
|
||||
PREFERENCES_PSPATH;Adobe Photoshop Installations Verzeichnis
|
||||
PREFERENCES_PSPATH;Adobe Photoshop Installations-Verzeichnis
|
||||
PREFERENCES_SELECTFONT;Schriftart
|
||||
PREFERENCES_SELECTICCDIRDLG;Wähle ICC-Profile-Verzeichnis...
|
||||
PREFERENCES_SELECTLANG;Sprache
|
||||
PREFERENCES_SELECTMONITORPROFDLG;Wähle ICC-Profil für den Monitor...
|
||||
PREFERENCES_SELECTTHEME;Wähle Oberflächendesign
|
||||
PREFERENCES_SELECTTHEME;Oberflächendesign
|
||||
PREFERENCES_SET;SETZEN
|
||||
PREFERENCES_SHOWBASICEXIF;Zeige grundlegende Exif-Informationen
|
||||
PREFERENCES_SHOWDATETIME;Zeige Datum und Zeit
|
||||
PREFERENCES_SHOWONLYRAW;Zeige nur Rohdateien (RAW)
|
||||
PREFERENCES_SHTHRESHOLD;Schwellwert - zu dunkel
|
||||
PREFERENCES_SINGLETAB;Ein-Reiter Modus
|
||||
PREFERENCES_STARTUPIMDIR;Bild-Verzeichnis beim Programmstart
|
||||
PREFERENCES_TAB_BROWSER;Datei-Browser
|
||||
PREFERENCES_TAB_COLORMGR;Farbmanagement
|
||||
@ -460,6 +486,8 @@ PREFERENCES_TAB_GENERAL;Allgemein
|
||||
PREFERENCES_TAB_IMPROC;Bildbearbeitung
|
||||
PREFERENCES_TAB_OUTPUT;Ausgabe
|
||||
PREFERENCES_THUMBSIZE;Größe der Vorschau
|
||||
PREFERENCES_USESYSTEMTHEME; System-Overfläche verwenden
|
||||
PREFERENCES_WORKFLOW;Workflow
|
||||
PROFILEPANEL_FILEDLGFILTERANY;Alle Dateien
|
||||
PROFILEPANEL_FILEDLGFILTERPP;Bearbeitungsprofile
|
||||
PROFILEPANEL_LABEL;Bearbeitungsprofile
|
||||
@ -493,6 +521,7 @@ QINFO_FOCALLENGTH;Brennweite
|
||||
QINFO_ISO;ISO
|
||||
QINFO_LENS;Objektiv
|
||||
QINFO_NOEXIF;Keine Exif-Daten vorhanden.
|
||||
SAVEDLG_AUTOSUFFIX;Suffix an Dateinamen hängen falls schon vorhanden
|
||||
SAVEDLG_FILEFORMAT;Dateiformat
|
||||
SAVEDLG_JPEGQUAL;JPEG-Qualität
|
||||
SAVEDLG_JPGFILTER;JPEG-Datei
|
||||
@ -501,8 +530,8 @@ SAVEDLG_PNGFILTER;PNG-Datei
|
||||
SAVEDLG_PUTTOQUEUE;In Warteschlange für Verarbeitung legen
|
||||
SAVEDLG_PUTTOQUEUEHEAD;An Anfang der Warteschlange für Verarbeitung legen
|
||||
SAVEDLG_PUTTOQUEUETAIL;Ans Ende der Warteschlange für Verarbeitung legen
|
||||
SAVEDLG_SAVEIMMEDIATELY;Sofort Speichern
|
||||
SAVEDLG_SAVESPP;Speichere die Prozessparameter mit dem Bild
|
||||
SAVEDLG_SAVEIMMEDIATELY;Sofort speichern
|
||||
SAVEDLG_SAVESPP;Speichere Prozessparameter mit dem Bild
|
||||
SAVEDLG_TIFFFILTER;TIFF-Datei
|
||||
SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
TOOLBAR_TOOLTIP_CROP;Auswahl des Ausschnitts (Taste C)
|
||||
@ -522,7 +551,7 @@ TP_COARSETRAF_TOOLTIP_ROTLEFT;nach links drehen
|
||||
TP_COARSETRAF_TOOLTIP_ROTRIGHT;nach rechts drehen
|
||||
TP_COARSETRAF_TOOLTIP_VFLIP;vertikal spiegeln
|
||||
TP_COLORBOOST_ACHANNEL;Kanal "a"
|
||||
TP_COLORBOOST_AMOUNT;Menge
|
||||
TP_COLORBOOST_AMOUNT;Stärke
|
||||
TP_COLORBOOST_AVOIDCOLORCLIP;Verhindere Übersättigung
|
||||
TP_COLORBOOST_BCHANNEL;Kanal "b"
|
||||
TP_COLORBOOST_CHAB;a & b
|
||||
@ -550,27 +579,44 @@ TP_CROP_GTRULETHIRDS;Goldener Schnitt
|
||||
TP_CROP_GUIDETYPE;Hilfslinien:
|
||||
TP_CROP_H;H
|
||||
TP_CROP_LABEL;Ausschnitt
|
||||
TP_CROP_SELECTCROP; Wähle Ausschnitt
|
||||
TP_CROP_SELECTCROP;Ausschnitt wählen
|
||||
TP_CROP_W;W
|
||||
TP_CROP_X;x
|
||||
TP_CROP_Y;y
|
||||
TP_DETAIL_AMOUNT;Menge
|
||||
TP_DETAIL_AMOUNT;Stärke
|
||||
TP_DIRPYRDENOISE_CHROMA;Chrominanz
|
||||
TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
TP_DIRPYRDENOISE_LABEL;Direktionale Pyramiden-Rauschminderung
|
||||
TP_DIRPYRDENOISE_LUMA;Luminanz
|
||||
TP_DIRPYREQUALIZER_LABEL;Direktionaler Pyramiden-Equalizer
|
||||
TP_DIRPYREQUALIZER_LUMACOARSEST;Gröbstes
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Kontrast-
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Kontrast+
|
||||
TP_DIRPYREQUALIZER_LUMAFINEST;Feinstes
|
||||
TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
TP_DIRPYREQUALIZER_THRESHOLD;Schwellwert
|
||||
TP_DISTORTION_AMOUNT;Menge
|
||||
TP_DISTORTION_LABEL;Entzerrung
|
||||
TP_EXPOSURE_AUTOLEVELS;autom.
|
||||
TP_EXPOSURE_BLACKLEVEL;schwarz
|
||||
TP_EQUALIZER_CONTRAST_MINUS;Kontrast-
|
||||
TP_EQUALIZER_CONTRAST_PLUS;Kontrast+
|
||||
TP_EQUALIZER_FINEST;Feinstes
|
||||
TP_EQUALIZER_LABEL;Wavelet-Equalizer
|
||||
TP_EQUALIZER_LARGEST;Gröbstes
|
||||
TP_EQUALIZER_NEUTRAL;Neutral
|
||||
TP_EXPOSURE_AUTOLEVELS;Auto
|
||||
TP_EXPOSURE_BLACKLEVEL;Schwarzpegel
|
||||
TP_EXPOSURE_BRIGHTNESS;Helligkeit
|
||||
TP_EXPOSURE_CLIP;beschneiden
|
||||
TP_EXPOSURE_CLIP;Grenzwert
|
||||
TP_EXPOSURE_COMPRHIGHLIGHTS;Lichter-Kompression
|
||||
TP_EXPOSURE_COMPRSHADOWS;Schatten-Kompression
|
||||
TP_EXPOSURE_CONTRAST;Kontrast
|
||||
TP_EXPOSURE_CURVEEDITOR;Tonwertkurve
|
||||
TP_EXPOSURE_EXPCOMP;Bel.Korrektur
|
||||
TP_EXPOSURE_EXPCOMP;Belichtungskorrektur
|
||||
TP_EXPOSURE_LABEL;Belichtung
|
||||
TP_HLREC_CIELAB;CIELab Überlagerung
|
||||
TP_HLREC_COLOR;Farbübertragung
|
||||
TP_HLREC_LABEL;Lichter wiederherstellen
|
||||
TP_HLREC_LUMINANCE;Luminanz herstellen
|
||||
TP_HLREC_LUMINANCE;Luminanz wiederherstellen
|
||||
TP_HLREC_METHOD;Methode:
|
||||
TP_ICM_FILEDLGFILTERANY;Alle Dateien
|
||||
TP_ICM_FILEDLGFILTERICM;ICC-Profildateien
|
||||
@ -586,6 +632,16 @@ TP_ICM_OUTPUTDLGLABEL;Wähle Ausgabe-ICC-Profil...
|
||||
TP_ICM_OUTPUTPROFILE;Ausgabeprofil
|
||||
TP_ICM_SAVEREFERENCE;Speichere Referenzbild für die Profilierung
|
||||
TP_ICM_WORKINGPROFILE;Arbeitsfarbraum
|
||||
TP_IMPULSEDENOISE_LABEL;Impulsrauschminderung
|
||||
TP_IMPULSEDENOISE_THRESH;Schwellwert
|
||||
TP_LABCURVE_BRIGHTNESS;Helligkeit
|
||||
TP_LABCURVE_CONTRAST;Kontrast
|
||||
TP_LABCURVE_CURVEEDITOR;Luminanzkurve
|
||||
TP_LABCURVE_LABEL;Luminanzkurve
|
||||
TP_LABCURVE_SATURATION;Sättigung
|
||||
TP_LENSGEOM_AUTOCROP;Auto-Schneiden
|
||||
TP_LENSGEOM_FILL;Auto-Füllen
|
||||
TP_LENSGEOM_LABEL;Objektivkorrekturen
|
||||
TP_LUMACURVE_BLACKLEVEL;schwarz
|
||||
TP_LUMACURVE_BRIGHTNESS;Helligkeit
|
||||
TP_LUMACURVE_COMPRHIGHLIGHTS;Lichter-Kompression
|
||||
@ -596,6 +652,9 @@ TP_LUMACURVE_LABEL;Luminanzkurve
|
||||
TP_LUMADENOISE_EDGETOLERANCE;Kanten-Toleranz
|
||||
TP_LUMADENOISE_LABEL;Luminanz-Rauschfilter
|
||||
TP_LUMADENOISE_RADIUS;Radius
|
||||
TP_PERSPECTIVE_HORIZONTAL;Horizontal
|
||||
TP_PERSPECTIVE_LABEL;Perspektive
|
||||
TP_PERSPECTIVE_VERTICAL;Vertikal
|
||||
TP_RESIZE_BICUBIC;Bikubisch
|
||||
TP_RESIZE_BICUBICSF;Bikubisch (Weicher)
|
||||
TP_RESIZE_BICUBICSH;Bikubisch (Schärfer)
|
||||
@ -624,23 +683,23 @@ TP_SHADOWSHLIGHTS_LOCALCONTR;Lokaler Kontrast
|
||||
TP_SHADOWSHLIGHTS_RADIUS;Radius
|
||||
TP_SHADOWSHLIGHTS_SHADOWS;Schatten
|
||||
TP_SHADOWSHLIGHTS_SHTONALW;Farbtonbereich
|
||||
TP_SHARPENING_AMOUNT;Menge
|
||||
TP_SHARPENING_AMOUNT;Stärke
|
||||
TP_SHARPENING_EDRADIUS;Radius
|
||||
TP_SHARPENING_EDTOLERANCE;Kanten-Toleranz
|
||||
TP_SHARPENING_HALOCONTROL;Halo-Kontrolle
|
||||
TP_SHARPENING_HCAMOUNT;Menge
|
||||
TP_SHARPENING_HCAMOUNT;Stärke
|
||||
TP_SHARPENING_LABEL;Schärfen
|
||||
TP_SHARPENING_METHOD;Methode
|
||||
TP_SHARPENING_ONLYEDGES;nur Kanten schärfen
|
||||
TP_SHARPENING_RADIUS;Radius
|
||||
TP_SHARPENING_RLD;R-L Bildrestaurierung
|
||||
TP_SHARPENING_RLD_AMOUNT;Menge
|
||||
TP_SHARPENING_RLD;R-L Deconvolution
|
||||
TP_SHARPENING_RLD_AMOUNT;Stärke
|
||||
TP_SHARPENING_RLD_DAMPING;Dämpfung
|
||||
TP_SHARPENING_RLD_ITERATIONS;Iterationen
|
||||
TP_SHARPENING_THRESHOLD;Schwellwert
|
||||
TP_SHARPENING_USM;Unscharf maskieren
|
||||
TP_VIGNETTING_AMOUNT;Menge
|
||||
TP_VIGNETTING_LABEL;Korrektur Randlichtabfall
|
||||
TP_SHARPENING_USM;Unschärfemaske
|
||||
TP_VIGNETTING_AMOUNT;Stärke
|
||||
TP_VIGNETTING_LABEL;Vignettierungs-Korrektur
|
||||
TP_VIGNETTING_RADIUS;Radius
|
||||
TP_WBALANCE_AUTO;Automatisch
|
||||
TP_WBALANCE_CAMERA;Kamera
|
||||
@ -649,7 +708,7 @@ TP_WBALANCE_GREEN;Farbton
|
||||
TP_WBALANCE_LABEL;Weißabgleich
|
||||
TP_WBALANCE_METHOD;Methode
|
||||
TP_WBALANCE_SIZE;Größe:
|
||||
TP_WBALANCE_SPOTWB;manuel setzen
|
||||
TP_WBALANCE_SPOTWB;Manuell setzen
|
||||
TP_WBALANCE_TEMPERATURE;Farbtemperatur
|
||||
ZOOMBAR_DETAIL;Detail
|
||||
ZOOMBAR_HUGE;riesig
|
||||
@ -662,9 +721,9 @@ ZOOMPANEL_100;(100%)
|
||||
ZOOMPANEL_NEWCROPWINDOW;(Neues) Detailfenster öffnen
|
||||
ZOOMPANEL_ZOOM100;Zoom 100%
|
||||
ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen
|
||||
ZOOMPANEL_ZOOMIN;Hinein zoomen
|
||||
ZOOMPANEL_ZOOMOUT;Heraus zoomen
|
||||
ADJUSTER_RESET_TO_DEFAULT;Zurück zum Standard
|
||||
ZOOMPANEL_ZOOMIN;Hineinzoomen
|
||||
ZOOMPANEL_ZOOMOUT;Herauszoomen
|
||||
|
||||
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
@ -672,41 +731,9 @@ ZOOMPANEL_ZOOMOUT;Heraus zoomen
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
!ADJUSTER_RESET_TO_DEFAULT;Reset to default
|
||||
!CURVEEDITOR_NURBS;Control cage
|
||||
!HISTORY_MSG_82;Profile Changed
|
||||
!HISTORY_MSG_83;High quality shadows/highlights
|
||||
!HISTORY_MSG_84;Perspective correction
|
||||
!HISTORY_MSG_85;Wavelet coefficients
|
||||
!HISTORY_MSG_86;Wavelet equalizer
|
||||
!HISTORY_MSG_87;Impulse noise reduction
|
||||
!HISTORY_MSG_89;Directional pyramid
|
||||
!HISTORY_MSG_90;Directional pyramid luminance
|
||||
!HISTORY_MSG_91;Directional pyramid chominance
|
||||
!HISTORY_MSG_92;Directional pyramid gamma
|
||||
!MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue <b>Ctrl+Q</b>
|
||||
!MAIN_BUTTON_SAVE_TOOLTIP;Save current image <b>Ctrl+S</b>
|
||||
!MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor <b>Ctrl+E</b>
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
!TP_EQUALIZER_LABEL;Wavelet equalizer
|
||||
!TP_EQUALIZER_LARGEST;coarsest
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
!TP_PERSPECTIVE_HORIZONTAL;Horizontal
|
||||
!TP_PERSPECTIVE_LABEL;Perspective
|
||||
!TP_PERSPECTIVE_VERTICAL;Vertical
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
!ADJUSTER_RESET_TO_DEFAULT;Reset to default
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_FILEDLGFILTERANY;Any files
|
||||
@ -349,6 +349,12 @@
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -373,8 +379,9 @@
|
||||
!PARTIALPASTE_HLRECOVERY;Highlight recovery
|
||||
!PARTIALPASTE_ICMSETTINGS;ICM settings
|
||||
!PARTIALPASTE_IPTCINFO;IPTC info
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PARTIALPASTE_LENSGROUP;Lens related settings
|
||||
!PARTIALPASTE_LUMACURVE;Luminance curve
|
||||
!PARTIALPASTE_LUMADENOISE;Luminance noise reduction
|
||||
!PARTIALPASTE_LUMINANCEGROUP;Luminance related settings
|
||||
!PARTIALPASTE_METAICMGROUP;Metadata/ICM settings
|
||||
@ -385,7 +392,7 @@
|
||||
!PARTIALPASTE_VIGNETTING;Vignetting correction
|
||||
!PARTIALPASTE_WHITEBALANCE;White balance
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_APPLNEXTSTARTUP;applied at next startup
|
||||
!PREFERENCES_APPLNEXTSTARTUP;restart required
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_BLINKCLIPPED;Blink clipped areas
|
||||
@ -402,9 +409,6 @@
|
||||
!PREFERENCES_CACHETHUMBFORM;Cache Thumbnail Format
|
||||
!PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!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
|
||||
@ -419,8 +423,10 @@
|
||||
!PREFERENCES_DIROTHER;Other
|
||||
!PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup...
|
||||
!PREFERENCES_DIRSOFTWARE;Installation directory
|
||||
!PREFERENCES_DMETHOD;Method
|
||||
!PREFERENCES_DMETHOD;Preview
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORCMDLINE;Other command line
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_EXTERNALEDITOR;External editor
|
||||
!PREFERENCES_FALSECOLOR;False color suppression steps
|
||||
!PREFERENCES_FBROWSEROPTS;File Browser Options
|
||||
@ -442,12 +448,13 @@
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower)
|
||||
!PREFERENCES_MONITORICC;Monitor Profile
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OUTDIR;Output Directory
|
||||
!PREFERENCES_OUTDIRFOLDER;Save to folder
|
||||
!PREFERENCES_OUTDIRFOLDERHINT;Put the saved images to the selected folder
|
||||
!PREFERENCES_OUTDIRHINT;<i>You can use the following formatting strings:</i>n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>n<i>nThese formatting strings refer to the directories and sub-paths of the path of the raw file.nnFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...n</b><i>nIf you want to save the output image where the original is, write:n</i><b>%p1/%fn</b><i>nIf you want to save the output image in a directory 'converted' located the directory of the original, write:n</i><b>%p1/converted/%fn</b><i>nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:n</i><b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRHINT;You can use the following formatting strings:n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>nthe meaning of the formatting strings are:n<b>%d4</b> = <i>home</i>n<b>%d3</b> = <i>tom</i>n<b>%d2</b> = <i>photos</i>n<b>%d1</b> = <i>2010-10-31</i>n<b>%f</b> = <i>dsc0042</i>n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>n<b>%p2</b> = <i>/home/tom/photos/</i>n<b>%p3</b> = <i>/home/tom/</i>n<b>%p4</b> = <i>/home/</i>nnIf you want to save the output image where the original is, write:n<b>%p1/%f</b>nnIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:n<b>%p1/converted/%f</b>nnIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:n<b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRTEMPLATE;Use Template
|
||||
!PREFERENCES_OUTDIRTEMPLATEHINT;<i>You can use the following formatting strings:</i>n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>n<i>nThese formatting strings refer to the directories and sub-paths of the path of the raw file.nnFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...n</b><i>nIf you want to save the output image where the original is, write:n</i><b>%p1/%fn</b><i>nIf you want to save the output image in a directory 'converted' located the directory of the original, write:n</i><b>%p1/converted/%fn</b><i>nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:n</i><b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>nthe meaning of the formatting strings are:n<b>%d4</b> = <i>home</i>n<b>%d3</b> = <i>tom</i>n<b>%d2</b> = <i>photos</i>n<b>%d1</b> = <i>2010-10-31</i>n<b>%f</b> = <i>dsc0042</i>n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>n<b>%p2</b> = <i>/home/tom/photos/</i>n<b>%p3</b> = <i>/home/tom/</i>n<b>%p4</b> = <i>/home/</i>nnIf you want to save the output image where the original is, write:n<b>%p1/%f</b>nnIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:n<b>%p1/converted/%f</b>nnIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:n<b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PARSEDEXT;Parsed Extensions
|
||||
!PREFERENCES_PARSEDEXTADD;Add Extension
|
||||
@ -461,6 +468,7 @@
|
||||
!PREFERENCES_PROFILESAVEINPUT;Save Processing Parameters Next to the Input File
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_PSPATH;Adobe Photoshop installation directory
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory...
|
||||
!PREFERENCES_SELECTLANG;Select language
|
||||
!PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display...
|
||||
@ -470,6 +478,7 @@
|
||||
!PREFERENCES_SHOWDATETIME;Show date and time
|
||||
!PREFERENCES_SHOWONLYRAW;Show only RAW files
|
||||
!PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_STARTUPIMDIR;Image directory at startup
|
||||
!PREFERENCES_TAB_BROWSER;File Browser
|
||||
!PREFERENCES_TAB_COLORMGR;Color Management
|
||||
@ -477,6 +486,8 @@
|
||||
!PREFERENCES_TAB_IMPROC;Image Processing
|
||||
!PREFERENCES_TAB_OUTPUT;Output Options
|
||||
!PREFERENCES_THUMBSIZE;Thumbnail Size
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROFILEPANEL_FILEDLGFILTERANY;Any files
|
||||
!PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles
|
||||
!PROFILEPANEL_LABEL;Postprocessing Profiles
|
||||
@ -575,8 +586,15 @@
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_DISTORTION_AMOUNT;Amount
|
||||
!TP_DISTORTION_LABEL;Distortion
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
@ -589,15 +607,15 @@
|
||||
!TP_EXPOSURE_BLACKLEVEL;Black
|
||||
!TP_EXPOSURE_BRIGHTNESS;Brightness
|
||||
!TP_EXPOSURE_CLIP;Clip
|
||||
!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression
|
||||
!TP_EXPOSURE_COMPRSHADOWS;Shadow compression
|
||||
!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight recovery
|
||||
!TP_EXPOSURE_COMPRSHADOWS;Shadow recovery
|
||||
!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_LABEL;Highlight Reconstruction
|
||||
!TP_HLREC_LUMINANCE;Luminance Recovery
|
||||
!TP_HLREC_METHOD;Method:
|
||||
!TP_ICM_FILEDLGFILTERANY;Any files
|
||||
@ -616,16 +634,14 @@
|
||||
!TP_ICM_WORKINGPROFILE;Working Profile
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!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
|
||||
|
@ -1,9 +1,8 @@
|
||||
|
||||
#00 English (UK)
|
||||
#01 16.01.2009: Richard Regal
|
||||
#01 17.10.2010: Richard Regal
|
||||
HISTORY_MSG_34;Avoid Colour Clipping
|
||||
HISTORY_MSG_37;Colour Boost
|
||||
HISTORY_MSG_38;White Balance Method
|
||||
HISTORY_MSG_39;Colour Temperature
|
||||
HISTORY_MSG_41;Colour Shift "A"
|
||||
HISTORY_MSG_42;Colour Shift "B"
|
||||
@ -14,6 +13,9 @@ HISTORY_MSG_49;Edge Sensitive Colour Denoising
|
||||
HISTORY_MSG_69;Working Colour Space
|
||||
HISTORY_MSG_70;Output Colour Space
|
||||
HISTORY_MSG_71;Input Colour Space
|
||||
IPTCPANEL_DATECREATEDHINT;The date the intellectual content of the image was created; Format: YYYYMMMDD (Date Created).
|
||||
IPTCPANEL_PROVINCE;County
|
||||
IPTCPANEL_PROVINCEHINT;The County where the image originates (County).
|
||||
MAIN_TAB_COLOR;Colour
|
||||
PARTIALPASTE_COLORBOOST;Colour boost
|
||||
PARTIALPASTE_COLORDENOISE;Colour denoise
|
||||
@ -36,7 +38,7 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
|
||||
!ADJUSTER_RESET_TO_DEFAULT;Reset to default
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_FILEDLGFILTERANY;Any files
|
||||
@ -192,6 +194,7 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!HISTORY_MSG_33;Deconvolution Iterations
|
||||
!HISTORY_MSG_35;Saturation Limiter
|
||||
!HISTORY_MSG_36;Saturation Limit
|
||||
!HISTORY_MSG_38;White Balance Method
|
||||
!HISTORY_MSG_40;White Balance Tint
|
||||
!HISTORY_MSG_43;Luminance Denoising
|
||||
!HISTORY_MSG_44;Lum. Denoising Radius
|
||||
@ -278,8 +281,6 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!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
|
||||
@ -289,8 +290,6 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!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
|
||||
@ -358,6 +357,12 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -377,8 +382,9 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PARTIALPASTE_HLRECOVERY;Highlight recovery
|
||||
!PARTIALPASTE_ICMSETTINGS;ICM settings
|
||||
!PARTIALPASTE_IPTCINFO;IPTC info
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PARTIALPASTE_LENSGROUP;Lens related settings
|
||||
!PARTIALPASTE_LUMACURVE;Luminance curve
|
||||
!PARTIALPASTE_LUMADENOISE;Luminance noise reduction
|
||||
!PARTIALPASTE_LUMINANCEGROUP;Luminance related settings
|
||||
!PARTIALPASTE_METAICMGROUP;Metadata/ICM settings
|
||||
@ -389,7 +395,7 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PARTIALPASTE_VIGNETTING;Vignetting correction
|
||||
!PARTIALPASTE_WHITEBALANCE;White balance
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_APPLNEXTSTARTUP;applied at next startup
|
||||
!PREFERENCES_APPLNEXTSTARTUP;restart required
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_BLINKCLIPPED;Blink clipped areas
|
||||
@ -406,9 +412,6 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PREFERENCES_CACHETHUMBFORM;Cache Thumbnail Format
|
||||
!PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!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
|
||||
@ -423,8 +426,10 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PREFERENCES_DIROTHER;Other
|
||||
!PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup...
|
||||
!PREFERENCES_DIRSOFTWARE;Installation directory
|
||||
!PREFERENCES_DMETHOD;Method
|
||||
!PREFERENCES_DMETHOD;Preview
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORCMDLINE;Other command line
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_EXTERNALEDITOR;External editor
|
||||
!PREFERENCES_FBROWSEROPTS;File Browser Options
|
||||
!PREFERENCES_FILEFORMAT;File format
|
||||
@ -445,12 +450,13 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower)
|
||||
!PREFERENCES_MONITORICC;Monitor Profile
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OUTDIR;Output Directory
|
||||
!PREFERENCES_OUTDIRFOLDER;Save to folder
|
||||
!PREFERENCES_OUTDIRFOLDERHINT;Put the saved images to the selected folder
|
||||
!PREFERENCES_OUTDIRHINT;<i>You can use the following formatting strings:</i>n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>n<i>nThese formatting strings refer to the directories and sub-paths of the path of the raw file.nnFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...n</b><i>nIf you want to save the output image where the original is, write:n</i><b>%p1/%fn</b><i>nIf you want to save the output image in a directory 'converted' located the directory of the original, write:n</i><b>%p1/converted/%fn</b><i>nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:n</i><b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRHINT;You can use the following formatting strings:n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>nthe meaning of the formatting strings are:n<b>%d4</b> = <i>home</i>n<b>%d3</b> = <i>tom</i>n<b>%d2</b> = <i>photos</i>n<b>%d1</b> = <i>2010-10-31</i>n<b>%f</b> = <i>dsc0042</i>n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>n<b>%p2</b> = <i>/home/tom/photos/</i>n<b>%p3</b> = <i>/home/tom/</i>n<b>%p4</b> = <i>/home/</i>nnIf you want to save the output image where the original is, write:n<b>%p1/%f</b>nnIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:n<b>%p1/converted/%f</b>nnIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:n<b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRTEMPLATE;Use Template
|
||||
!PREFERENCES_OUTDIRTEMPLATEHINT;<i>You can use the following formatting strings:</i>n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>n<i>nThese formatting strings refer to the directories and sub-paths of the path of the raw file.nnFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...n</b><i>nIf you want to save the output image where the original is, write:n</i><b>%p1/%fn</b><i>nIf you want to save the output image in a directory 'converted' located the directory of the original, write:n</i><b>%p1/converted/%fn</b><i>nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:n</i><b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>nthe meaning of the formatting strings are:n<b>%d4</b> = <i>home</i>n<b>%d3</b> = <i>tom</i>n<b>%d2</b> = <i>photos</i>n<b>%d1</b> = <i>2010-10-31</i>n<b>%f</b> = <i>dsc0042</i>n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>n<b>%p2</b> = <i>/home/tom/photos/</i>n<b>%p3</b> = <i>/home/tom/</i>n<b>%p4</b> = <i>/home/</i>nnIf you want to save the output image where the original is, write:n<b>%p1/%f</b>nnIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:n<b>%p1/converted/%f</b>nnIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:n<b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PARSEDEXT;Parsed Extensions
|
||||
!PREFERENCES_PARSEDEXTADD;Add Extension
|
||||
@ -464,6 +470,7 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PREFERENCES_PROFILESAVEINPUT;Save Processing Parameters Next to the Input File
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_PSPATH;Adobe Photoshop installation directory
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory...
|
||||
!PREFERENCES_SELECTLANG;Select language
|
||||
!PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display...
|
||||
@ -473,12 +480,15 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!PREFERENCES_SHOWDATETIME;Show date and time
|
||||
!PREFERENCES_SHOWONLYRAW;Show only RAW files
|
||||
!PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_STARTUPIMDIR;Image directory at startup
|
||||
!PREFERENCES_TAB_BROWSER;File Browser
|
||||
!PREFERENCES_TAB_GENERAL;General
|
||||
!PREFERENCES_TAB_IMPROC;Image Processing
|
||||
!PREFERENCES_TAB_OUTPUT;Output Options
|
||||
!PREFERENCES_THUMBSIZE;Thumbnail Size
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROFILEPANEL_FILEDLGFILTERANY;Any files
|
||||
!PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles
|
||||
!PROFILEPANEL_LABEL;Postprocessing Profiles
|
||||
@ -573,8 +583,15 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_DISTORTION_AMOUNT;Amount
|
||||
!TP_DISTORTION_LABEL;Distortion
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
@ -587,14 +604,14 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!TP_EXPOSURE_BLACKLEVEL;Black
|
||||
!TP_EXPOSURE_BRIGHTNESS;Brightness
|
||||
!TP_EXPOSURE_CLIP;Clip
|
||||
!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression
|
||||
!TP_EXPOSURE_COMPRSHADOWS;Shadow compression
|
||||
!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight recovery
|
||||
!TP_EXPOSURE_COMPRSHADOWS;Shadow recovery
|
||||
!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_LABEL;Highlight Recovery
|
||||
!TP_HLREC_LABEL;Highlight Reconstruction
|
||||
!TP_HLREC_LUMINANCE;Luminance Recovery
|
||||
!TP_HLREC_METHOD;Method:
|
||||
!TP_ICM_FILEDLGFILTERANY;Any files
|
||||
@ -613,16 +630,14 @@ TP_HLREC_COLOR;Colour Propagation
|
||||
!TP_ICM_WORKINGPROFILE;Working Profile
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!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
|
||||
|
@ -1,4 +1,5 @@
|
||||
|
||||
#00 English (US)
|
||||
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
@ -8,7 +9,7 @@
|
||||
|
||||
!ADJUSTER_RESET_TO_DEFAULT;Reset to default
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_FILEDLGFILTERANY;Any files
|
||||
@ -348,6 +349,12 @@
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -372,8 +379,9 @@
|
||||
!PARTIALPASTE_HLRECOVERY;Highlight recovery
|
||||
!PARTIALPASTE_ICMSETTINGS;ICM settings
|
||||
!PARTIALPASTE_IPTCINFO;IPTC info
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PARTIALPASTE_LENSGROUP;Lens related settings
|
||||
!PARTIALPASTE_LUMACURVE;Luminance curve
|
||||
!PARTIALPASTE_LUMADENOISE;Luminance noise reduction
|
||||
!PARTIALPASTE_LUMINANCEGROUP;Luminance related settings
|
||||
!PARTIALPASTE_METAICMGROUP;Metadata/ICM settings
|
||||
@ -384,7 +392,7 @@
|
||||
!PARTIALPASTE_VIGNETTING;Vignetting correction
|
||||
!PARTIALPASTE_WHITEBALANCE;White balance
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_APPLNEXTSTARTUP;applied at next startup
|
||||
!PREFERENCES_APPLNEXTSTARTUP;restart required
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_BLINKCLIPPED;Blink clipped areas
|
||||
@ -401,9 +409,6 @@
|
||||
!PREFERENCES_CACHETHUMBFORM;Cache Thumbnail Format
|
||||
!PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!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
|
||||
@ -418,8 +423,10 @@
|
||||
!PREFERENCES_DIROTHER;Other
|
||||
!PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup...
|
||||
!PREFERENCES_DIRSOFTWARE;Installation directory
|
||||
!PREFERENCES_DMETHOD;Method
|
||||
!PREFERENCES_DMETHOD;Preview
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORCMDLINE;Other command line
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_EXTERNALEDITOR;External editor
|
||||
!PREFERENCES_FALSECOLOR;False color suppression steps
|
||||
!PREFERENCES_FBROWSEROPTS;File Browser Options
|
||||
@ -441,12 +448,13 @@
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower)
|
||||
!PREFERENCES_MONITORICC;Monitor Profile
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OUTDIR;Output Directory
|
||||
!PREFERENCES_OUTDIRFOLDER;Save to folder
|
||||
!PREFERENCES_OUTDIRFOLDERHINT;Put the saved images to the selected folder
|
||||
!PREFERENCES_OUTDIRHINT;<i>You can use the following formatting strings:</i>n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>n<i>nThese formatting strings refer to the directories and sub-paths of the path of the raw file.nnFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...n</b><i>nIf you want to save the output image where the original is, write:n</i><b>%p1/%fn</b><i>nIf you want to save the output image in a directory 'converted' located the directory of the original, write:n</i><b>%p1/converted/%fn</b><i>nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:n</i><b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRHINT;You can use the following formatting strings:n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>nthe meaning of the formatting strings are:n<b>%d4</b> = <i>home</i>n<b>%d3</b> = <i>tom</i>n<b>%d2</b> = <i>photos</i>n<b>%d1</b> = <i>2010-10-31</i>n<b>%f</b> = <i>dsc0042</i>n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>n<b>%p2</b> = <i>/home/tom/photos/</i>n<b>%p3</b> = <i>/home/tom/</i>n<b>%p4</b> = <i>/home/</i>nnIf you want to save the output image where the original is, write:n<b>%p1/%f</b>nnIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:n<b>%p1/converted/%f</b>nnIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:n<b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRTEMPLATE;Use Template
|
||||
!PREFERENCES_OUTDIRTEMPLATEHINT;<i>You can use the following formatting strings:</i>n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>n<i>nThese formatting strings refer to the directories and sub-paths of the path of the raw file.nnFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...n</b><i>nIf you want to save the output image where the original is, write:n</i><b>%p1/%fn</b><i>nIf you want to save the output image in a directory 'converted' located the directory of the original, write:n</i><b>%p1/converted/%fn</b><i>nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:n</i><b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...nnThese formatting strings refer to the different parts of the photo's pathname.nnFor example, if the photo being processed has the following pathname:n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>nthe meaning of the formatting strings are:n<b>%d4</b> = <i>home</i>n<b>%d3</b> = <i>tom</i>n<b>%d2</b> = <i>photos</i>n<b>%d1</b> = <i>2010-10-31</i>n<b>%f</b> = <i>dsc0042</i>n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>n<b>%p2</b> = <i>/home/tom/photos/</i>n<b>%p3</b> = <i>/home/tom/</i>n<b>%p4</b> = <i>/home/</i>nnIf you want to save the output image where the original is, write:n<b>%p1/%f</b>nnIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:n<b>%p1/converted/%f</b>nnIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:n<b>%p2/converted/%d1/%f</b>
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PARSEDEXT;Parsed Extensions
|
||||
!PREFERENCES_PARSEDEXTADD;Add Extension
|
||||
@ -460,6 +468,7 @@
|
||||
!PREFERENCES_PROFILESAVEINPUT;Save Processing Parameters Next to the Input File
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_PSPATH;Adobe Photoshop installation directory
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory...
|
||||
!PREFERENCES_SELECTLANG;Select language
|
||||
!PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display...
|
||||
@ -469,6 +478,7 @@
|
||||
!PREFERENCES_SHOWDATETIME;Show date and time
|
||||
!PREFERENCES_SHOWONLYRAW;Show only RAW files
|
||||
!PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_STARTUPIMDIR;Image directory at startup
|
||||
!PREFERENCES_TAB_BROWSER;File Browser
|
||||
!PREFERENCES_TAB_COLORMGR;Color Management
|
||||
@ -476,6 +486,8 @@
|
||||
!PREFERENCES_TAB_IMPROC;Image Processing
|
||||
!PREFERENCES_TAB_OUTPUT;Output Options
|
||||
!PREFERENCES_THUMBSIZE;Thumbnail Size
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROFILEPANEL_FILEDLGFILTERANY;Any files
|
||||
!PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles
|
||||
!PROFILEPANEL_LABEL;Postprocessing Profiles
|
||||
@ -574,8 +586,15 @@
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_DISTORTION_AMOUNT;Amount
|
||||
!TP_DISTORTION_LABEL;Distortion
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
@ -588,15 +607,15 @@
|
||||
!TP_EXPOSURE_BLACKLEVEL;Black
|
||||
!TP_EXPOSURE_BRIGHTNESS;Brightness
|
||||
!TP_EXPOSURE_CLIP;Clip
|
||||
!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression
|
||||
!TP_EXPOSURE_COMPRSHADOWS;Shadow compression
|
||||
!TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight recovery
|
||||
!TP_EXPOSURE_COMPRSHADOWS;Shadow recovery
|
||||
!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_LABEL;Highlight Reconstruction
|
||||
!TP_HLREC_LUMINANCE;Luminance Recovery
|
||||
!TP_HLREC_METHOD;Method:
|
||||
!TP_ICM_FILEDLGFILTERANY;Any files
|
||||
@ -615,16 +634,14 @@
|
||||
!TP_ICM_WORKINGPROFILE;Working Profile
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!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
|
||||
|
@ -606,7 +606,7 @@ ZOOMBAR_SMALL;Pequeño
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -657,6 +657,12 @@ ZOOMBAR_SMALL;Pequeño
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -664,26 +670,42 @@ ZOOMBAR_SMALL;Pequeño
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -692,6 +714,11 @@ ZOOMBAR_SMALL;Pequeño
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -600,7 +600,7 @@ ZOOMBAR_SMALL;Txikia
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -651,6 +651,12 @@ ZOOMBAR_SMALL;Txikia
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -658,26 +664,42 @@ ZOOMBAR_SMALL;Txikia
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -686,6 +708,11 @@ ZOOMBAR_SMALL;Txikia
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -216,7 +216,14 @@ HISTORY_MSG_81;Redimensionnement activé
|
||||
HISTORY_MSG_82;Changement de profil
|
||||
HISTORY_MSG_83;Ombres/Hautes lumières haute qualité
|
||||
HISTORY_MSG_84;Correction de la perspective
|
||||
HISTORY_MSG_85;Coefficients d'ondelette
|
||||
HISTORY_MSG_86;Égaliseur d'ondelette
|
||||
HISTORY_MSG_87;Réduction du bruit d'impulsion
|
||||
HISTORY_MSG_89;Réd. du bruit présevant les bords
|
||||
HISTORY_MSG_8;Compensation d'exposition
|
||||
HISTORY_MSG_90;Réd. de bruit Luminance
|
||||
HISTORY_MSG_91;Réd. de bruit Chominance
|
||||
HISTORY_MSG_92;Réd. de bruit Gamma
|
||||
HISTORY_MSG_9;Compression des hautes lumières
|
||||
HISTORY_NEWSNAPSHOT;Ajouter
|
||||
HISTORY_NEWSNAPSHOTAS;Sous...
|
||||
@ -293,7 +300,6 @@ MAIN_BUTTON_SAVE_TOOLTIP;Enregistrer l'image courante <b>Ctrl+S</b>
|
||||
MAIN_BUTTON_SENDTOEDITOR;Envoyer vers l'éditeur
|
||||
MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Éditer l'image courante dans l'éditeur externe <b>Ctrl+E</b>
|
||||
MAIN_BUTTON_UNFULLSCREEN;Quitter le plein écran
|
||||
MAIN_BUTTON_UNFULLSCREEN;Quitter plein écran
|
||||
MAIN_FRAME_BATCHQUEUE;File d'attente
|
||||
MAIN_FRAME_FILEBROWSER;Explorateur de fichiers
|
||||
MAIN_FRAME_PLACES;Emplacements
|
||||
@ -411,7 +417,9 @@ PREFERENCES_DIROTHER;Autre
|
||||
PREFERENCES_DIRSELECTDLG;Choix du dossier Image au lancement...
|
||||
PREFERENCES_DIRSOFTWARE;Dossier d'installation
|
||||
PREFERENCES_DMETHOD;Méthode
|
||||
PREFERENCES_DMETHODBATCH;Batch
|
||||
PREFERENCES_EDITORCMDLINE;Autre ligne de commande
|
||||
PREFERENCES_EDITORLAYOUT;Disposition de l'éditeur
|
||||
PREFERENCES_EXTERNALEDITOR;Éditeur externe
|
||||
PREFERENCES_FALSECOLOR;Itérations pour la suppression des fausses couleurs
|
||||
PREFERENCES_FBROWSEROPTS;Options du navigateur de fichiers
|
||||
@ -433,6 +441,7 @@ PREFERENCES_INTENT_SATURATION;Saturation
|
||||
PREFERENCES_LINEDENOISE;Filtre de bruit de Ligne
|
||||
PREFERENCES_LIVETHUMBNAILS;Vignettes "Live" (plus lent)
|
||||
PREFERENCES_MONITORICC;Profil du moniteur
|
||||
PREFERENCES_MULTITAB;Mode éditeurs multiple
|
||||
PREFERENCES_OUTDIR;Dossier de sortie
|
||||
PREFERENCES_OUTDIRFOLDER;Dossier de sauvegarde
|
||||
PREFERENCES_OUTDIRFOLDERHINT;Place les images traitées dans le dossier selectionné
|
||||
@ -452,6 +461,7 @@ PREFERENCES_PROFILESAVECACHE;Enregistrer la paramètres de traitement dans le Ca
|
||||
PREFERENCES_PROFILESAVEINPUT;Enregistrer la paramètres de traitement accolé au fichier d'entrée
|
||||
PREFERENCES_PROPERTY;Propriété
|
||||
PREFERENCES_PSPATH;Dossier d'installation d'Adobe Photoshop
|
||||
PREFERENCES_SELECTFONT;Police de caractère
|
||||
PREFERENCES_SELECTICCDIRDLG;Choix du dossier des profils ICC...
|
||||
PREFERENCES_SELECTLANG;Choix de la langue
|
||||
PREFERENCES_SELECTMONITORPROFDLG;Choix du profil ICC de l'affichage...
|
||||
@ -461,6 +471,7 @@ PREFERENCES_SHOWBASICEXIF;Voir les infos EXIF basiques
|
||||
PREFERENCES_SHOWDATETIME;Voir la date et l'heure
|
||||
PREFERENCES_SHOWONLYRAW;Voir seulement les fichiers RAW
|
||||
PREFERENCES_SHTHRESHOLD;Seuil pour le dépassement de domaine inférieur
|
||||
PREFERENCES_SINGLETAB;Mode éditeur unique
|
||||
PREFERENCES_STARTUPIMDIR;Répertoire Image au démarrage
|
||||
PREFERENCES_TAB_BROWSER;Navigateur de fichiers
|
||||
PREFERENCES_TAB_COLORMGR;Gestion des couleurs
|
||||
@ -468,6 +479,8 @@ PREFERENCES_TAB_GENERAL;Général
|
||||
PREFERENCES_TAB_IMPROC;Traitement de l'Image
|
||||
PREFERENCES_TAB_OUTPUT;Options de sortie
|
||||
PREFERENCES_THUMBSIZE;Tailles des vignettes
|
||||
PREFERENCES_USESYSTEMTHEME; Utiliser le thème système
|
||||
PREFERENCES_WORKFLOW;Habitudes de travail
|
||||
PROFILEPANEL_FILEDLGFILTERANY;Tous les fichiers
|
||||
PROFILEPANEL_FILEDLGFILTERPP;Profils de post-traitement
|
||||
PROFILEPANEL_LABEL;Profils de post-traitement
|
||||
@ -568,6 +581,13 @@ TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
TP_DIRPYRDENOISE_LABEL;Réduction du bruit présevant les bords
|
||||
TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
TP_DIRPYREQUALIZER_LABEL;Égaliseur d'amas
|
||||
TP_DIRPYREQUALIZER_LUMACOARSEST;les plus gros
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contraste-
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contraste+
|
||||
TP_DIRPYREQUALIZER_LUMAFINEST;les plus petits
|
||||
TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutre
|
||||
TP_DIRPYREQUALIZER_THRESHOLD;Seuil
|
||||
TP_DISTORTION_AMOUNT;Quantité
|
||||
TP_DISTORTION_LABEL;Distorsion
|
||||
TP_EQUALIZER_CONTRAST_MINUS;Contraste-
|
||||
@ -696,10 +716,16 @@ ZOOMPANEL_ZOOMOUT;Zoom <b>-</b>
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
!HISTORY_MSG_85;Wavelet coefficients
|
||||
!HISTORY_MSG_86;Wavelet equalizer
|
||||
!HISTORY_MSG_87;Impulse noise reduction
|
||||
!HISTORY_MSG_89;Directional pyramid
|
||||
!HISTORY_MSG_90;Directional pyramid luminance
|
||||
!HISTORY_MSG_91;Directional pyramid chominance
|
||||
!HISTORY_MSG_92;Directional pyramid gamma
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
|
@ -598,7 +598,7 @@ ZOOMBAR_SMALL;Μικρό
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -649,6 +649,12 @@ ZOOMBAR_SMALL;Μικρό
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -656,26 +662,42 @@ ZOOMBAR_SMALL;Μικρό
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -684,6 +706,11 @@ ZOOMBAR_SMALL;Μικρό
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -599,7 +599,7 @@ ZOOMBAR_SMALL;קטן
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -650,6 +650,12 @@ ZOOMBAR_SMALL;קטן
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -657,26 +663,42 @@ ZOOMBAR_SMALL;קטן
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -685,6 +707,11 @@ ZOOMBAR_SMALL;קטן
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -602,7 +602,7 @@ ZOOMBAR_SMALL;Piccola
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -653,6 +653,12 @@ ZOOMBAR_SMALL;Piccola
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -660,26 +666,42 @@ ZOOMBAR_SMALL;Piccola
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -688,6 +710,11 @@ ZOOMBAR_SMALL;Piccola
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -2,7 +2,7 @@
|
||||
#00 Japanese
|
||||
#01 2009-02-18 by A3novy
|
||||
#02 updated to RT2.4-RC by paul.matthijsse
|
||||
#03 2010-06-20 updated to RT3.0 alpha 1 by A3novy
|
||||
#03 2010-10-24 updated to RT3.0 alpha 1 by A3novy
|
||||
ADJUSTER_RESET_TO_DEFAULT;リセット初期化
|
||||
BATCHQUEUE_AUTOSTART;オートスタート
|
||||
BATCH_PROCESSING;バッチ処理
|
||||
@ -14,6 +14,7 @@ CURVEEDITOR_HIGHLIGHTS;ハイライト
|
||||
CURVEEDITOR_LIGHTS;ライト
|
||||
CURVEEDITOR_LINEAR;リニア
|
||||
CURVEEDITOR_LOADDLGLABEL;カーブ読み込み...
|
||||
CURVEEDITOR_NURBS;ナーブス カーブ
|
||||
CURVEEDITOR_PARAMETRIC;パラメトリック
|
||||
CURVEEDITOR_SAVEDLGLABEL;カーブ保存...
|
||||
CURVEEDITOR_SHADOWS;シャドウ
|
||||
@ -136,12 +137,12 @@ HISTORY_MSG_10;シャドウ補正
|
||||
HISTORY_MSG_11;トーンカーブ
|
||||
HISTORY_MSG_12;露出 オート
|
||||
HISTORY_MSG_13;露出 クリッピング
|
||||
HISTORY_MSG_14;輝度 明るさ
|
||||
HISTORY_MSG_15;輝度 コントラスト
|
||||
HISTORY_MSG_14;Lab 明るさ
|
||||
HISTORY_MSG_15;Lab コントラスト
|
||||
HISTORY_MSG_16;輝度 黒レベル
|
||||
HISTORY_MSG_17;輝度 ハイライト圧縮
|
||||
HISTORY_MSG_18;輝度 シャドウ圧縮
|
||||
HISTORY_MSG_19;輝度 カーブ
|
||||
HISTORY_MSG_19;Lab 輝度カーブ
|
||||
HISTORY_MSG_1;写真を読み込みました
|
||||
HISTORY_MSG_20;シャープ
|
||||
HISTORY_MSG_21;シャープ 半径
|
||||
@ -214,7 +215,19 @@ HISTORY_MSG_81;リサイズ 有効
|
||||
HISTORY_MSG_82;プロファイル変更
|
||||
HISTORY_MSG_83;高画質 シャドウ/ハイライト
|
||||
HISTORY_MSG_84;パースペクティブ コレクション
|
||||
HISTORY_MSG_85;ウェーブレット係数
|
||||
HISTORY_MSG_86;ウェーブレット イコライザ
|
||||
HISTORY_MSG_87;インパルス ノイズ除去
|
||||
HISTORY_MSG_89;指向性ピラミッド
|
||||
HISTORY_MSG_8;露出補正
|
||||
HISTORY_MSG_90;指向性ピラミッド 輝度
|
||||
HISTORY_MSG_91;指向性ピラミッド 色度
|
||||
HISTORY_MSG_92;指向性ピラミッド ガンマ
|
||||
HISTORY_MSG_93;指向性ピラミッド係数
|
||||
HISTORY_MSG_94;指向性ピラミッド イコライザ
|
||||
HISTORY_MSG_95;Lab 彩度
|
||||
HISTORY_MSG_96;Lab aカーブ
|
||||
HISTORY_MSG_97;Lab bカーブ
|
||||
HISTORY_MSG_9;ハイライト補正
|
||||
HISTORY_NEWSNAPSHOT;追加
|
||||
HISTORY_NEWSNAPSHOTAS;ラベル
|
||||
@ -283,10 +296,13 @@ MAIN_BUTTON_EXIT;終了
|
||||
MAIN_BUTTON_FULLSCREEN;フルスクリーン
|
||||
MAIN_BUTTON_PREFERENCES;環境設定
|
||||
MAIN_BUTTON_PUTTOQUEUE;キューに追加
|
||||
MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;現在の画像をキュー処理に加える <b>Ctrl+Q</b>
|
||||
MAIN_BUTTON_QUEUE;キューに追加
|
||||
MAIN_BUTTON_SAVE;画像の保存
|
||||
MAIN_BUTTON_SAVEAS;別途保存
|
||||
MAIN_BUTTON_SAVE_TOOLTIP;現在の画像を保存 <b>Ctrl+S</b>
|
||||
MAIN_BUTTON_SENDTOEDITOR;エディタに送る
|
||||
MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;現在の画像を外部エディターで編集 <b>Ctrl+E</b>
|
||||
MAIN_BUTTON_UNFULLSCREEN;フルスクリーン解除
|
||||
MAIN_FRAME_BATCHQUEUE;バッチ キュー
|
||||
MAIN_FRAME_FILEBROWSER;ファイルブラウザ
|
||||
@ -334,6 +350,12 @@ NAVIGATOR_G_NA;G = n/a
|
||||
NAVIGATOR_G_VALUE;G = %1
|
||||
NAVIGATOR_H_NA;H = n/a
|
||||
NAVIGATOR_H_VALUE;H = %1
|
||||
NAVIGATOR_LAB_A_NA;A = n/a
|
||||
NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
NAVIGATOR_LAB_B_NA;B = n/a
|
||||
NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
NAVIGATOR_LAB_L_NA;L = n/a
|
||||
NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
NAVIGATOR_R_NA;R = n/a
|
||||
NAVIGATOR_R_VALUE;R = %1
|
||||
NAVIGATOR_S_NA;S = n/a
|
||||
@ -358,8 +380,8 @@ PARTIALPASTE_EXPOSURE;露出
|
||||
PARTIALPASTE_HLRECOVERY;ハイライト修復
|
||||
PARTIALPASTE_ICMSETTINGS;ICM 設定
|
||||
PARTIALPASTE_IPTCINFO;IPTC 情報
|
||||
PARTIALPASTE_LABCURVE;Lab カーブ
|
||||
PARTIALPASTE_LENSGROUP;レンズ設定
|
||||
PARTIALPASTE_LUMACURVE;輝度カーブ
|
||||
PARTIALPASTE_LUMADENOISE;輝度 ノイズ除去
|
||||
PARTIALPASTE_LUMINANCEGROUP;輝度設定
|
||||
PARTIALPASTE_METAICMGROUP;メタデータ/ICM 設定
|
||||
@ -386,6 +408,7 @@ PREFERENCES_CACHESTRAT2;メモリ消費重視
|
||||
PREFERENCES_CACHESTRAT;キャッシュ運用の方針
|
||||
PREFERENCES_CACHETHUMBFORM;キャッシュのサムネイル形式
|
||||
PREFERENCES_CACHETHUMBHEIGHT;サムネイル縦の最大値
|
||||
PREFERENCES_CACORRECTION;色収差補正を適応
|
||||
PREFERENCES_CLEARDLG_LINE1;キャッシュの削除
|
||||
PREFERENCES_CLEARDLG_LINE2;数秒掛かるかも・・
|
||||
PREFERENCES_CLEARDLG_TITLE;ちょっと待って・・
|
||||
@ -404,7 +427,9 @@ PREFERENCES_DIROTHER;他
|
||||
PREFERENCES_DIRSELECTDLG;起動時の画像・ディレクトリ選択...
|
||||
PREFERENCES_DIRSOFTWARE;インストール・ディレクトリ
|
||||
PREFERENCES_DMETHOD;方法
|
||||
PREFERENCES_DMETHODBATCH;バッチ
|
||||
PREFERENCES_EDITORCMDLINE;その他・コマンド入力
|
||||
PREFERENCES_EDITORLAYOUT;エディタ レイアウト
|
||||
PREFERENCES_EXTERNALEDITOR;外部エディタ
|
||||
PREFERENCES_FALSECOLOR;偽色 補間ステップ
|
||||
PREFERENCES_FBROWSEROPTS;ファイルブラウザのオプション
|
||||
@ -412,17 +437,21 @@ PREFERENCES_FILEFORMAT;ファイル形式
|
||||
PREFERENCES_FORIMAGE;画像ファイル
|
||||
PREFERENCES_FORRAW;RAW ファイル
|
||||
PREFERENCES_GIMPPATH;GIMP インストール ディレクトリ
|
||||
PREFERENCES_GREENEQUIL;グリーン 平衡化
|
||||
PREFERENCES_GTKTHEME;GTK デフォルト
|
||||
PREFERENCES_HINT;ヒント
|
||||
PREFERENCES_HLTHRESHOLD;ハイライト・クリッピング領域のしきい値
|
||||
PREFERENCES_HOTDEADPIXFILT;ホット/デッド ピクセル・フィルターを適応
|
||||
PREFERENCES_ICCDIR;ICCプロファイルのディレクトリ
|
||||
PREFERENCES_IMPROCPARAMS;画像処理の規定値
|
||||
PREFERENCES_INTENT_ABSOLUTE;絶対的な色域を維持
|
||||
PREFERENCES_INTENT_PERCEPTUAL;知覚的
|
||||
PREFERENCES_INTENT_RELATIVE;相対的な色域を維持
|
||||
PREFERENCES_INTENT_SATURATION;彩度
|
||||
PREFERENCES_LINEDENOISE;ライン ノイズフィルタ
|
||||
PREFERENCES_LIVETHUMBNAILS;ライブ・サムネイル (遅い)
|
||||
PREFERENCES_MONITORICC;モニタープロファイル
|
||||
PREFERENCES_MULTITAB;マルチ タブモード
|
||||
PREFERENCES_OUTDIR;出力ディレクトリ
|
||||
PREFERENCES_OUTDIRFOLDER;フォルダに保存
|
||||
PREFERENCES_OUTDIRFOLDERHINT;選択したフォルダに画像を保存します
|
||||
@ -442,6 +471,7 @@ PREFERENCES_PROFILESAVECACHE;処理済みのプロファイル・パラメータ
|
||||
PREFERENCES_PROFILESAVEINPUT;処理済みプロファイル・パラメータを入力ファイルと同じディレクトリに保存
|
||||
PREFERENCES_PROPERTY;プロパティ
|
||||
PREFERENCES_PSPATH;Adobe Photoshop のインストール・ディレクトリ
|
||||
PREFERENCES_SELECTFONT;フォント選択
|
||||
PREFERENCES_SELECTICCDIRDLG;ICCプロファイル・ディレクトリ選択...
|
||||
PREFERENCES_SELECTLANG;言語選択
|
||||
PREFERENCES_SELECTMONITORPROFDLG;ディスプレイのICCプロファイルを選択...
|
||||
@ -451,6 +481,7 @@ PREFERENCES_SHOWBASICEXIF;基本Exif情報 表示
|
||||
PREFERENCES_SHOWDATETIME;日付表示
|
||||
PREFERENCES_SHOWONLYRAW;RAWファイルのみ表示
|
||||
PREFERENCES_SHTHRESHOLD;シャドウ・クリッピング領域のしきい値
|
||||
PREFERENCES_SINGLETAB;シングル タブモード
|
||||
PREFERENCES_STARTUPIMDIR;起動時の画像・ディレクトリ
|
||||
PREFERENCES_TAB_BROWSER;ファイルブラウザ
|
||||
PREFERENCES_TAB_COLORMGR;カラーマネジメント
|
||||
@ -458,6 +489,8 @@ PREFERENCES_TAB_GENERAL;一般
|
||||
PREFERENCES_TAB_IMPROC;画像処理
|
||||
PREFERENCES_TAB_OUTPUT;出力オプション
|
||||
PREFERENCES_THUMBSIZE;サムネイル・サイズ
|
||||
PREFERENCES_USESYSTEMTHEME;システムのテーマを使う
|
||||
PREFERENCES_WORKFLOW;ワークフロー
|
||||
PROFILEPANEL_FILEDLGFILTERANY;すべてのファイル
|
||||
PROFILEPANEL_FILEDLGFILTERPP;処理済みプロファイル
|
||||
PROFILEPANEL_LABEL;処理済みプロファイル
|
||||
@ -491,6 +524,7 @@ QINFO_FOCALLENGTH;焦点距離
|
||||
QINFO_ISO;ISO
|
||||
QINFO_LENS;レンズ
|
||||
QINFO_NOEXIF;Exifデータがありません
|
||||
SAVEDLG_AUTOSUFFIX;ファイルが存在する場合、自動的に末尾に文字を加える
|
||||
SAVEDLG_FILEFORMAT;ファイル形式
|
||||
SAVEDLG_JPEGQUAL;JPEG 品質
|
||||
SAVEDLG_JPGFILTER;JPEG ファイル
|
||||
@ -553,8 +587,25 @@ TP_CROP_W;W
|
||||
TP_CROP_X;x
|
||||
TP_CROP_Y;y
|
||||
TP_DETAIL_AMOUNT;量
|
||||
TP_DIRPYRDENOISE_CHROMA;色度
|
||||
TP_DIRPYRDENOISE_GAMMA;ガンマ
|
||||
TP_DIRPYRDENOISE_LABEL;指向性ピラミッド ノイズ除去
|
||||
TP_DIRPYRDENOISE_LUMA;輝度
|
||||
TP_DIRPYREQUALIZER_LABEL;指向性ピラミッド イコライザ
|
||||
TP_DIRPYREQUALIZER_LUMACOARSEST;粗い
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;コントラスト-
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;コントラスト+
|
||||
TP_DIRPYREQUALIZER_LUMAFINEST;細い
|
||||
TP_DIRPYREQUALIZER_LUMANEUTRAL;ニュートラル
|
||||
TP_DIRPYREQUALIZER_THRESHOLD;しきい値
|
||||
TP_DISTORTION_AMOUNT;量
|
||||
TP_DISTORTION_LABEL;歪曲収差補正
|
||||
TP_EQUALIZER_CONTRAST_MINUS;コントラスト-
|
||||
TP_EQUALIZER_CONTRAST_PLUS;コントラスト+
|
||||
TP_EQUALIZER_FINEST;細い
|
||||
TP_EQUALIZER_LABEL;ウェーブレット イコライザ
|
||||
TP_EQUALIZER_LARGEST;粗い
|
||||
TP_EQUALIZER_NEUTRAL;ニュートラル
|
||||
TP_EXPOSURE_AUTOLEVELS;オートレベル
|
||||
TP_EXPOSURE_BLACKLEVEL;黒レベル
|
||||
TP_EXPOSURE_BRIGHTNESS;明るさ
|
||||
@ -584,16 +635,17 @@ TP_ICM_OUTPUTDLGLABEL;出力 ICC プロファイルを選択...
|
||||
TP_ICM_OUTPUTPROFILE;出力プロファイル
|
||||
TP_ICM_SAVEREFERENCE;プロファイリングの参照する画像を保存
|
||||
TP_ICM_WORKINGPROFILE;作業プロファイル
|
||||
TP_IMPULSEDENOISE_LABEL;インパルス ノイズ除去
|
||||
TP_IMPULSEDENOISE_THRESH;しきい値
|
||||
TP_LABCURVE_BRIGHTNESS;明るさ
|
||||
TP_LABCURVE_CONTRAST;コントラスト
|
||||
TP_LABCURVE_CURVEEDITOR
|
||||
TP_LABCURVE_CURVEEDITOR;Lab 輝度カーブ
|
||||
TP_LABCURVE_LABEL;Lab カーブ
|
||||
TP_LABCURVE_SATURATION;彩度
|
||||
TP_LENSGEOM_AUTOCROP;自動的に切り抜き選択
|
||||
TP_LENSGEOM_FILL;オートフィル
|
||||
TP_LENSGEOM_LABEL;レンズ / 形状
|
||||
TP_LUMACURVE_BLACKLEVEL;黒レベル
|
||||
TP_LUMACURVE_BRIGHTNESS;明るさ
|
||||
TP_LUMACURVE_COMPRHIGHLIGHTS;ハイライト圧縮
|
||||
TP_LUMACURVE_COMPRSHADOWS;シャドウ圧縮
|
||||
TP_LUMACURVE_CONTRAST;コントラスト
|
||||
TP_LUMACURVE_CURVEEDITOR;輝度カーブエディタ
|
||||
TP_LUMACURVE_LABEL;輝度カーブ
|
||||
TP_LUMADENOISE_EDGETOLERANCE;エッジの許容度
|
||||
TP_LUMADENOISE_LABEL;輝度 ノイズ除去
|
||||
TP_LUMADENOISE_RADIUS;半径
|
||||
@ -676,31 +728,3 @@ ZOOMPANEL_ZOOMOUT;ズームアウト
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
!CURVEEDITOR_NURBS;Control cage
|
||||
!HISTORY_MSG_85;Wavelet coefficients
|
||||
!HISTORY_MSG_86;Wavelet equalizer
|
||||
!HISTORY_MSG_87;Impulse noise reduction
|
||||
!HISTORY_MSG_89;Directional pyramid
|
||||
!HISTORY_MSG_90;Directional pyramid luminance
|
||||
!HISTORY_MSG_91;Directional pyramid chominance
|
||||
!HISTORY_MSG_92;Directional pyramid gamma
|
||||
!MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue <b>Ctrl+Q</b>
|
||||
!MAIN_BUTTON_SAVE_TOOLTIP;Save current image <b>Ctrl+S</b>
|
||||
!MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor <b>Ctrl+E</b>
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
!TP_EQUALIZER_LABEL;Wavelet equalizer
|
||||
!TP_EQUALIZER_LARGEST;coarsest
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
|
@ -598,7 +598,7 @@ ZOOMBAR_SMALL;Mazs
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -649,6 +649,12 @@ ZOOMBAR_SMALL;Mazs
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -656,26 +662,42 @@ ZOOMBAR_SMALL;Mazs
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -684,6 +706,11 @@ ZOOMBAR_SMALL;Mazs
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -597,7 +597,7 @@ ZOOMBAR_SMALL;Kicsi
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -648,6 +648,12 @@ ZOOMBAR_SMALL;Kicsi
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -655,26 +661,42 @@ ZOOMBAR_SMALL;Kicsi
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -683,6 +705,11 @@ ZOOMBAR_SMALL;Kicsi
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -683,15 +683,37 @@ ZOOMPANEL_ZOOMOUT;Zoom uit
|
||||
!MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue <b>Ctrl+Q</b>
|
||||
!MAIN_BUTTON_SAVE_TOOLTIP;Save current image <b>Ctrl+S</b>
|
||||
!MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor <b>Ctrl+E</b>
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -700,6 +722,11 @@ ZOOMPANEL_ZOOMOUT;Zoom uit
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -599,7 +599,7 @@ ZOOMBAR_SMALL;Liten
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -650,6 +650,12 @@ ZOOMBAR_SMALL;Liten
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -657,26 +663,42 @@ ZOOMBAR_SMALL;Liten
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -685,6 +707,11 @@ ZOOMBAR_SMALL;Liten
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -604,7 +604,7 @@ ZOOMBAR_SMALL;Mała
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -655,6 +655,12 @@ ZOOMBAR_SMALL;Mała
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -662,25 +668,41 @@ ZOOMBAR_SMALL;Mała
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -689,6 +711,11 @@ ZOOMBAR_SMALL;Mała
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -602,7 +602,7 @@ ZOOMBAR_SMALL;Mala
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -653,6 +653,12 @@ ZOOMBAR_SMALL;Mala
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -660,26 +666,42 @@ ZOOMBAR_SMALL;Mala
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -688,6 +710,11 @@ ZOOMBAR_SMALL;Mala
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -599,7 +599,7 @@ ZOOMBAR_SMALL;Pequeno
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -650,6 +650,12 @@ ZOOMBAR_SMALL;Pequeno
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -657,26 +663,42 @@ ZOOMBAR_SMALL;Pequeno
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -685,6 +707,11 @@ ZOOMBAR_SMALL;Pequeno
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -603,7 +603,7 @@ ZOOMBAR_SMALL;Минимальное
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -654,6 +654,12 @@ ZOOMBAR_SMALL;Минимальное
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -661,26 +667,42 @@ ZOOMBAR_SMALL;Минимальное
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -689,6 +711,11 @@ ZOOMBAR_SMALL;Минимальное
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
# Serbian translation
|
||||
#00 Serbian (Cyrilic)
|
||||
#01 by gpopac 2010-09-21
|
||||
@ -702,3 +703,30 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
|
||||
!HISTORY_MSG_90;Directional pyramid luminance
|
||||
!HISTORY_MSG_91;Directional pyramid chominance
|
||||
!HISTORY_MSG_92;Directional pyramid gamma
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
# Serbian translation
|
||||
#00 Serbian (Cyrilic)
|
||||
#01 by gpopac 2010-09-21
|
||||
@ -702,3 +703,30 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
|
||||
!HISTORY_MSG_90;Directional pyramid luminance
|
||||
!HISTORY_MSG_91;Directional pyramid chominance
|
||||
!HISTORY_MSG_92;Directional pyramid gamma
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
|
@ -1,23 +1,38 @@
|
||||
|
||||
#00 Sloven?~Mina
|
||||
#00 Slovenčina
|
||||
#01 08.05.2008
|
||||
#02 01.02.2009
|
||||
#03 (Slapo)
|
||||
#03 23.10.2010
|
||||
#04 (Slapo)
|
||||
|
||||
|
||||
|
||||
ADJUSTER_RESET_TO_DEFAULT;Resetovať na predvolené nastavenia
|
||||
BATCHQUEUE_AUTOSTART;Auto štart
|
||||
BATCH_PROCESSING;Dávkové spracovanie
|
||||
CURVEEDITOR_CUSTOM;Vlastné
|
||||
CURVEEDITOR_DARKS;Tiene
|
||||
CURVEEDITOR_FILEDLGFILTERANY;Všetky súbory
|
||||
CURVEEDITOR_FILEDLGFILTERCURVE;Súbory kriviek
|
||||
CURVEEDITOR_HIGHLIGHTS;Najvyššie svetlá
|
||||
CURVEEDITOR_LIGHTS;Svetlá
|
||||
CURVEEDITOR_LINEAR;Lineárna
|
||||
CURVEEDITOR_LOADDLGLABEL;Načítať krivku...
|
||||
CURVEEDITOR_NURBS;Kontrolná klietka
|
||||
CURVEEDITOR_PARAMETRIC;Parametricky
|
||||
CURVEEDITOR_SAVEDLGLABEL;Uložiť krivku...
|
||||
CURVEEDITOR_SHADOWS;Hlboké tiene
|
||||
CURVEEDITOR_TOOLTIPLINEAR;Resetovať krivku na lineárnu
|
||||
CURVEEDITOR_TOOLTIPLOAD;Načítať krivku zo súboru
|
||||
CURVEEDITOR_TOOLTIPSAVE;Uložiť súčasnú krivku
|
||||
CURVEEDITOR_TYPE;Typ:
|
||||
EXIFFILTER_APERTURE;Clona
|
||||
EXIFFILTER_CAMERA;Fotoaparát
|
||||
EXIFFILTER_DIALOGLABEL;Exif filter
|
||||
EXIFFILTER_FOCALLEN;Ohnisková vzdialenosť
|
||||
EXIFFILTER_ISO;ISO
|
||||
EXIFFILTER_LENS;Objektív
|
||||
EXIFFILTER_METADATAFILTER;Povoliť filtre meta údajov
|
||||
EXIFFILTER_SHUTTER;Uzávierka
|
||||
EXIFPANEL_ADDEDIT;Pridať/Upraviť
|
||||
EXIFPANEL_ADDEDITHINT;Pridať novú značku alebo upraviť značku
|
||||
@ -33,10 +48,12 @@ EXIFPANEL_RESETALL;Resetovať všetky
|
||||
EXIFPANEL_RESETALLHINT;Resetovať všetky značky na ich pôvodné hodnoty
|
||||
EXIFPANEL_RESETHINT;Resetovať vybrané značky na ich pôvodné hodnoty
|
||||
EXIFPANEL_SUBDIRECTORY;Podadresár
|
||||
FILEBROWSER_ADDDELTEMPLATE;Pridať/Odstrániť šablóny...
|
||||
FILEBROWSER_APPLYPROFILE;Použiť profil
|
||||
FILEBROWSER_ARRANGEMENTHINT;Zmeniť medzi vertikálnym/horizontálnym zarovnaním zmenšenín
|
||||
FILEBROWSER_CLEARPROFILE;Vyčistiť profil
|
||||
FILEBROWSER_COPYPROFILE;Kopírovať profil
|
||||
FILEBROWSER_CURRENT_NAME;Súčasný názov:
|
||||
FILEBROWSER_DELETEDLGLABEL;Potvrdenie odstránenia súboru
|
||||
FILEBROWSER_DELETEDLGMSG;Ste si istí, že chcete odstrániť vybrané %1 súbory?
|
||||
FILEBROWSER_EMPTYTRASH;Vyprázdniť kôš
|
||||
@ -46,6 +63,7 @@ FILEBROWSER_EXIFFILTERAPPLYHINT;Zapnúť/vypnúť EXIF filter prehliadača súbo
|
||||
FILEBROWSER_EXIFFILTERLABEL;Exif Filter
|
||||
FILEBROWSER_EXIFFILTERSETTINGS;Nastavenia
|
||||
FILEBROWSER_EXIFFILTERSETTINGSHINT;Zmeňte nastavenia EXIF filtra
|
||||
FILEBROWSER_NEW_NAME;Nový názov:
|
||||
FILEBROWSER_PARTIALPASTEPROFILE;Čiastočné vloženie
|
||||
FILEBROWSER_PASTEPROFILE;Vložiť profil
|
||||
FILEBROWSER_POPUPCANCELJOB;Zrušiť úlohu
|
||||
@ -69,6 +87,7 @@ FILEBROWSER_PROCESSINGSETTINGSHINT;Nastaviť formát súborov a výstupný adres
|
||||
FILEBROWSER_RENAMEDLGLABEL;Premenovať súbor
|
||||
FILEBROWSER_RENAMEDLGMSG;Premenovať súbor "%1" na:
|
||||
FILEBROWSER_SHOWDIRHINT;Ukázať všetky obrázky v adresári
|
||||
FILEBROWSER_SHOWEXIFINFO;Ukázať EXIF info <b>i</b>
|
||||
FILEBROWSER_SHOWQUEUEHINT;Zobraziť obsah radu na spracovanie
|
||||
FILEBROWSER_SHOWRANK1HINT;Ukázať obrázky triedy 1 hviezda
|
||||
FILEBROWSER_SHOWRANK2HINT;Ukázať obrázky triedy 2 hviezda
|
||||
@ -82,14 +101,19 @@ FILEBROWSER_STARTPROCESSINGHINT;Začať spracovanie/ukladanie obrázkov v rade
|
||||
FILEBROWSER_STOPPROCESSING;Zastaviť spracovanie
|
||||
FILEBROWSER_STOPPROCESSINGHINT;Zastaviť spracovanie obrázkov
|
||||
FILEBROWSER_THUMBSIZE;Veľkosť zmenšenín
|
||||
FILEBROWSER_TOOLTIP_STOPPROCESSING;Začať spracovanie automaticky, keď príde nová úloha
|
||||
FILEBROWSER_USETEMPLATE;Použiť šablónu:
|
||||
FILEBROWSER_ZOOMINHINT;Zväčšiť veľkosť zmenšenín
|
||||
FILEBROWSER_ZOOMOUTHINT;Zmenšiť veľkosť zmenšenín
|
||||
GENERAL_ABOUT;O programe
|
||||
GENERAL_AFTER;Potom
|
||||
GENERAL_BEFORE;Predtým
|
||||
GENERAL_CANCEL;Zrušiť
|
||||
GENERAL_DISABLE;Zakázať
|
||||
GENERAL_DISABLED;Zakázané
|
||||
GENERAL_ENABLE;Povoliť
|
||||
GENERAL_ENABLED;Povolené
|
||||
GENERAL_HIGH_QUALITY;Vysoká kvalita
|
||||
GENERAL_LANDSCAPE;Krajina
|
||||
GENERAL_LOAD;Načítať
|
||||
GENERAL_NA;n/a
|
||||
@ -97,17 +121,23 @@ GENERAL_NO;Nie
|
||||
GENERAL_OK;OK
|
||||
GENERAL_PORTRAIT;Portrét
|
||||
GENERAL_SAVE;Uložiť
|
||||
GENERAL_UNCHANGED;(Nezmenené)
|
||||
GENERAL_YES;Áno
|
||||
HISTOGRAM_BUTTON_B;B
|
||||
HISTOGRAM_BUTTON_G;G
|
||||
HISTOGRAM_BUTTON_L;L
|
||||
HISTOGRAM_BUTTON_R;R
|
||||
HISTOGRAM_LABEL;Histogram
|
||||
HISTOGRAM_TOOLTIP_B;Zobraziť/Schovať MODRÝ histogram
|
||||
HISTOGRAM_TOOLTIP_G;Zobraziť/Schovať ZELENÝ histogram
|
||||
HISTOGRAM_TOOLTIP_L;Zobraziť/Schovať histogram CIELAB svietivosti
|
||||
HISTOGRAM_TOOLTIP_R;Zobraziť/Schovať ČERVENÝ histogram
|
||||
HISTORY_CHANGED;Zmenené
|
||||
HISTORY_CUSTOMCURVE;Vlastná krivka
|
||||
HISTORY_DELSNAPSHOT;Odstrániť Snímok
|
||||
HISTORY_FROMCLIPBOARD;Zo schránky
|
||||
HISTORY_CHANGED;Zmenené
|
||||
HISTORY_LABEL;História
|
||||
HISTORY_MSG_1;Fotka načítaná
|
||||
HISTORY_MSG_10;Kompresia tieňov
|
||||
HISTORY_MSG_11;Krivka tónov
|
||||
HISTORY_MSG_12;Auto expozícia
|
||||
@ -118,7 +148,7 @@ HISTORY_MSG_16;Čierna svietivosti
|
||||
HISTORY_MSG_17;Kompresia najvyšších svetiel v oblasti svietivosti
|
||||
HISTORY_MSG_18;Kompresia tieňov v oblasti svietivosti
|
||||
HISTORY_MSG_19;Krivka svietivosti
|
||||
HISTORY_MSG_1;Fotka načítaná
|
||||
HISTORY_MSG_2;Profil načítaný
|
||||
HISTORY_MSG_20;Doostrenie
|
||||
HISTORY_MSG_21;Polomer doostrenia
|
||||
HISTORY_MSG_22;Množstvo doostrenia
|
||||
@ -129,7 +159,7 @@ HISTORY_MSG_26;Tolerancia okrajov pri doostrení
|
||||
HISTORY_MSG_27;Kontrola svätožiary pri doostrení
|
||||
HISTORY_MSG_28;Množstvo kontroly svätožiary
|
||||
HISTORY_MSG_29;Doostrovacia metóda
|
||||
HISTORY_MSG_2;Profil načítaný
|
||||
HISTORY_MSG_3;Profil zmenený
|
||||
HISTORY_MSG_30;Polomer dekonvolúcie
|
||||
HISTORY_MSG_31;Množstvo dekonvolúcie
|
||||
HISTORY_MSG_32;Tlmenie dekonvolúcie
|
||||
@ -140,7 +170,7 @@ HISTORY_MSG_36;Hranica sýtosti
|
||||
HISTORY_MSG_37;Zosilnenie farieb
|
||||
HISTORY_MSG_38;Metóda vyváženia bielej
|
||||
HISTORY_MSG_39;Farebná teplota
|
||||
HISTORY_MSG_3;Profil zmenený
|
||||
HISTORY_MSG_4;História prehliadania
|
||||
HISTORY_MSG_40;Nádych vyváženia bielej
|
||||
HISTORY_MSG_41;Farebný posun "A"
|
||||
HISTORY_MSG_42;Farebný posun "B"
|
||||
@ -151,7 +181,7 @@ HISTORY_MSG_46;Farebné odšumenie
|
||||
HISTORY_MSG_47;Polomer farebného odšumenia
|
||||
HISTORY_MSG_48;Tolerancia okrajov farebného odšumenia
|
||||
HISTORY_MSG_49;Citlivosť na okraje pri farebnom odšumení
|
||||
HISTORY_MSG_4;História prehliadania
|
||||
HISTORY_MSG_5;Jas
|
||||
HISTORY_MSG_50;Nástroj Tiene/Najvyššie svetlá
|
||||
HISTORY_MSG_51;Zosilnenie najvyšších svetiel
|
||||
HISTORY_MSG_52;Zosilnenie tieňov
|
||||
@ -162,7 +192,7 @@ HISTORY_MSG_56;Polomer Tiene/Najvyššie svetlá
|
||||
HISTORY_MSG_57;Hrubé otočenie
|
||||
HISTORY_MSG_58;Horizontálne preklápanie
|
||||
HISTORY_MSG_59;Vertikálne preklápanie
|
||||
HISTORY_MSG_5;Jas
|
||||
HISTORY_MSG_6;Kontrast
|
||||
HISTORY_MSG_60;Otočenie
|
||||
HISTORY_MSG_61;Otočenie
|
||||
HISTORY_MSG_62;Korekcia zakrivenia objektívu
|
||||
@ -173,7 +203,7 @@ HISTORY_MSG_66;Obnova najvyšších svetiel
|
||||
HISTORY_MSG_67;Množstvo obnovy najvyšších svetiel
|
||||
HISTORY_MSG_68;Metóda obnovy najvyšších svetiel
|
||||
HISTORY_MSG_69;Pracovný farebný priestor
|
||||
HISTORY_MSG_6;Kontrast
|
||||
HISTORY_MSG_7;Čierna
|
||||
HISTORY_MSG_70;Výstupný farebný priestor
|
||||
HISTORY_MSG_71;Vstupný farebný priestor
|
||||
HISTORY_MSG_72;Korekcia vignetácie
|
||||
@ -182,13 +212,22 @@ HISTORY_MSG_74;Zmeniť veľkosť - Rozmer
|
||||
HISTORY_MSG_75;Zmeniť veľkosť - Metóda
|
||||
HISTORY_MSG_76;Exif Metadáta
|
||||
HISTORY_MSG_77;IPTC Metadáta
|
||||
HISTORY_MSG_78;Data specified for resize
|
||||
HISTORY_MSG_79;Resize width
|
||||
HISTORY_MSG_7;Čierna
|
||||
HISTORY_MSG_80;Resize height
|
||||
HISTORY_MSG_81;Resize enabled
|
||||
HISTORY_MSG_78;Zadané údaje pre zmenu veľkosti
|
||||
HISTORY_MSG_79;Zmena veľkosti podľa šírky
|
||||
HISTORY_MSG_8;Kompenzácia expozície
|
||||
HISTORY_MSG_80;Zmena veľkosti podľa výšky
|
||||
HISTORY_MSG_81;Zmena veľkosti povolená
|
||||
HISTORY_MSG_82;Profil zmenený
|
||||
HISTORY_MSG_83;Tiene/najvyšie svetlá vyskokej kvality
|
||||
HISTORY_MSG_84;Náprava perspektívy
|
||||
HISTORY_MSG_85;Koeficienty vlnky
|
||||
HISTORY_MSG_86;Vyrovnávač vlnky
|
||||
HISTORY_MSG_87;Impulzná redukcia šumu
|
||||
HISTORY_MSG_89;Smerová pyramída
|
||||
HISTORY_MSG_9;Kompresia najvyšších svetiel
|
||||
HISTORY_MSG_90;Svietivosť smerovej pyramídy
|
||||
HISTORY_MSG_91;Farebnosť smerovej pyramídy
|
||||
HISTORY_MSG_92;Gamma smerovej pyramídy
|
||||
HISTORY_NEWSNAPSHOT;Nový Snímok
|
||||
HISTORY_NEWSNAPSHOTAS;Ako...
|
||||
HISTORY_NEWSSDIALOGLABEL;Menovka snímku:
|
||||
@ -252,31 +291,40 @@ IPTCPANEL_TITLE;Názov
|
||||
IPTCPANEL_TITLEHINT;Krátka referencia pre obrázok (Meno objektu).
|
||||
IPTCPANEL_TRANSREFERENCE;Referencia prenosu
|
||||
IPTCPANEL_TRANSREFERENCEHINT;Kód reprezentujúci miesto pôvodného prenosu (Pôvodná referencia prenosu).
|
||||
MAIN_BUTTON_EXIT;Exit
|
||||
MAIN_BUTTON_EXIT;Ukončiť
|
||||
MAIN_BUTTON_FULLSCREEN;Celá obrazovka
|
||||
MAIN_BUTTON_PREFERENCES;Predvoľby
|
||||
MAIN_BUTTON_QUEUE;Put to queue
|
||||
MAIN_BUTTON_PUTTOQUEUE;Vložiť do radu
|
||||
MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Pridať súčasný obrázok do radu na spracovanie <b>Ctrl+Q</b>
|
||||
MAIN_BUTTON_QUEUE;Vložiť do radu
|
||||
MAIN_BUTTON_SAVE;Uložiť obrázok
|
||||
MAIN_BUTTON_SAVE_TOOLTIP;Uložiť súčasný obrázok <b>Ctrl+S</b>
|
||||
MAIN_BUTTON_SAVEAS;Ako...
|
||||
MAIN_BUTTON_SENDTOEDITOR;Odoslať do editora
|
||||
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_BUTTON_SENDTOEDITOR_TOOLTIP;Upraviť súčasný obrázok v externom editore <b>Ctrl+E</b>
|
||||
MAIN_BUTTON_UNFULLSCREEN;Ukončiť zobrazenie na celú obrazovku
|
||||
MAIN_FRAME_BATCHQUEUE;Dávkový rad
|
||||
MAIN_FRAME_FILEBROWSER;Prehliadač súborov
|
||||
MAIN_FRAME_PLACES;Miesta
|
||||
MAIN_FRAME_PLACES_ADD;Pridať
|
||||
MAIN_FRAME_PLACES_DEL;Odstrániť
|
||||
MAIN_FRAME_RECENT;Nedávne priečinky
|
||||
MAIN_MSG_ALREADYEXISTS;Súbor už existuje.
|
||||
MAIN_MSG_CANNOTLOAD;Nemôžem načítať obrázok
|
||||
MAIN_MSG_CANNOTSAVE;Chyba pri ukladaní súboru
|
||||
MAIN_MSG_CANNOTSTARTEDITOR;Nebolo možné spustiť editor.
|
||||
MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Prosím, nastavte správnu cestu v dialógu "Predvoľby".
|
||||
MAIN_MSG_ERRORDURINGIMAGESAVING;Chyba pri ukladaní obrázka
|
||||
MAIN_MSG_EXITJOBSINQUEUEINFO;Nespracované obrázky v rade budú pri ukončení programu stratené.
|
||||
MAIN_MSG_EXITJOBSINQUEUEQUEST;Ste si istí, že chcete ukončiť program? V rade sú nespracované obrázky.
|
||||
MAIN_MSG_JOBSINQUEUE;Úlohy v rade
|
||||
MAIN_MSG_NAVIGATOR;Navigátor
|
||||
MAIN_MSG_PLACES;Miesta
|
||||
MAIN_MSG_QOVERWRITE;Chcete ho prepísať?
|
||||
MAIN_TAB_BASIC;Základné
|
||||
MAIN_TAB_COLOR;Farba
|
||||
MAIN_TAB_DETAIL;Detail
|
||||
MAIN_TAB_DEVELOP;Develop
|
||||
MAIN_TAB_DEVELOP;Vyvinúť
|
||||
MAIN_TAB_EXIF;Exif
|
||||
MAIN_TAB_EXPOSURE;Expozícia
|
||||
MAIN_TAB_FILTER;Filter
|
||||
@ -285,6 +333,7 @@ MAIN_TAB_IPTC;IPTC
|
||||
MAIN_TAB_METADATA;Metadáta
|
||||
MAIN_TAB_TAGGING;Tagging
|
||||
MAIN_TAB_TRANSFORM;Transformácie
|
||||
MAIN_TOGGLE_BEFORE_AFTER;B|A
|
||||
MAIN_TOOLTIP_HIDEFP;Zobraziť/ukázať panel tlačidiel (prehliadač adresárov a súborov, shortcut key: F)
|
||||
MAIN_TOOLTIP_HIDEHP;Zobraziť/ukázať ľavý panel (vrátane histórie, shortcut key: H)
|
||||
MAIN_TOOLTIP_INDCLIPPEDH;Indikácia orezania najvyšších svetiel
|
||||
@ -293,6 +342,20 @@ MAIN_TOOLTIP_PREFERENCES;Nastaviť predvoľby
|
||||
MAIN_TOOLTIP_QINFO;Rýchle informácie o obrázku
|
||||
MAIN_TOOLTIP_SAVE;Uložiť obrázok do predvoleného adresára
|
||||
MAIN_TOOLTIP_SAVEAS;Uložiť obrázok do vybraného adresára
|
||||
MAIN_TOOLTIP_TOGGLE;Prepnúť pohľad predtým/potom <b>B</b>
|
||||
NAVIGATOR_B_NA;B = n/a
|
||||
NAVIGATOR_B_VALUE;B = %1
|
||||
NAVIGATOR_G_NA;G = n/a
|
||||
NAVIGATOR_G_VALUE;G = %1
|
||||
NAVIGATOR_H_NA;H = n/a
|
||||
NAVIGATOR_H_VALUE;H = %1
|
||||
NAVIGATOR_R_NA;R = n/a
|
||||
NAVIGATOR_R_VALUE;R = %1
|
||||
NAVIGATOR_S_NA;S = n/a
|
||||
NAVIGATOR_S_VALUE;S = %1
|
||||
NAVIGATOR_V_NA;V = n/a
|
||||
NAVIGATOR_V_VALUE;V = %1
|
||||
NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
PARTIALPASTE_BASICGROUP;Základné nastavenia
|
||||
PARTIALPASTE_CACORRECTION;Korekcia C/A
|
||||
PARTIALPASTE_COARSETRANS;90° otočenie/preklopenie
|
||||
@ -310,6 +373,7 @@ PARTIALPASTE_EXPOSURE;Expozícia
|
||||
PARTIALPASTE_HLRECOVERY;Obnova najvyšších svetiel
|
||||
PARTIALPASTE_ICMSETTINGS;Nastavenia ICM
|
||||
PARTIALPASTE_IPTCINFO;IPTC informácie
|
||||
PARTIALPASTE_LABCURVE;Krivka svietivosti
|
||||
PARTIALPASTE_LENSGROUP;Nastavenia súvisiace s objektívom
|
||||
PARTIALPASTE_LUMACURVE;Krivka svietivosti
|
||||
PARTIALPASTE_LUMADENOISE;Redukcia šumu v oblasti svietivosti
|
||||
@ -321,8 +385,12 @@ PARTIALPASTE_SHADOWSHIGHLIGHTS;Tiene/Najvyššie svetlá
|
||||
PARTIALPASTE_SHARPENING;Doostrenie
|
||||
PARTIALPASTE_VIGNETTING;Korekcia vignetácie
|
||||
PARTIALPASTE_WHITEBALANCE;Vyváženie bielej
|
||||
PREFERENCES_ADD;Pridať
|
||||
PREFERENCES_APPLNEXTSTARTUP;Aplikovaný pri ďalšom spustení
|
||||
PREFERENCES_BATCH_PROCESSING;dávkové spracovanie
|
||||
PREFERENCES_BEHAVIOR;Správanie sa
|
||||
PREFERENCES_BLINKCLIPPED;Blikať orezanými miestami
|
||||
PREFERENCES_CACORRECTION;Použiť automatickú úpravu CA
|
||||
PREFERENCES_CACHECLEARALL;Vyčistiť všetko
|
||||
PREFERENCES_CACHECLEARPROFILES;Vyčistiť profily
|
||||
PREFERENCES_CACHECLEARTHUMBS;Vyčistiť zmenšeniny
|
||||
@ -330,9 +398,9 @@ PREFERENCES_CACHEFORMAT1;Vlastné (rýchlejšie a kvalitnejšie)
|
||||
PREFERENCES_CACHEFORMAT2;JPEG (menšia veľkosť na disku)
|
||||
PREFERENCES_CACHEMAXENTRIES;Maximálny počet vstupov v cache
|
||||
PREFERENCES_CACHEOPTS;Možnosti cache
|
||||
PREFERENCES_CACHESTRAT;Stratégia použitia cache
|
||||
PREFERENCES_CACHESTRAT1;Uprednostniť rýchlosť pred malou spotrebou pamäte
|
||||
PREFERENCES_CACHESTRAT2;Uprednostniť malú spotrebu pamäte pred rýchlosťou
|
||||
PREFERENCES_CACHESTRAT;Stratégia použitia cache
|
||||
PREFERENCES_CACHETHUMBFORM;Formát zmenšenín pre cache
|
||||
PREFERENCES_CACHETHUMBHEIGHT;Maximálna výška zmenšenín
|
||||
PREFERENCES_CLEARDLG_LINE1;Čistím cache
|
||||
@ -342,6 +410,8 @@ PREFERENCES_CLIPPINGIND;Indikácia orezu
|
||||
PREFERENCES_CMETRICINTENT;Kolorimetrický zámer
|
||||
PREFERENCES_DATEFORMAT;Formát dátumu
|
||||
PREFERENCES_DATEFORMATHINT;<i>Môžete použiť nasledujúce formátovacie reťazce:</i>\n<b>%y</b><i> : rok</i>\n<b>%m</b><i> : mesiac</i>\n<b>%d</b><i> : deň</i>\n<i>\nNapríklad, slovenský formát je:</i>\n<b>%d.%m.%y</b>
|
||||
PREFERENCES_DCBENHANCE;Použiť vylepšovací krok DCB
|
||||
PREFERENCES_DCBITERATIONS;Počet iterácií DCB
|
||||
PREFERENCES_DEFAULTLANG;Predvolený jazyk
|
||||
PREFERENCES_DEFAULTTHEME;Predvolený vzhľad
|
||||
PREFERENCES_DEMOSAICINGALGO;Demozaikovací algoritmus
|
||||
@ -351,7 +421,9 @@ PREFERENCES_DIROTHER;Iný
|
||||
PREFERENCES_DIRSELECTDLG;Vybrať adresár s obrázkami pri spustení...
|
||||
PREFERENCES_DIRSOFTWARE;Inštalačný adresár
|
||||
PREFERENCES_DMETHOD;Metóda
|
||||
PREFERENCES_DMETHODBATCH;Dávka
|
||||
PREFERENCES_EDITORCMDLINE;Iný príkazový riadok
|
||||
PREFERENCES_EDITORLAYOUT;Rozloženie editora
|
||||
PREFERENCES_EXTERNALEDITOR;Externý editor
|
||||
PREFERENCES_FALSECOLOR;Kroky potlačenia chybných farieb
|
||||
PREFERENCES_FBROWSEROPTS;Voľby prehliadača súborov
|
||||
@ -359,23 +431,28 @@ PREFERENCES_FILEFORMAT;Formát súborov
|
||||
PREFERENCES_FORIMAGE;Pre obrazové súbory
|
||||
PREFERENCES_FORRAW;Pre RAW súbory
|
||||
PREFERENCES_GIMPPATH;Inštalačný adresár GIMPu
|
||||
PREFERENCES_GREENEQUIL;Vyvažovanie zelenej
|
||||
PREFERENCES_GTKTHEME;GTK predvolený
|
||||
PREFERENCES_HINT;Tip
|
||||
PREFERENCES_HLTHRESHOLD;Prah pre orezanie najvyšších svetiel
|
||||
PREFERENCES_HOTDEADPIXFILT;Použiť filter na horúce/mŕtve pixely
|
||||
PREFERENCES_ICCDIR;Adresár s ICC profilmy
|
||||
PREFERENCES_IMPROCPARAMS;Predvolené parametre spracovania obrazu
|
||||
PREFERENCES_INTENT_ABSOLUTE;Absolútny kolorimetrický
|
||||
PREFERENCES_INTENT_PERCEPTUAL;Vnímaný
|
||||
PREFERENCES_INTENT_RELATIVE;Relatívny kolorimetrický
|
||||
PREFERENCES_INTENT_SATURATION;Sýtosť
|
||||
PREFERENCES_LINEDENOISE;Filter šumu vedenia
|
||||
PREFERENCES_LIVETHUMBNAILS;Živé zmenšeniny (pomalšie)
|
||||
PREFERENCES_MONITORICC;Profil monitora
|
||||
PREFERENCES_MULTITAB;Režim viacerých kariet
|
||||
PREFERENCES_OUTDIR;Výstupný adresár
|
||||
PREFERENCES_OUTDIRFOLDER;Uložiť do adresára
|
||||
PREFERENCES_OUTDIRFOLDERHINT;Uložiť obrázky do vybraného adresára
|
||||
PREFERENCES_OUTDIRHINT;<i>Môžete použiť nasledujúce formátovacie reťazce:</i>\n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>\n<i>\nTieto formátovacie reťazce odkazujú na adresáre a časti cesty k raw súboru.\n\nNapríklad, ak bol </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>otvorený, význam formátovacích reťazcov je:\n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, p3=/home/tom, ...\n</b><i>\nAk chcete uložiť výstupný obraz tam, kde je originál, napíšte:\n</i><b>%p1/%f\n</b><i>\nAk chcete uložiť výstupný obraz v adresári 'converted' nachádzajúcom sa v adresári s originálom, napíšte:\n</i><b>%p1/converted/%f\n</b><i>\nAk chcete uložiť výstupný obraz v adresári '/home/tom/converted' pri zachovaní toho istého podadresára s dátumami, napíšte:\n</i><b>%p2/converted/%d1/%f</b>
|
||||
PREFERENCES_OUTDIRTEMPLATE;Použiť šablónu
|
||||
PREFERENCES_OUTDIRTEMPLATEHINT;<i>Môžete použiť nasledujúce formátovacie reťazce:</i>\n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>\n<i>\nTieto formátovacie reťazce odkazujú na adresáre a časti cesty k raw súboru.\n\nNapríklad, ak bol </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>otvorený, význam formátovacích reťazcov je:\n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, p3=/home/tom, ...\n</b><i>\nIf you want to save the output image where the original is, write:\n</i><b>%p1/%f\n</b><i>\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n</i><b>%p1/converted/%f\n</b><i>\nAk chcete uložiť výstupný obraz tam, kde je originál, napíšte:\n</i><b>%p1/%f\n</b><i>\nAk chcete uložiť výstupný obraz v adresári 'converted' nachádzajúcom sa v adresári s originálom, napíšte:\n</i><b>%p1/converted/%f\n</b><i>\nAk chcete uložiť výstupný obraz v adresári '/home/tom/converted' pri zachovaní toho istého podadresára s dátumami, napíšte:\n</i><b>%p2/converted/%d1/%f</b>
|
||||
PREFERENCES_OVERLAY_FILENAMES;Prekryť mená súborov cez zmenšeniny
|
||||
PREFERENCES_PARSEDEXT;Spracúvané prípony
|
||||
PREFERENCES_PARSEDEXTADD;Pridať príponu
|
||||
PREFERENCES_PARSEDEXTADDHINT;Napíšte príponu a stlačte tento gombík pre pripojenie k zoznamu
|
||||
@ -386,15 +463,19 @@ PREFERENCES_PROFILEPRCACHE;Profil v cache
|
||||
PREFERENCES_PROFILEPRFILE;Profil pri vstupnom súbore
|
||||
PREFERENCES_PROFILESAVECACHE;Uložiť parametre spracovania do cache
|
||||
PREFERENCES_PROFILESAVEINPUT;Uložiť parametre spracovania k vstupnému súboru
|
||||
PREFERENCES_PROPERTY;Vlastnosť
|
||||
PREFERENCES_PSPATH;Inštalačný adresár Adobe Photoshop
|
||||
PREFERENCES_SELECTFONT;Vybrať písmo
|
||||
PREFERENCES_SELECTICCDIRDLG;Vybrať adresár s ICC profilmi...
|
||||
PREFERENCES_SELECTLANG;Vybrať si jazyk
|
||||
PREFERENCES_SELECTMONITORPROFDLG;Vybrať ICC profil monitora...
|
||||
PREFERENCES_SELECTTHEME;Vybrať vzhľad
|
||||
PREFERENCES_SET;Nastaviť
|
||||
PREFERENCES_SHOWBASICEXIF;Zobrazovať základné EXIF informácie
|
||||
PREFERENCES_SHOWDATETIME;Ukázovať dátum a čas
|
||||
PREFERENCES_SHOWONLYRAW;Ukazovať len RAW súbory
|
||||
PREFERENCES_SHTHRESHOLD;Prah pre orezané tiene
|
||||
PREFERENCES_SINGLETAB;Režim jednej karty
|
||||
PREFERENCES_STARTUPIMDIR;Adresár s obrázkami pri spustení
|
||||
PREFERENCES_TAB_BROWSER;Prehliadač súborov
|
||||
PREFERENCES_TAB_COLORMGR;Správa farieb
|
||||
@ -402,6 +483,8 @@ PREFERENCES_TAB_GENERAL;Všeobecné
|
||||
PREFERENCES_TAB_IMPROC;Spracovanie obrazu
|
||||
PREFERENCES_TAB_OUTPUT;Výstupné možnosti
|
||||
PREFERENCES_THUMBSIZE;Veľkosť zmenšeniny
|
||||
PREFERENCES_USESYSTEMTHEME; Použiť systémový vzhľad
|
||||
PREFERENCES_WORKFLOW;Tok práce
|
||||
PROFILEPANEL_FILEDLGFILTERANY;Všetky súbory
|
||||
PROFILEPANEL_FILEDLGFILTERPP;Profily spracovania
|
||||
PROFILEPANEL_LABEL;Profily spracovania
|
||||
@ -429,11 +512,13 @@ PROGRESSBAR_SAVEPNG;Ukladám PNG súbor...
|
||||
PROGRESSBAR_SAVETIFF;Ukladám TIFF súbor...
|
||||
PROGRESSDLG_LOADING;Načítava sa súbor...
|
||||
PROGRESSDLG_PROCESSING;Spracúva sa obrázok...
|
||||
PROGRESSDLG_PROFILECHANGEDINBROWSER;Profil zmenený v prehliadači
|
||||
PROGRESSDLG_SAVING;Ukladá sa súbor...
|
||||
QINFO_FOCALLENGTH;Ohnisková vzdialenosť
|
||||
QINFO_ISO;ISO
|
||||
QINFO_LENS;Objektív
|
||||
QINFO_NOEXIF;Exif údaje sú nedostupné.
|
||||
SAVEDLG_AUTOSUFFIX;Automaticky pridať príponu, ak už súbor existuje
|
||||
SAVEDLG_FILEFORMAT;Formát súboru
|
||||
SAVEDLG_JPEGQUAL;JPEG Kvalita
|
||||
SAVEDLG_JPGFILTER;JPEG súbory
|
||||
@ -445,6 +530,7 @@ SAVEDLG_PUTTOQUEUETAIL;Presunúť na koniec radu na spracovanie
|
||||
SAVEDLG_SAVEIMMEDIATELY;Uložiť okamžite
|
||||
SAVEDLG_SAVESPP;Uložiť parametre spracovania s obrázkom
|
||||
SAVEDLG_TIFFFILTER;TIFF súbory
|
||||
SAVEDLG_TIFFUNCOMPRESSED;Nekomprimovaný TIFF
|
||||
TOOLBAR_TOOLTIP_CROP;Orezanie výberu (shortcut key: C)
|
||||
TOOLBAR_TOOLTIP_HAND;Nástroj ruka (shortcut key: N)
|
||||
TOOLBAR_TOOLTIP_STRAIGHTEN;Výber rovnej čiary (shortcut key: S)
|
||||
@ -461,10 +547,10 @@ TP_COARSETRAF_TOOLTIP_HFLIP;Prevrátiť horizontálne
|
||||
TP_COARSETRAF_TOOLTIP_ROTLEFT;Otočiť doľava
|
||||
TP_COARSETRAF_TOOLTIP_ROTRIGHT;Otočiť doprava
|
||||
TP_COARSETRAF_TOOLTIP_VFLIP;Prevrátiť vertikálne
|
||||
TP_COLORBOOST_ACHANNEL;kanál "a"
|
||||
TP_COLORBOOST_ACHANNEL;Kanál "a"
|
||||
TP_COLORBOOST_AMOUNT;Množstvo
|
||||
TP_COLORBOOST_AVOIDCOLORCLIP;Vyhnúť sa orezaniu farieb
|
||||
TP_COLORBOOST_BCHANNEL;kanál "b"
|
||||
TP_COLORBOOST_BCHANNEL;Kanál "b"
|
||||
TP_COLORBOOST_CHAB;a & b
|
||||
TP_COLORBOOST_CHANNEL;Kanál
|
||||
TP_COLORBOOST_CHSEPARATE;oddelené
|
||||
@ -494,8 +580,26 @@ TP_CROP_SELECTCROP; Vyberte Orez
|
||||
TP_CROP_W;Š
|
||||
TP_CROP_X;x
|
||||
TP_CROP_Y;y
|
||||
TP_DETAIL_AMOUNT;Množstvo
|
||||
TP_DIRPYRDENOISE_CHROMA;Farebnosť
|
||||
TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
TP_DIRPYRDENOISE_LABEL;Redukcia šumu pomocou smerovej pyramídy
|
||||
TP_DIRPYRDENOISE_LUMA;Svietivosť
|
||||
TP_DIRPYREQUALIZER_LABEL;Vyrovnávač smerovej pyramídy
|
||||
TP_DIRPYREQUALIZER_LUMACOARSEST;Najhrubšie
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Kontrast-
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Kontrast+
|
||||
TP_DIRPYREQUALIZER_LUMAFINEST;Najjemnejšie
|
||||
TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutrálne
|
||||
TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
TP_DISTORTION_AMOUNT;Množstvo
|
||||
TP_DISTORTION_LABEL;Zakrivenie
|
||||
TP_EQUALIZER_CONTRAST_MINUS;Kontrast-
|
||||
TP_EQUALIZER_CONTRAST_PLUS;Kontrast+
|
||||
TP_EQUALIZER_FINEST;najjemnejšie
|
||||
TP_EQUALIZER_LABEL;Vyrovnávač vlnky
|
||||
TP_EQUALIZER_LARGEST;najhrubšie
|
||||
TP_EQUALIZER_NEUTRAL;Neutrálne
|
||||
TP_EXPOSURE_AUTOLEVELS;Auto úrovne
|
||||
TP_EXPOSURE_BLACKLEVEL;Čierna
|
||||
TP_EXPOSURE_BRIGHTNESS;Jas
|
||||
@ -525,6 +629,16 @@ TP_ICM_OUTPUTDLGLABEL;Vybrať výstupný ICC profil...
|
||||
TP_ICM_OUTPUTPROFILE;Výstupný profil
|
||||
TP_ICM_SAVEREFERENCE;Uložiť referenčný obrázok pre tvorbu profilu
|
||||
TP_ICM_WORKINGPROFILE;Pracovný profil
|
||||
TP_IMPULSEDENOISE_LABEL;Impulzná redukcia šumu
|
||||
TP_IMPULSEDENOISE_THRESH;Prah
|
||||
TP_LABCURVE_BRIGHTNESS;Jas
|
||||
TP_LABCURVE_CONTRAST;Kontrast
|
||||
TP_LABCURVE_CURVEEDITOR;Krivka svietivosti
|
||||
TP_LABCURVE_LABEL;Krivka svietivosti
|
||||
TP_LABCURVE_SATURATION;Sýtosť
|
||||
TP_LENSGEOM_AUTOCROP;Automatické orezanie
|
||||
TP_LENSGEOM_FILL;Automatické vyplnenie
|
||||
TP_LENSGEOM_LABEL;Objektív/Geometria
|
||||
TP_LUMACURVE_BLACKLEVEL;Čierna
|
||||
TP_LUMACURVE_BRIGHTNESS;Jas
|
||||
TP_LUMACURVE_COMPRHIGHLIGHTS;Kompresia najvyšších svetiel
|
||||
@ -535,17 +649,25 @@ TP_LUMACURVE_LABEL;Krivka svietivosti
|
||||
TP_LUMADENOISE_EDGETOLERANCE;Tolerancia okrajov
|
||||
TP_LUMADENOISE_LABEL;Redukcia šumu v oblasti svietivosti
|
||||
TP_LUMADENOISE_RADIUS;Polomer
|
||||
TP_PERSPECTIVE_HORIZONTAL;Horizontálne
|
||||
TP_PERSPECTIVE_LABEL;Perspektíva
|
||||
TP_PERSPECTIVE_VERTICAL;Vertikálne
|
||||
TP_RESIZE_BICUBIC;Bikubická
|
||||
TP_RESIZE_BICUBICSF;Bikubická (Mäkšia)
|
||||
TP_RESIZE_BICUBICSH;Bikubická (Ostrejšia)
|
||||
TP_RESIZE_BILINEAR;Bilineárna
|
||||
TP_RESIZE_DOWNSCALEB;Downscale (Lepšie)
|
||||
TP_RESIZE_DOWNSCALEF;Downscale (Rýchlejšie)
|
||||
TP_RESIZE_FULLSIZE;Celá veľkosť obrázka:
|
||||
TP_RESIZE_H;V:
|
||||
TP_RESIZE_HEIGHT;Výška
|
||||
TP_RESIZE_LABEL;Zmeniť veľkosť
|
||||
TP_RESIZE_METHOD;Metóda:
|
||||
TP_RESIZE_NEAREST;Najbližšie
|
||||
TP_RESIZE_SCALE;Rozmer
|
||||
TP_RESIZE_SCALE;Pomer
|
||||
TP_RESIZE_SPECIFY;Zadať:
|
||||
TP_RESIZE_W;Š:
|
||||
TP_RESIZE_WIDTH;Šírka
|
||||
TP_ROTATE_AUTOCROP;Automatické orezanie
|
||||
TP_ROTATE_DEGREE;Stupeň
|
||||
TP_ROTATE_FILL;Výplň
|
||||
@ -592,114 +714,9 @@ ZOOMBAR_NORMAL;Normálny
|
||||
ZOOMBAR_PREVIEW;Náhľad
|
||||
ZOOMBAR_SCALE;Rozmer
|
||||
ZOOMBAR_SMALL;Malý
|
||||
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
!CURVEEDITOR_LIGHTS;Lights
|
||||
!CURVEEDITOR_NURBS;Control cage
|
||||
!CURVEEDITOR_PARAMETRIC;Parametric
|
||||
!CURVEEDITOR_SHADOWS;Shadows
|
||||
!CURVEEDITOR_TYPE;Type:
|
||||
!EXIFFILTER_METADATAFILTER;Enable Metadata Filters
|
||||
!FILEBROWSER_ADDDELTEMPLATE;Add/Del templates...
|
||||
!FILEBROWSER_CURRENT_NAME;Current name:
|
||||
!FILEBROWSER_NEW_NAME;New name:
|
||||
!FILEBROWSER_SHOWEXIFINFO;Show EXIF info <b>i</b>
|
||||
!FILEBROWSER_TOOLTIP_STOPPROCESSING;Start processing automatically when a new job arrives
|
||||
!FILEBROWSER_USETEMPLATE;Use template:
|
||||
!GENERAL_AFTER;After
|
||||
!GENERAL_BEFORE;Before
|
||||
!GENERAL_HIGH_QUALITY;High Quality
|
||||
!GENERAL_UNCHANGED;(Unchanged)
|
||||
!HISTOGRAM_BUTTON_B;B
|
||||
!HISTOGRAM_BUTTON_G;G
|
||||
!HISTOGRAM_BUTTON_L;L
|
||||
!HISTOGRAM_BUTTON_R;R
|
||||
!HISTORY_MSG_82;Profile Changed
|
||||
!HISTORY_MSG_83;High quality shadows/highlights
|
||||
!HISTORY_MSG_84;Perspective correction
|
||||
!HISTORY_MSG_85;Wavelet coefficients
|
||||
!HISTORY_MSG_86;Wavelet equalizer
|
||||
!HISTORY_MSG_87;Impulse noise reduction
|
||||
!HISTORY_MSG_89;Directional pyramid
|
||||
!HISTORY_MSG_90;Directional pyramid luminance
|
||||
!HISTORY_MSG_91;Directional pyramid chominance
|
||||
!HISTORY_MSG_92;Directional pyramid gamma
|
||||
!MAIN_BUTTON_FULLSCREEN;Fullscreen
|
||||
!MAIN_BUTTON_PUTTOQUEUE;Put to queue
|
||||
!MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Add current image to processing queue <b>Ctrl+Q</b>
|
||||
!MAIN_BUTTON_SAVE_TOOLTIP;Save current image <b>Ctrl+S</b>
|
||||
!MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor <b>Ctrl+E</b>
|
||||
!MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen
|
||||
!MAIN_MSG_ERRORDURINGIMAGESAVING;Error during image saving
|
||||
!MAIN_MSG_NAVIGATOR;Navigator
|
||||
!MAIN_MSG_PLACES;Places
|
||||
!MAIN_TOGGLE_BEFORE_AFTER;B|A
|
||||
!MAIN_TOOLTIP_TOGGLE;Toggle before/after view <b>B</b>
|
||||
!NAVIGATOR_B_NA;B = n/a
|
||||
!NAVIGATOR_B_VALUE;B = %1
|
||||
!NAVIGATOR_G_NA;G = n/a
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
!NAVIGATOR_S_VALUE;S = %1
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SET;SET
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
!TP_EQUALIZER_LABEL;Wavelet equalizer
|
||||
!TP_EQUALIZER_LARGEST;coarsest
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
!TP_PERSPECTIVE_HORIZONTAL;Horizontal
|
||||
!TP_PERSPECTIVE_LABEL;Perspective
|
||||
!TP_PERSPECTIVE_VERTICAL;Vertical
|
||||
!TP_RESIZE_DOWNSCALEB;Downscale (Better)
|
||||
!TP_RESIZE_DOWNSCALEF;Downscale (Faster)
|
||||
!TP_RESIZE_HEIGHT;Height
|
||||
!TP_RESIZE_SPECIFY;Specify:
|
||||
!TP_RESIZE_WIDTH;Width
|
||||
!ZOOMPANEL_100;(100%)
|
||||
!ZOOMPANEL_NEWCROPWINDOW;Open (new) detail window
|
||||
!ZOOMPANEL_ZOOM100;Zoom to 100% <b>1</b>
|
||||
!ZOOMPANEL_ZOOMFITSCREEN;Fit to screen <b>F</b>
|
||||
!ZOOMPANEL_ZOOMIN;Zoom In <b>+</b>
|
||||
!ZOOMPANEL_ZOOMOUT;Zoom Out <b>-</b>
|
||||
ZOOMPANEL_100;(100%)
|
||||
ZOOMPANEL_NEWCROPWINDOW;Otvoriť (nové) okno s detailom
|
||||
ZOOMPANEL_ZOOM100;Priblíženie na 100% <b>1</b>
|
||||
ZOOMPANEL_ZOOMFITSCREEN;Prispôsobiť obrazovke <b>F</b>
|
||||
ZOOMPANEL_ZOOMIN;Priblížiť <b>+</b>
|
||||
ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
|
||||
|
@ -600,7 +600,7 @@ ZOOMBAR_SMALL;Pieni
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -651,6 +651,12 @@ ZOOMBAR_SMALL;Pieni
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -658,25 +664,41 @@ ZOOMBAR_SMALL;Pieni
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -685,6 +707,11 @@ ZOOMBAR_SMALL;Pieni
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -600,7 +600,7 @@ ZOOMBAR_SMALL;Küçük
|
||||
|
||||
|
||||
!BATCHQUEUE_AUTOSTART;Auto start
|
||||
!BATCH_PROCESSING;batch processing
|
||||
!BATCH_PROCESSING;Batch processing
|
||||
!CURVEEDITOR_CUSTOM;Custom
|
||||
!CURVEEDITOR_DARKS;Darks
|
||||
!CURVEEDITOR_HIGHLIGHTS;Highlights
|
||||
@ -651,6 +651,12 @@ ZOOMBAR_SMALL;Küçük
|
||||
!NAVIGATOR_G_VALUE;G = %1
|
||||
!NAVIGATOR_H_NA;H = n/a
|
||||
!NAVIGATOR_H_VALUE;H = %1
|
||||
!NAVIGATOR_LAB_A_NA;A = n/a
|
||||
!NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
!NAVIGATOR_LAB_B_NA;B = n/a
|
||||
!NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
!NAVIGATOR_LAB_L_NA;L = n/a
|
||||
!NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
!NAVIGATOR_R_NA;R = n/a
|
||||
!NAVIGATOR_R_VALUE;R = %1
|
||||
!NAVIGATOR_S_NA;S = n/a
|
||||
@ -658,25 +664,41 @@ ZOOMBAR_SMALL;Küçük
|
||||
!NAVIGATOR_V_NA;V = n/a
|
||||
!NAVIGATOR_V_VALUE;V = %1
|
||||
!NAVIGATOR_XY_NA;x = n/a, y = n/a
|
||||
!PARTIALPASTE_LABCURVE;Lab curve
|
||||
!PARTIALPASTE_LABCURVE;Luminance curve
|
||||
!PREFERENCES_ADD;ADD
|
||||
!PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
!PREFERENCES_BEHAVIOR;Behavior
|
||||
!PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
!PREFERENCES_DCBENHANCE;Apply DCB enhancement step
|
||||
!PREFERENCES_DCBITERATIONS;Number of DCB iterations
|
||||
!PREFERENCES_DMETHODBATCH;Batch
|
||||
!PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
!PREFERENCES_GREENEQUIL;Green equilibration
|
||||
!PREFERENCES_HOTDEADPIXFILT;Apply hot/dead pixel filter
|
||||
!PREFERENCES_LINEDENOISE;Line noise filter
|
||||
!PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
!PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
!PREFERENCES_PROPERTY;Property
|
||||
!PREFERENCES_SELECTFONT;Select font
|
||||
!PREFERENCES_SET;SET
|
||||
!PREFERENCES_SINGLETAB;Single tab mode
|
||||
!PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
!PREFERENCES_WORKFLOW;Workflow
|
||||
!PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser
|
||||
!SAVEDLG_AUTOSUFFIX;Automatically add a suffix if the file already exists
|
||||
!TP_DETAIL_AMOUNT;Amount
|
||||
!TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
!TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional Pyramid Noise Reduction
|
||||
!TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
!TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
!TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
!TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
!TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
!TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
!TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
!TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
!TP_EQUALIZER_CONTRAST_MINUS;Contrast-
|
||||
!TP_EQUALIZER_CONTRAST_PLUS;Contrast+
|
||||
!TP_EQUALIZER_FINEST;finest
|
||||
@ -685,6 +707,11 @@ ZOOMBAR_SMALL;Küçük
|
||||
!TP_EQUALIZER_NEUTRAL;Neutral
|
||||
!TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
!TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
!TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
!TP_LABCURVE_CONTRAST;Contrast
|
||||
!TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
!TP_LABCURVE_LABEL;Lab Curves
|
||||
!TP_LABCURVE_SATURATION;Saturation
|
||||
!TP_LENSGEOM_AUTOCROP;Auto Crop
|
||||
!TP_LENSGEOM_FILL;Auto Fill
|
||||
!TP_LENSGEOM_LABEL;Lens / Geometry
|
||||
|
@ -2,7 +2,7 @@
|
||||
#01 Developers should add translations to this file and then run 'generateDifferences.sh' script to update other locales.
|
||||
ADJUSTER_RESET_TO_DEFAULT;Reset to default
|
||||
BATCHQUEUE_AUTOSTART;Auto start
|
||||
BATCH_PROCESSING;batch processing
|
||||
BATCH_PROCESSING;Batch processing
|
||||
CURVEEDITOR_CUSTOM;Custom
|
||||
CURVEEDITOR_DARKS;Darks
|
||||
CURVEEDITOR_FILEDLGFILTERANY;Any files
|
||||
@ -345,6 +345,12 @@ NAVIGATOR_G_NA;G = n/a
|
||||
NAVIGATOR_G_VALUE;G = %1
|
||||
NAVIGATOR_H_NA;H = n/a
|
||||
NAVIGATOR_H_VALUE;H = %1
|
||||
NAVIGATOR_LAB_A_NA;A = n/a
|
||||
NAVIGATOR_LAB_A_VALUE;A = %1
|
||||
NAVIGATOR_LAB_B_NA;B = n/a
|
||||
NAVIGATOR_LAB_B_VALUE;B = %1
|
||||
NAVIGATOR_LAB_L_NA;L = n/a
|
||||
NAVIGATOR_LAB_L_VALUE;L = %1
|
||||
NAVIGATOR_R_NA;R = n/a
|
||||
NAVIGATOR_R_VALUE;R = %1
|
||||
NAVIGATOR_S_NA;S = n/a
|
||||
@ -369,8 +375,9 @@ PARTIALPASTE_EXPOSURE;Exposure
|
||||
PARTIALPASTE_HLRECOVERY;Highlight recovery
|
||||
PARTIALPASTE_ICMSETTINGS;ICM settings
|
||||
PARTIALPASTE_IPTCINFO;IPTC info
|
||||
PARTIALPASTE_LABCURVE;Lab curve
|
||||
PARTIALPASTE_LABCURVE;Luminance curve
|
||||
PARTIALPASTE_LENSGROUP;Lens related settings
|
||||
PARTIALPASTE_LUMACURVE;Luminance curve
|
||||
PARTIALPASTE_LUMADENOISE;Luminance noise reduction
|
||||
PARTIALPASTE_LUMINANCEGROUP;Luminance related settings
|
||||
PARTIALPASTE_METAICMGROUP;Metadata/ICM settings
|
||||
@ -381,7 +388,7 @@ PARTIALPASTE_SHARPENING;Sharpening
|
||||
PARTIALPASTE_VIGNETTING;Vignetting correction
|
||||
PARTIALPASTE_WHITEBALANCE;White balance
|
||||
PREFERENCES_ADD;ADD
|
||||
PREFERENCES_APPLNEXTSTARTUP;applied at next startup
|
||||
PREFERENCES_APPLNEXTSTARTUP;restart required
|
||||
PREFERENCES_BATCH_PROCESSING;batch processing
|
||||
PREFERENCES_BEHAVIOR;Behavior
|
||||
PREFERENCES_BLINKCLIPPED;Blink clipped areas
|
||||
@ -398,9 +405,6 @@ PREFERENCES_CACHESTRAT;Cache Strategy
|
||||
PREFERENCES_CACHETHUMBFORM;Cache Thumbnail Format
|
||||
PREFERENCES_CACHETHUMBHEIGHT;Maximal Thumbnail Height
|
||||
PREFERENCES_CACORRECTION;Apply CA auto correction
|
||||
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_DARKFRAME;Dark frame
|
||||
@ -417,8 +421,10 @@ PREFERENCES_DIRLAST;Last visited directory
|
||||
PREFERENCES_DIROTHER;Other
|
||||
PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup...
|
||||
PREFERENCES_DIRSOFTWARE;Installation directory
|
||||
PREFERENCES_DMETHOD;Method
|
||||
PREFERENCES_DMETHOD;Preview
|
||||
PREFERENCES_DMETHODBATCH;Batch
|
||||
PREFERENCES_EDITORCMDLINE;Other command line
|
||||
PREFERENCES_EDITORLAYOUT;Editor Layout
|
||||
PREFERENCES_EXTERNALEDITOR;External editor
|
||||
PREFERENCES_FALSECOLOR;False color suppression steps
|
||||
PREFERENCES_FBROWSEROPTS;File Browser Options
|
||||
@ -440,12 +446,13 @@ PREFERENCES_INTENT_SATURATION;Saturation
|
||||
PREFERENCES_LINEDENOISE;Line noise filter
|
||||
PREFERENCES_LIVETHUMBNAILS;Live Thumbnails (slower)
|
||||
PREFERENCES_MONITORICC;Monitor Profile
|
||||
PREFERENCES_MULTITAB;Multiple tabs mode
|
||||
PREFERENCES_OUTDIR;Output Directory
|
||||
PREFERENCES_OUTDIRFOLDER;Save to folder
|
||||
PREFERENCES_OUTDIRFOLDERHINT;Put the saved images to the selected folder
|
||||
PREFERENCES_OUTDIRHINT;<i>You can use the following formatting strings:</i>\n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>\n<i>\nThese formatting strings refer to the directories and sub-paths of the path of the raw file.\n\nFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:\n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...\n</b><i>\nIf you want to save the output image where the original is, write:\n</i><b>%p1/%f\n</b><i>\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n</i><b>%p1/converted/%f\n</b><i>\nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:\n</i><b>%p2/converted/%d1/%f</b>
|
||||
PREFERENCES_OUTDIRHINT;You can use the following formatting strings:\n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...\n\nThese formatting strings refer to the different parts of the photo's pathname.\n\nFor example, if the photo being processed has the following pathname:\n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>\nthe meaning of the formatting strings are:\n<b>%d4</b> = <i>home</i>\n<b>%d3</b> = <i>tom</i>\n<b>%d2</b> = <i>photos</i>\n<b>%d1</b> = <i>2010-10-31</i>\n<b>%f</b> = <i>dsc0042</i>\n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>\n<b>%p2</b> = <i>/home/tom/photos/</i>\n<b>%p3</b> = <i>/home/tom/</i>\n<b>%p4</b> = <i>/home/</i>\n\nIf you want to save the output image where the original is, write:\n<b>%p1/%f</b>\n\nIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:\n<b>%p1/converted/%f</b>\n\nIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:\n<b>%p2/converted/%d1/%f</b>
|
||||
PREFERENCES_OUTDIRTEMPLATE;Use Template
|
||||
PREFERENCES_OUTDIRTEMPLATEHINT;<i>You can use the following formatting strings:</i>\n<b>%f, %d1, %d2, ..., %p1, %p2, ...</b>\n<i>\nThese formatting strings refer to the directories and sub-paths of the path of the raw file.\n\nFor example, if </i> <b>/home/tom/image/02-09-2006/dsc0012.nef</b><i>has been opened, the meaning of the formatting strings are:\n</i><b>%f=dsc0012, %d1=02-09-2006, %d2=image, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, %p3=/home/tom, ...\n</b><i>\nIf you want to save the output image where the original is, write:\n</i><b>%p1/%f\n</b><i>\nIf you want to save the output image in a directory 'converted' located the directory of the original, write:\n</i><b>%p1/converted/%f\n</b><i>\nIf you want to save the output image in directory '/home/tom/converted' with keeping the same subdirectory of dates, write:\n</i><b>%p2/converted/%d1/%f</b>
|
||||
PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:\n<b>%f</b>, <b>%d1</b>, <b>%d2</b>, ..., <b>%p1</b>, <b>%p2</b>, ...\n\nThese formatting strings refer to the different parts of the photo's pathname.\n\nFor example, if the photo being processed has the following pathname:\n<b><i>/home/tom/photos/2010-10-31/dsc0042.nef</i></b>\nthe meaning of the formatting strings are:\n<b>%d4</b> = <i>home</i>\n<b>%d3</b> = <i>tom</i>\n<b>%d2</b> = <i>photos</i>\n<b>%d1</b> = <i>2010-10-31</i>\n<b>%f</b> = <i>dsc0042</i>\n<b>%p1</b> = <i>/home/tom/photos/2010-10-31/</i>\n<b>%p2</b> = <i>/home/tom/photos/</i>\n<b>%p3</b> = <i>/home/tom/</i>\n<b>%p4</b> = <i>/home/</i>\n\nIf you want to save the output image where the original is, write:\n<b>%p1/%f</b>\n\nIf you want to save the output image in a directory named "<i>converted</i>" located in the directory of the opened image, write:\n<b>%p1/converted/%f</b>\n\nIf you want to save the output image in a directory named "<i>/home/tom/photos/converted/2010-10-31</i>", write:\n<b>%p2/converted/%d1/%f</b>
|
||||
PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
|
||||
PREFERENCES_PARSEDEXT;Parsed Extensions
|
||||
PREFERENCES_PARSEDEXTADD;Add Extension
|
||||
@ -459,6 +466,7 @@ PREFERENCES_PROFILESAVECACHE;Save Processing Parameters to the Cache
|
||||
PREFERENCES_PROFILESAVEINPUT;Save Processing Parameters Next to the Input File
|
||||
PREFERENCES_PROPERTY;Property
|
||||
PREFERENCES_PSPATH;Adobe Photoshop installation directory
|
||||
PREFERENCES_SELECTFONT;Select font
|
||||
PREFERENCES_SELECTICCDIRDLG;Select ICC Profile Directory...
|
||||
PREFERENCES_SELECTLANG;Select language
|
||||
PREFERENCES_SELECTMONITORPROFDLG;Select ICC Profile of the Display...
|
||||
@ -468,6 +476,7 @@ PREFERENCES_SHOWBASICEXIF;Show basic Exif info
|
||||
PREFERENCES_SHOWDATETIME;Show date and time
|
||||
PREFERENCES_SHOWONLYRAW;Show only RAW files
|
||||
PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows
|
||||
PREFERENCES_SINGLETAB;Single tab mode
|
||||
PREFERENCES_STARTUPIMDIR;Image directory at startup
|
||||
PREFERENCES_TAB_BROWSER;File Browser
|
||||
PREFERENCES_TAB_COLORMGR;Color Management
|
||||
@ -475,6 +484,8 @@ PREFERENCES_TAB_GENERAL;General
|
||||
PREFERENCES_TAB_IMPROC;Image Processing
|
||||
PREFERENCES_TAB_OUTPUT;Output Options
|
||||
PREFERENCES_THUMBSIZE;Thumbnail Size
|
||||
PREFERENCES_USESYSTEMTHEME; Use System Theme
|
||||
PREFERENCES_WORKFLOW;Workflow
|
||||
PROFILEPANEL_FILEDLGFILTERANY;Any files
|
||||
PROFILEPANEL_FILEDLGFILTERPP;Postprocessing profiles
|
||||
PROFILEPANEL_LABEL;Postprocessing Profiles
|
||||
@ -575,12 +586,12 @@ TP_DIRPYRDENOISE_CHROMA;Chrominance
|
||||
TP_DIRPYRDENOISE_GAMMA;Gamma
|
||||
TP_DIRPYRDENOISE_LABEL;Directional pyramid noise reduction
|
||||
TP_DIRPYRDENOISE_LUMA;Luminance
|
||||
TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
TP_DIRPYREQUALIZER_LUMACOARSEST;Coarsest
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contrast-
|
||||
TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contrast+
|
||||
TP_DIRPYREQUALIZER_LUMAFINEST;Finest
|
||||
TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral
|
||||
TP_DIRPYREQUALIZER_LABEL;Directional pyramid equalizer
|
||||
TP_DIRPYREQUALIZER_THRESHOLD;Threshold
|
||||
TP_DISTORTION_AMOUNT;Amount
|
||||
TP_DISTORTION_LABEL;Distortion
|
||||
@ -594,15 +605,15 @@ 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_COMPRHIGHLIGHTS;Highlight recovery
|
||||
TP_EXPOSURE_COMPRSHADOWS;Shadow recovery
|
||||
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_LABEL;Highlight Reconstruction
|
||||
TP_HLREC_LUMINANCE;Luminance Recovery
|
||||
TP_HLREC_METHOD;Method:
|
||||
TP_ICM_FILEDLGFILTERANY;Any files
|
||||
@ -621,16 +632,14 @@ TP_ICM_SAVEREFERENCE;Save reference image for profiling
|
||||
TP_ICM_WORKINGPROFILE;Working Profile
|
||||
TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction
|
||||
TP_IMPULSEDENOISE_THRESH;Threshold
|
||||
TP_LABCURVE_BRIGHTNESS;Brightness
|
||||
TP_LABCURVE_CONTRAST;Contrast
|
||||
TP_LABCURVE_CURVEEDITOR;Luminance Curve
|
||||
TP_LABCURVE_LABEL;Lab Curves
|
||||
TP_LABCURVE_SATURATION;Saturation
|
||||
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
|
||||
@ -683,6 +692,10 @@ TP_SHARPENING_USM;Unsharp Mask
|
||||
TP_VIGNETTING_AMOUNT;Amount
|
||||
TP_VIGNETTING_LABEL;Vignetting Correction
|
||||
TP_VIGNETTING_RADIUS;Radius
|
||||
TP_VIGNETTING_STRENGTH;Strength
|
||||
TP_VIGNETTING_CENTER_X;Center X
|
||||
TP_VIGNETTING_CENTER_Y;Center Y
|
||||
TP_VIGNETTING_CENTER;Center
|
||||
TP_WBALANCE_AUTO;Auto
|
||||
TP_WBALANCE_CAMERA;Camera
|
||||
TP_WBALANCE_CUSTOM;Custom
|
||||
|
@ -1,5 +1,6 @@
|
||||
|
||||
[General]
|
||||
TabbedEditor=true
|
||||
StoreLastProfile=true
|
||||
StartupDirectory=last
|
||||
StartupPath=
|
||||
@ -9,6 +10,7 @@ DualProcSupport=true
|
||||
MultiUser=true
|
||||
Language=English (US)
|
||||
Theme=Gray
|
||||
UseSystemTheme=false
|
||||
Version=300
|
||||
FirstRun=true
|
||||
|
||||
@ -39,6 +41,9 @@ RenameUseTemplates=false
|
||||
ThumbnailZoomRatios=0.2;0.3;0.45;0.6;0.8;1;
|
||||
OverlayedFileNames=true
|
||||
|
||||
# if TRUE, only fast, internal preview images are taken if the image is not edited yet
|
||||
InternalThumbIfUntouched=true
|
||||
|
||||
[Clipping Indication]
|
||||
HighlightThreshold=253
|
||||
ShadowThreshold=8
|
||||
@ -56,6 +61,9 @@ PathFolder=
|
||||
UsePathTemplate=true
|
||||
LastSaveAsPath=
|
||||
|
||||
# if TRUE, existing output JPGs/PNGs are overwritten, instead of adding ..-1.jpg, -2.jpg etc.
|
||||
OverwriteOutputFile=false
|
||||
|
||||
[Profiles]
|
||||
Directory=profiles
|
||||
RawDefault=default
|
||||
@ -85,6 +93,7 @@ ToolPanelsExpanded=1;1;0;0;0;1;1;0;0;0;0;1;1;0;0;0;0;0;
|
||||
|
||||
[Algorithms]
|
||||
DemosaicMethod=hphd
|
||||
DemosaicMethodBatch=hphd
|
||||
ColorCorrection=1
|
||||
|
||||
[Crop Settings]
|
||||
|
@ -1,5 +1,6 @@
|
||||
|
||||
[General]
|
||||
TabbedEditor=true
|
||||
StoreLastProfile=true
|
||||
StartupDirectory=last
|
||||
StartupPath=
|
||||
@ -9,6 +10,7 @@ DualProcSupport=true
|
||||
MultiUser=true
|
||||
Language=English (US)
|
||||
Theme=Gray Textured
|
||||
UseSystemTheme=false
|
||||
Version=300
|
||||
FirstRun=true
|
||||
|
||||
@ -39,6 +41,9 @@ RenameUseTemplates=false
|
||||
ThumbnailZoomRatios=0.2;0.3;0.45;0.6;0.8;1;
|
||||
OverlayedFileNames=true
|
||||
|
||||
# if TRUE, only fast, internal preview images are taken if the image is not edited yet
|
||||
InternalThumbIfUntouched=true
|
||||
|
||||
[Clipping Indication]
|
||||
HighlightThreshold=253
|
||||
ShadowThreshold=8
|
||||
@ -56,6 +61,9 @@ PathFolder=
|
||||
UsePathTemplate=true
|
||||
LastSaveAsPath=
|
||||
|
||||
# if TRUE, existing output JPGs/PNGs are overwritten, instead of adding ..-1.jpg, -2.jpg etc.
|
||||
OverwriteOutputFile=false
|
||||
|
||||
[Profiles]
|
||||
Directory=profiles
|
||||
RawDefault=default
|
||||
@ -85,6 +93,7 @@ ToolPanelsExpanded=1;1;0;0;0;1;1;0;0;0;0;1;1;0;0;0;0;0;
|
||||
|
||||
[Algorithms]
|
||||
DemosaicMethod=hphd
|
||||
DemosaicMethodBatch=hphd
|
||||
ColorCorrection=1
|
||||
|
||||
[Crop Settings]
|
||||
|
@ -1,5 +1,6 @@
|
||||
|
||||
[General]
|
||||
TabbedEditor=true
|
||||
StoreLastProfile=true
|
||||
StartupDirectory=last
|
||||
StartupPath=
|
||||
@ -9,6 +10,7 @@ DualProcSupport=true
|
||||
MultiUser=true
|
||||
Language=English (US)
|
||||
Theme=Gray
|
||||
UseSystemTheme=false
|
||||
Version=300
|
||||
FirstRun=true
|
||||
|
||||
@ -39,6 +41,9 @@ RenameUseTemplates=false
|
||||
ThumbnailZoomRatios=0.2;0.3;0.45;0.6;0.8;1;
|
||||
OverlayedFileNames=true
|
||||
|
||||
# if TRUE, only fast, internal preview images are taken if the image is not edited yet
|
||||
InternalThumbIfUntouched=true
|
||||
|
||||
[Clipping Indication]
|
||||
HighlightThreshold=253
|
||||
ShadowThreshold=8
|
||||
@ -56,6 +61,9 @@ PathFolder=
|
||||
UsePathTemplate=true
|
||||
LastSaveAsPath=
|
||||
|
||||
# if TRUE, existing output JPGs/PNGs are overwritten, instead of adding ..-1.jpg, -2.jpg etc.
|
||||
OverwriteOutputFile=false
|
||||
|
||||
[Profiles]
|
||||
Directory=profiles
|
||||
RawDefault=default
|
||||
@ -85,6 +93,7 @@ ToolPanelsExpanded=1;1;0;0;0;1;1;0;0;0;0;1;1;0;0;0;0;0;
|
||||
|
||||
[Algorithms]
|
||||
DemosaicMethod=hphd
|
||||
DemosaicMethodBatch=hphd
|
||||
ColorCorrection=1
|
||||
|
||||
[Crop Settings]
|
||||
|
@ -1,16 +1,16 @@
|
||||
|
||||
[Version]
|
||||
Version=231
|
||||
Version=466
|
||||
|
||||
[Exposure]
|
||||
Auto=true
|
||||
Clip=0.02
|
||||
Clip=0.001
|
||||
Compensation=0
|
||||
Brightness=0
|
||||
Contrast=12
|
||||
Black=0
|
||||
HighlightCompr=100
|
||||
ShadowCompr=100
|
||||
HighlightCompr=70
|
||||
ShadowCompr=25
|
||||
Curve=1;0;0;1;1;
|
||||
|
||||
[Channel Mixer]
|
||||
|
@ -1,16 +1,16 @@
|
||||
|
||||
[Version]
|
||||
Version=231
|
||||
Version=466
|
||||
|
||||
[Exposure]
|
||||
Auto=true
|
||||
Clip=0.01
|
||||
Clip=0.001
|
||||
Compensation=0
|
||||
Brightness=0
|
||||
Contrast=0
|
||||
Black=0
|
||||
HighlightCompr=100
|
||||
ShadowCompr=100
|
||||
HighlightCompr=70
|
||||
ShadowCompr=25
|
||||
Curve=1;0;0;1;1;
|
||||
|
||||
[Channel Mixer]
|
||||
|
@ -1,16 +1,16 @@
|
||||
|
||||
[Version]
|
||||
Version=231
|
||||
Version=466
|
||||
|
||||
[Exposure]
|
||||
Auto=false
|
||||
Clip=0.01
|
||||
Clip=0.001
|
||||
Compensation=0
|
||||
Brightness=0
|
||||
Contrast=0
|
||||
Black=0
|
||||
HighlightCompr=100
|
||||
ShadowCompr=100
|
||||
HighlightCompr=70
|
||||
ShadowCompr=25
|
||||
Curve=1;0;0;1;1;
|
||||
|
||||
[Channel Mixer]
|
||||
|
@ -21,9 +21,8 @@
|
||||
# Color scheme contributed by Franco Gotusso based on Clearlooks-DarkCoffee by Chibi
|
||||
# and edited by bvc as Clearlooks-DarkCoffee2. Downloaded from http://art.gnome.org/themes/gtk2/1065
|
||||
|
||||
style "clearlooks-default"
|
||||
{
|
||||
font_name = "sans 8"
|
||||
style "clearlooks-default" {
|
||||
|
||||
GtkMenuItem::selected_shadow_type = none
|
||||
GtkWidget::interior_focus = 1
|
||||
GtkButton::default_border = { 3, 3, 3, 3 }
|
||||
|
@ -23,10 +23,8 @@
|
||||
# which is based on Bluecurve
|
||||
# Created by Richard Stellingwerff, Emil Jacobs and Daniel Borgmann.
|
||||
|
||||
style "clearlooks-default" {
|
||||
|
||||
style "clearlooks-default"
|
||||
{
|
||||
font_name = "sans 8"
|
||||
GtkButton ::default_border = { 0, 0, 0, 0 }
|
||||
GtkComboBox ::default_border = { 0, 0, 0, 0 }
|
||||
GtkRange ::trough_border = 0
|
||||
|
@ -23,10 +23,8 @@
|
||||
# which is based on Bluecurve
|
||||
# Created by Richard Stellingwerff, Emil Jacobs and Daniel Borgmann.
|
||||
|
||||
style "clearlooks-default" {
|
||||
|
||||
style "clearlooks-default"
|
||||
{
|
||||
font_name = "sans 8"
|
||||
GtkButton ::default_border = { 0, 0, 0, 0 }
|
||||
GtkRange ::trough_border = 0
|
||||
GtkPaned ::handle_size = 6
|
||||
|
@ -17,9 +17,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
style "theme-default" {
|
||||
|
||||
font_name = "sans 8"
|
||||
style "clearlooks-default" {
|
||||
|
||||
GtkButton ::default_border = { 0, 0, 0, 0 }
|
||||
GtkRange ::trough_border = 1
|
||||
@ -65,31 +63,31 @@ style "theme-default" {
|
||||
}
|
||||
}
|
||||
|
||||
style "theme-wide" = "theme-default" {
|
||||
style "clearlooks-wide" = "clearlooks-default" {
|
||||
xthickness = 3
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "theme-text" = "theme-default" {
|
||||
style "clearlooks-text" = "clearlooks-default" {
|
||||
#base[SELECTED] = "#fc9747" # Outline?
|
||||
}
|
||||
|
||||
style "theme-toolbar" = "theme-default" {
|
||||
style "clearlooks-toolbar" = "clearlooks-default" {
|
||||
bg[NORMAL] = "#A1A1A1"
|
||||
}
|
||||
|
||||
style "theme-tasklist" = "theme-default" {
|
||||
style "clearlooks-tasklist" = "clearlooks-default" {
|
||||
xthickness = 5
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "theme-menu" = "theme-default" {
|
||||
style "clearlooks-menu" = "clearlooks-default" {
|
||||
xthickness = 2
|
||||
ythickness = 2
|
||||
bg[NORMAL] = "#A1A1A1"
|
||||
}
|
||||
|
||||
style "theme-menu-item" = "theme-default" {
|
||||
style "clearlooks-menu-item" = "clearlooks-default" {
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
fg[PRELIGHT] = "#ffffff"
|
||||
@ -97,60 +95,60 @@ style "theme-menu-item" = "theme-default" {
|
||||
base[PRELIGHT] = "#A1A1A1"
|
||||
}
|
||||
|
||||
style "theme-menu-itembar" = "theme-default" {
|
||||
style "clearlooks-menu-itembar" = "clearlooks-default" {
|
||||
xthickness = 0
|
||||
ythickness = 0
|
||||
}
|
||||
|
||||
style "theme-tree" = "theme-default" {
|
||||
style "clearlooks-tree" = "clearlooks-default" {
|
||||
xthickness = 2
|
||||
ythickness = 2
|
||||
GtkTreeView::odd_row_color = "#f7f7ff"
|
||||
GtkTreeView::even_row_color = "#ffffff"
|
||||
}
|
||||
|
||||
style "theme-frame-title" = "theme-default" {
|
||||
style "clearlooks-frame-title" = "clearlooks-default" {
|
||||
fg[NORMAL] = "#2a2a2a"
|
||||
}
|
||||
|
||||
style "theme-panel" = "theme-default" {
|
||||
style "clearlooks-panel" = "clearlooks-default" {
|
||||
xthickness = 3
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "theme-tooltips" = "theme-default" {
|
||||
style "clearlooks-tooltips" = "clearlooks-default" {
|
||||
xthickness = 4
|
||||
ythickness = 4
|
||||
bg[NORMAL] = { 1.0,1.0,0.75 }
|
||||
}
|
||||
|
||||
style "theme-progressbar" = "theme-default" {
|
||||
style "clearlooks-progressbar" = "clearlooks-default" {
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
fg[PRELIGHT] = "#ffffff"
|
||||
}
|
||||
|
||||
style "theme-combo" = "theme-default" {
|
||||
style "clearlooks-combo" = "clearlooks-default" {
|
||||
xthickness = 2
|
||||
ythickness = 0
|
||||
}
|
||||
|
||||
style "theme-button" = "theme-wide" {
|
||||
style "clearlooks-button" = "clearlooks-wide" {
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
#bg[NORMAL] = "#31353A"
|
||||
#bg[PRELIGHT] = "#555555"
|
||||
#bg[NORMAL] = "#31353A"
|
||||
}
|
||||
style "theme-check" = "theme-button" {
|
||||
style "clearlooks-check" = "clearlooks-button" {
|
||||
}
|
||||
|
||||
style "theme-panel" = "theme-default" {
|
||||
style "clearlooks-panel" = "clearlooks-default" {
|
||||
xthickness = 3
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "theme-notebook" = "theme-wide" {
|
||||
style "clearlooks-notebook" = "clearlooks-wide" {
|
||||
base[SELECTED] = "#A1A1A1"
|
||||
bg[ACTIVE] = "#A1A1A1"
|
||||
base[PRELIGHT] = "#A1A1A1"
|
||||
@ -161,7 +159,7 @@ style "metacity-frame" {
|
||||
bg[SELECTED] = "#5c82b5"
|
||||
}
|
||||
|
||||
style "theme-slab" = "theme-default" {
|
||||
style "clearlooks-slab" = "clearlooks-default" {
|
||||
bg[SELECTED] = "#84b0da"
|
||||
bg[NORMAL] = "#fdfbf7"
|
||||
bg[ACTIVE] = "#e9eef5"
|
||||
@ -169,11 +167,11 @@ style "theme-slab" = "theme-default" {
|
||||
fg[INSENSITIVE] = "#5c8dbf"
|
||||
}
|
||||
|
||||
style "theme-slab-group" = "theme-default" {
|
||||
style "clearlooks-slab-group" = "clearlooks-default" {
|
||||
#bg[SELECTED] = "#adc09b" # Slab group text
|
||||
}
|
||||
|
||||
style "theme-shell" = "theme-default" {
|
||||
style "clearlooks-shell" = "clearlooks-default" {
|
||||
bg[ACTIVE] = "#e9eef5" # Left side bg color
|
||||
fg[NORMAL] = "#5c8dbf" # Left side text color
|
||||
fg[INSENSITIVE] = "#bdcce1" # Left side line
|
||||
@ -189,53 +187,47 @@ style "evolution-hack" = "clearlooks-default" {
|
||||
fg[SELECTED] = "#ffffff"
|
||||
}
|
||||
|
||||
style "theme-shell-highlight" = "theme-default" {
|
||||
style "clearlooks-shell-highlight" = "clearlooks-default" {
|
||||
}
|
||||
|
||||
style "extra-view" {
|
||||
bg[NORMAL] = "#729fcf"
|
||||
font = "Sans 6"
|
||||
}
|
||||
|
||||
style "rox" = "theme-default" {
|
||||
style "rox" = "clearlooks-default" {
|
||||
bg[NORMAL] = "#ffffff"
|
||||
bg[ACTIVE] = "#ffffff"
|
||||
fg[NORMAL] = "#000000"
|
||||
fg[ACTIVE] = "#000000"
|
||||
}
|
||||
|
||||
class "GtkWidget" style "theme-default"
|
||||
class "GtkButton" style "theme-button"
|
||||
class "GtkCombo" style "theme-button"
|
||||
class "GtkRange" style "theme-wide"
|
||||
class "GtkFrame" style "theme-wide"
|
||||
class "GtkMenu" style "theme-menu"
|
||||
class "GtkEntry" style "theme-button"
|
||||
class "GtkMenuItem" style "theme-menu-item"
|
||||
class "GtkStatusbar" style "theme-wide"
|
||||
class "GtkNotebook" style "theme-notebook"
|
||||
class "GtkProgressBar" style "theme-progressbar"
|
||||
class "GtkCheckButton" style "theme-check"
|
||||
class "GtkRadioButton" style "theme-check"
|
||||
class "GtkWidget" style "clearlooks-default"
|
||||
class "GtkButton" style "clearlooks-button"
|
||||
class "GtkCombo" style "clearlooks-button"
|
||||
class "GtkRange" style "clearlooks-wide"
|
||||
class "GtkFrame" style "clearlooks-wide"
|
||||
class "GtkMenu" style "clearlooks-menu"
|
||||
class "GtkEntry" style "clearlooks-button"
|
||||
class "GtkMenuItem" style "clearlooks-menu-item"
|
||||
class "GtkStatusbar" style "clearlooks-wide"
|
||||
class "GtkNotebook" style "clearlooks-notebook"
|
||||
class "GtkProgressBar" style "clearlooks-progressbar"
|
||||
class "GtkCheckButton" style "clearlooks-check"
|
||||
class "GtkRadioButton" style "clearlooks-check"
|
||||
|
||||
widget_class "*MenuItem.*" style "theme-menu-item"
|
||||
widget_class "*.GtkComboBox.GtkButton" style "theme-combo"
|
||||
widget_class "*.GtkCombo.GtkButton" style "theme-combo"
|
||||
widget_class "*.tooltips.*.GtkToggleButton" style "theme-tasklist"
|
||||
widget "gtk-tooltip" style "theme-tooltips"
|
||||
widget_class "*.GtkTreeView.GtkButton" style "theme-tree"
|
||||
widget_class "*.GtkCTree.GtkButton" style "theme-tree"
|
||||
widget_class "*.GtkList.GtkButton" style "theme-tree"
|
||||
widget_class "*.GtkCList.GtkButton" style "theme-tree"
|
||||
widget_class "*.GtkFrame.GtkLabel" style "theme-frame-title"
|
||||
widget_class "*.GtkNotebook.*.GtkEventBox" style "theme-notebook"
|
||||
widget_class "*.GtkNotebook.*.GtkViewport" style "theme-notebook"
|
||||
widget_class "*MenuItem.*" style "clearlooks-menu-item"
|
||||
widget_class "*.GtkComboBox.GtkButton" style "clearlooks-combo"
|
||||
widget_class "*.GtkCombo.GtkButton" style "clearlooks-combo"
|
||||
widget_class "*.tooltips.*.GtkToggleButton" style "clearlooks-tasklist"
|
||||
widget "gtk-tooltip" style "clearlooks-tooltips"
|
||||
widget_class "*.GtkTreeView.GtkButton" style "clearlooks-tree"
|
||||
widget_class "*.GtkCTree.GtkButton" style "clearlooks-tree"
|
||||
widget_class "*.GtkList.GtkButton" style "clearlooks-tree"
|
||||
widget_class "*.GtkCList.GtkButton" style "clearlooks-tree"
|
||||
widget_class "*.GtkFrame.GtkLabel" style "clearlooks-frame-title"
|
||||
widget_class "*.GtkNotebook.*.GtkEventBox" style "clearlooks-notebook"
|
||||
widget_class "*.GtkNotebook.*.GtkViewport" style "clearlooks-notebook"
|
||||
class "MetaFrames" style "metacity-frame"
|
||||
widget_class "BasePWidget.GtkEventBox.GtkTable.GtkFrame" style "theme-panel"
|
||||
widget "*.nautilus-extra-view-widget" style:highest "extra-view"
|
||||
class "SlabWindow" style "theme-slab"
|
||||
class "ShellWindow" style "theme-shell"
|
||||
widget_class "ShellWindow.*.GtkEventBox" style "theme-shell-highlight"
|
||||
widget_class "BasePWidget.GtkEventBox.GtkTable.GtkFrame" style "clearlooks-panel"
|
||||
class "SlabWindow" style "clearlooks-slab"
|
||||
class "ShellWindow" style "clearlooks-shell"
|
||||
widget_class "ShellWindow.*.GtkEventBox" style "clearlooks-shell-highlight"
|
||||
widget_class "*GtkCTree*" style "evolution-hack"
|
||||
widget_class "*GtkList*" style "evolution-hack"
|
||||
widget_class "*GtkCList*" style "evolution-hack"
|
||||
|
@ -22,17 +22,8 @@
|
||||
# Modified by Wyatt Olson.
|
||||
|
||||
# Sneaking through the code are we.? ;)
|
||||
style "clearlooks-default"
|
||||
{
|
||||
#This is actually just a non-existant font to force RT to load
|
||||
# the default system font. On OSX the GTK default will show some
|
||||
# incorrect ligatures (e.g., fi is interpreted as the double dagger
|
||||
# symbol), but by reverting to system default it works. You could
|
||||
# actually use any non-font here and it will work, e.g. "Foo". To
|
||||
# change it to use an actual font, enter the full name of the font
|
||||
# here, along with optional style and size, e.g.
|
||||
# "Monaco Bold 15".
|
||||
font_name = "sans 10"
|
||||
|
||||
style "clearlooks-default" {
|
||||
|
||||
GtkRange::trough_border = 0
|
||||
GtkRange::slider_width = 14
|
||||
|
@ -21,9 +21,8 @@
|
||||
# Created by Richard Stellingwerff, Emil Jacobs and Daniel Borgmann.
|
||||
|
||||
|
||||
style "clearlooks-default"
|
||||
{
|
||||
font_name = "sans 8"
|
||||
style "clearlooks-default" {
|
||||
|
||||
GtkButton ::default_border = { 0, 0, 0, 0 }
|
||||
GtkRange ::trough_border = 0
|
||||
GtkPaned ::handle_size = 6
|
||||
|
453
rtdata/themes/Unity_Gray
Normal file
453
rtdata/themes/Unity_Gray
Normal file
@ -0,0 +1,453 @@
|
||||
# Set GtkSettings color scheme property.
|
||||
# This can be overriden (via an xsetting) with eg. the gnome-appearance-properties.
|
||||
gtk_color_scheme = "fg_color:#0A0A0A\nbg_color:#A1A1A1\nbase_color:#dddddd\ntext_color:#000\nselected_bg_color:#95B0DB\nselected_fg_color:#fff\ntooltip_bg_color:#F5F5B5\ntooltip_fg_color:#000"
|
||||
|
||||
style "clearlooks-default"
|
||||
{
|
||||
########
|
||||
# Style Properties
|
||||
########
|
||||
GtkButton ::child-displacement-x = 1
|
||||
GtkButton ::child-displacement-y = 1
|
||||
GtkButton ::default-border = { 0, 0, 0, 0 }
|
||||
GtkCheckButton ::indicator-size = 14
|
||||
|
||||
GtkPaned ::handle-size = 6
|
||||
|
||||
GtkRange ::trough-border = 0
|
||||
GtkRange ::slider-width = 15
|
||||
GtkRange ::stepper-size = 15
|
||||
|
||||
GtkScale ::slider-length = 23
|
||||
GtkScale ::trough-side-details = 1
|
||||
GtkScrollbar ::min-slider-length = 30
|
||||
|
||||
GtkMenuBar ::internal-padding = 0
|
||||
GtkExpander ::expander-size = 14
|
||||
GtkToolbar ::internal-padding = 1
|
||||
GtkTreeView ::expander-size = 12
|
||||
GtkTreeView ::vertical-separator = 0
|
||||
|
||||
GtkMenu ::horizontal-padding = 0
|
||||
GtkMenu ::vertical-padding = 0
|
||||
|
||||
# Glow the tasklist by changing the color, instead of overlaying it with a rectangle
|
||||
WnckTasklist ::fade-overlay-rect = 0
|
||||
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
|
||||
|
||||
fg[NORMAL] = @fg_color
|
||||
fg[PRELIGHT] = @fg_color
|
||||
fg[SELECTED] = @selected_fg_color
|
||||
fg[ACTIVE] = @fg_color
|
||||
fg[INSENSITIVE] = darker (@bg_color)
|
||||
|
||||
bg[NORMAL] = @bg_color
|
||||
bg[PRELIGHT] = shade (1.02, @bg_color)
|
||||
bg[SELECTED] = @selected_bg_color
|
||||
bg[INSENSITIVE] = @bg_color
|
||||
bg[ACTIVE] = shade (0.9, @bg_color)
|
||||
|
||||
base[NORMAL] = @base_color
|
||||
base[PRELIGHT] = shade (0.95, @bg_color)
|
||||
base[ACTIVE] = shade (0.9, @selected_bg_color)
|
||||
base[SELECTED] = @selected_bg_color
|
||||
base[INSENSITIVE] = @bg_color
|
||||
|
||||
text[NORMAL] = @text_color
|
||||
text[PRELIGHT] = @text_color
|
||||
text[ACTIVE] = @selected_fg_color
|
||||
text[SELECTED] = @selected_fg_color
|
||||
text[INSENSITIVE] = darker (@bg_color)
|
||||
|
||||
engine "clearlooks"
|
||||
{
|
||||
colorize_scrollbar = TRUE
|
||||
reliefstyle = 1
|
||||
menubarstyle = 2 # 0 = flat, 1 = sunken, 2 = flat gradient
|
||||
toolbarstyle = 1 # 0 = flat, 1 = enable effects
|
||||
animation = FALSE
|
||||
style = GUMMY
|
||||
radius = 4.0
|
||||
|
||||
# Set a hint to disable backward compatibility fallbacks.
|
||||
hint = "use-hints"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-wide"
|
||||
{
|
||||
xthickness = 2
|
||||
ythickness = 2
|
||||
}
|
||||
|
||||
style "clearlooks-wider"
|
||||
{
|
||||
xthickness = 3
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "clearlooks-button"
|
||||
{
|
||||
xthickness = 3
|
||||
ythickness = 3
|
||||
|
||||
bg[NORMAL] = shade (1.07, @bg_color)
|
||||
bg[PRELIGHT] = shade (1.09, @bg_color)
|
||||
bg[ACTIVE] = shade (0.85, @bg_color)
|
||||
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "scrollbar"
|
||||
radius = 5.0
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-notebook-bg"
|
||||
{
|
||||
bg[NORMAL] = shade (1.05, @bg_color)
|
||||
bg[ACTIVE] = shade (0.98, @bg_color)
|
||||
}
|
||||
|
||||
style "clearlooks-notebook" = "clearlooks-notebook-bg"
|
||||
{
|
||||
xthickness = 3
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "clearlooks-tasklist"
|
||||
{
|
||||
xthickness = 5
|
||||
ythickness = 3
|
||||
}
|
||||
|
||||
style "clearlooks-menu"
|
||||
{
|
||||
xthickness = 0
|
||||
ythickness = 0
|
||||
|
||||
bg[NORMAL] = shade (1.09, @bg_color)
|
||||
|
||||
# Radius of the menu items (inside menus)
|
||||
engine "clearlooks"
|
||||
{
|
||||
radius = 0.0
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-menu-item"
|
||||
{
|
||||
xthickness = 2
|
||||
ythickness = 3
|
||||
|
||||
fg[PRELIGHT] = @selected_fg_color
|
||||
}
|
||||
|
||||
style "clearlooks-separator-menu-item"
|
||||
{
|
||||
GtkSeparatorMenuItem::horizontal-padding = 0
|
||||
# We are setting the desired height by using wide-separators
|
||||
# There is no other way to get the odd height ...
|
||||
GtkWidget::wide-separators = 1
|
||||
GtkWidget::separator-width = 1
|
||||
GtkWidget::separator-height = 5
|
||||
xthickness = 1
|
||||
ythickness = 0
|
||||
}
|
||||
|
||||
style "clearlooks-treeview"
|
||||
{
|
||||
engine "clearlooks" {
|
||||
hint = "treeview"
|
||||
}
|
||||
}
|
||||
|
||||
# Based on the default style so that the colors from the button
|
||||
# style are overriden again.
|
||||
style "clearlooks-treeview-header" = "clearlooks-default"
|
||||
{
|
||||
xthickness = 2
|
||||
ythickness = 1
|
||||
|
||||
bg[NORMAL] = shade (1.07, @bg_color)
|
||||
|
||||
engine "clearlooks" {
|
||||
hint = "treeview-header"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-frame-title"
|
||||
{
|
||||
fg[NORMAL] = lighter (@fg_color)
|
||||
}
|
||||
|
||||
style "clearlooks-tooltips"
|
||||
{
|
||||
xthickness = 4
|
||||
ythickness = 4
|
||||
|
||||
bg[NORMAL] = @tooltip_bg_color
|
||||
fg[NORMAL] = @tooltip_fg_color
|
||||
}
|
||||
|
||||
style "clearlooks-progressbar"
|
||||
{
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
|
||||
fg[PRELIGHT] = @selected_fg_color
|
||||
|
||||
engine "clearlooks"
|
||||
{
|
||||
# Explicitly set the radius, for progress
|
||||
# bars inside menuitems
|
||||
radius = 3.0
|
||||
|
||||
hint = "progressbar"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-statusbar"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "statusbar"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-comboboxentry"
|
||||
{
|
||||
# NOTE:
|
||||
# If you set the appears-as-list option on comboboxes in the theme
|
||||
# you should set this hint on the combobox instead.
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "comboboxentry"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-spinbutton"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "spinbutton"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-scale-bg"
|
||||
{
|
||||
bg[NORMAL] = shade (1.07, @bg_color)
|
||||
bg[PRELIGHT] = shade (1.09, @bg_color)
|
||||
}
|
||||
|
||||
style "clearlooks-scale" = "clearlooks-scale-bg"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "scale"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-hscale" = "clearlooks-scale-bg"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "hscale"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-vscale" = "clearlooks-scale-bg"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "vscale"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-scrollbar"
|
||||
{
|
||||
bg[NORMAL] = shade (1.07, @bg_color)
|
||||
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "scrollbar"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-hscrollbar"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "hscrollbar"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-vscrollbar"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
hint = "vscrollbar"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-toolbar"
|
||||
{
|
||||
bg[NORMAL] = shade (1.07, @bg_color)
|
||||
|
||||
engine "clearlooks" {
|
||||
contrast = 1.16
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-menubar"
|
||||
{
|
||||
engine "clearlooks"
|
||||
{
|
||||
contrast = 1.1
|
||||
hint = "menubar"
|
||||
}
|
||||
}
|
||||
|
||||
style "clearlooks-nautilus-location"
|
||||
{
|
||||
bg[NORMAL] = mix(0.60, shade (1.05,@bg_color), @selected_bg_color)
|
||||
}
|
||||
|
||||
|
||||
#########################################
|
||||
# Matches
|
||||
#########################################
|
||||
|
||||
# Clearlooks default style is applied to every widget
|
||||
class "GtkWidget" style "clearlooks-default"
|
||||
|
||||
# Increase the x/ythickness in some widgets
|
||||
class "GtkToolbar" style "clearlooks-toolbar"
|
||||
class "GtkRange" style "clearlooks-wide"
|
||||
class "GtkFrame" style "clearlooks-wide"
|
||||
class "GtkSeparator" style "clearlooks-wide"
|
||||
class "GtkEntry" style "clearlooks-wider"
|
||||
|
||||
class "GtkSpinButton" style "clearlooks-spinbutton"
|
||||
class "GtkScale" style "clearlooks-scale"
|
||||
class "GtkVScale" style "clearlooks-vscale"
|
||||
class "GtkHScale" style "clearlooks-hscale"
|
||||
class "GtkScrollbar" style "clearlooks-scrollbar"
|
||||
class "GtkVScrollbar" style "clearlooks-vscrollbar"
|
||||
class "GtkHScrollbar" style "clearlooks-hscrollbar"
|
||||
|
||||
# General matching following, the order is choosen so that the right styles override each other
|
||||
# eg. progressbar needs to be more important then the menu match.
|
||||
|
||||
# This is not perfect, it could be done better
|
||||
# (That is modify *every* widget in the notebook, and change those back that
|
||||
# we really don't want changed)
|
||||
widget_class "*<GtkNotebook>*<GtkEventBox>" style "clearlooks-notebook-bg"
|
||||
widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "clearlooks-notebook-bg"
|
||||
widget_class "*<GtkNotebook>*<GtkLayout>" style "clearlooks-notebook-bg"
|
||||
|
||||
widget_class "*<GtkButton>" style "clearlooks-button"
|
||||
widget_class "*<GtkNotebook>" style "clearlooks-notebook"
|
||||
widget_class "*<GtkStatusbar>*" style "clearlooks-statusbar"
|
||||
|
||||
widget_class "*<GtkComboBoxEntry>*" style "clearlooks-comboboxentry"
|
||||
widget_class "*<GtkCombo>*" style "clearlooks-comboboxentry"
|
||||
|
||||
widget_class "*<GtkMenuBar>*" style "clearlooks-menubar"
|
||||
widget_class "*<GtkMenu>*" style "clearlooks-menu"
|
||||
widget_class "*<GtkMenuItem>*" style "clearlooks-menu-item"
|
||||
widget_class "*<GtkSeparatorMenuItem>*" style "clearlooks-separator-menu-item"
|
||||
|
||||
widget_class "*.<GtkFrame>.<GtkLabel>" style "clearlooks-frame-title"
|
||||
widget_class "*.<GtkTreeView>*" style "clearlooks-treeview"
|
||||
|
||||
widget_class "*<GtkProgressBar>" style "clearlooks-progressbar"
|
||||
|
||||
# Treeview header
|
||||
widget_class "*.<GtkTreeView>.<GtkButton>" style "clearlooks-treeview-header"
|
||||
widget_class "*.<GtkCTree>.<GtkButton>" style "clearlooks-treeview-header"
|
||||
widget_class "*.<GtkList>.<GtkButton>" style "clearlooks-treeview-header"
|
||||
widget_class "*.<GtkCList>.<GtkButton>" style "clearlooks-treeview-header"
|
||||
|
||||
# Workarounds for Evolution
|
||||
widget_class "*.ETable.ECanvas" style "clearlooks-treeview-header"
|
||||
widget_class "*.ETree.ECanvas" style "clearlooks-treeview-header"
|
||||
|
||||
# The window of the tooltip is called "gtk-tooltip"
|
||||
################################
|
||||
# FIXME:
|
||||
# This will not work if one embeds eg. a button into the tooltip.
|
||||
# As far as I can tell right now we will need to rework the theme
|
||||
# quite a bit to get this working correctly.
|
||||
# (It will involve setting different priorities, etc.)
|
||||
################################
|
||||
widget "gtk-tooltip*" style "clearlooks-tooltips"
|
||||
|
||||
###################################################
|
||||
# Special cases and work arounds
|
||||
###################################################
|
||||
|
||||
# Special case the nautilus-extra-view-widget
|
||||
# ToDo: A more generic approach for all applications that have a widget like this.
|
||||
widget "*.nautilus-extra-view-widget" style : highest "clearlooks-nautilus-location"
|
||||
|
||||
# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
|
||||
# Note that the work around assumes that the combobox is _not_ in
|
||||
# appears-as-list mode.
|
||||
# Similar hack also in the menuitem style.
|
||||
# This style does not affect GtkComboBoxEntry, it does have an effect
|
||||
# on comboboxes in appears-as-list mode though.
|
||||
style "clearlooks-text-is-fg-color-workaround"
|
||||
{
|
||||
text[NORMAL] = @fg_color
|
||||
text[PRELIGHT] = @fg_color
|
||||
text[SELECTED] = @selected_fg_color
|
||||
text[ACTIVE] = @fg_color
|
||||
text[INSENSITIVE] = darker (@bg_color)
|
||||
}
|
||||
widget_class "*.<GtkComboBox>.<GtkCellView>" style "clearlooks-text-is-fg-color-workaround"
|
||||
|
||||
style "clearlooks-menuitem-text-is-fg-color-workaround"
|
||||
{
|
||||
text[NORMAL] = @fg_color
|
||||
text[PRELIGHT] = @selected_fg_color
|
||||
text[SELECTED] = @selected_fg_color
|
||||
text[ACTIVE] = @fg_color
|
||||
text[INSENSITIVE] = darker (@bg_color)
|
||||
}
|
||||
widget "*.gtk-combobox-popup-menu.*" style "clearlooks-menuitem-text-is-fg-color-workaround"
|
||||
|
||||
# Work around the usage of GtkLabel inside GtkListItems to display text.
|
||||
# This breaks because the label is shown on a background that is based on the
|
||||
# base color set.
|
||||
style "clearlooks-fg-is-text-color-workaround"
|
||||
{
|
||||
fg[NORMAL] = @text_color
|
||||
fg[PRELIGHT] = @text_color
|
||||
fg[ACTIVE] = @selected_fg_color
|
||||
fg[SELECTED] = @selected_fg_color
|
||||
fg[INSENSITIVE] = darker (@bg_color)
|
||||
}
|
||||
widget_class "*<GtkListItem>*" style "clearlooks-fg-is-text-color-workaround"
|
||||
# The same problem also exists for GtkCList and GtkCTree
|
||||
# Only match GtkCList and not the parent widgets, because that would also change the headers.
|
||||
widget_class "*<GtkCList>" style "clearlooks-fg-is-text-color-workaround"
|
||||
|
||||
# Work around the evolution "New" button bug by making the toolbar flat.
|
||||
# http://bugzilla.gnome.org/show_bug.cgi?id=446953
|
||||
# Maybe remove this workaround in unstable releases.
|
||||
style "clearlooks-evo-new-button-workaround"
|
||||
{
|
||||
GtkMenuBar ::shadow-type = GTK_SHADOW_NONE
|
||||
GtkToolbar ::shadow-type = GTK_SHADOW_NONE
|
||||
|
||||
bg[NORMAL] = @bg_color
|
||||
|
||||
engine "clearlooks"
|
||||
{
|
||||
toolbarstyle = 0
|
||||
}
|
||||
}
|
||||
widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "clearlooks-evo-new-button-workaround"
|
@ -382,8 +382,8 @@ void RawImageSource::CA_correct_RT() {
|
||||
|
||||
// along line segments, find the point along each segment that minimizes the color variance
|
||||
// averaged over the tile; evaluate for up/down and left/right away from R/B grid point
|
||||
for (rr=8; rr < rr1-8; rr++)
|
||||
for (cc=8+(FC(rr,2)&1), indx=rr*TS+cc, c = FC(rr,cc); cc < cc1-8; cc+=2, indx+=2) {
|
||||
for (rr=rrmin+8; rr < rrmax-8; rr++)
|
||||
for (cc=ccmin+8+(FC(rr,2)&1), indx=rr*TS+cc, c = FC(rr,cc); cc < ccmax-8; cc+=2, indx+=2) {
|
||||
|
||||
if (rgb[indx][c]>0.8*clip_pt || Gtmp[indx]>0.8*clip_pt) continue;
|
||||
|
||||
@ -422,7 +422,9 @@ void RawImageSource::CA_correct_RT() {
|
||||
for (c=0; c<3; c+=2){
|
||||
for (j=0; j<2; j++) {// vert/hor
|
||||
//printf("hblock %d vblock %d j %d c %d areawt %d \n",hblock,vblock,j,c,areawt[j][c]);
|
||||
if (areawt[j][c]>500) {
|
||||
//printf("hblock %d vblock %d j %d c %d areawt %d ",hblock,vblock,j,c,areawt[j][c]);
|
||||
|
||||
if (areawt[j][c]>0) {
|
||||
CAshift[j][c]=coeff[j][1][c]/coeff[j][2][c];
|
||||
blockwt[vblock*hblsz+hblock]= areawt[j][c];//*coeff[j][2][c]/(eps+coeff[j][0][c]) ;
|
||||
} else {
|
||||
@ -430,6 +432,8 @@ void RawImageSource::CA_correct_RT() {
|
||||
blockwt[vblock*hblsz+hblock]=0;
|
||||
}
|
||||
|
||||
//printf("%f \n",CAshift[j][c]);
|
||||
|
||||
//CAshift[j][c]=coeff[j][1][c]/coeff[j][2][c];
|
||||
//blockwt[vblock*hblsz+hblock] = (float)(rr1-8)*(cc1-8)/4 * coeff[j][2][c]/(eps+coeff[j][0][c]) ;
|
||||
|
||||
@ -482,7 +486,7 @@ void RawImageSource::CA_correct_RT() {
|
||||
}
|
||||
}
|
||||
|
||||
//if (verbose) fprintf (stderr,_("tile variances %f %f %f %f \n"),blockvar[0][0],blockvar[1][0],blockvar[0][2],blockvar[1][2] );
|
||||
//printf ("tile variances %f %f %f %f \n",blockvar[0][0],blockvar[1][0],blockvar[0][2],blockvar[1][2] );
|
||||
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -2,7 +2,7 @@
|
||||
include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../rtexif
|
||||
${EXTRA_INCDIR} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS}
|
||||
${GLIBMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../rtgui ${GTKMM_INCLUDE_DIRS})
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../rtgui ${GTKMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS})
|
||||
link_directories (${CMAKE_CURRENT_SOURCE_DIR}/../rtexif ${EXTRA_LIBDIR} ${GTHREAD_LIBRARY_DIRS}
|
||||
${GOBJECT_LIBRARY_DIRS} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
|
||||
${IPTCDATA_LIBRARY_DIRS} ${LCMS_LIBRARY_DIRS})
|
||||
@ -13,6 +13,7 @@ set (RTENGINESOURCEFILES colortemp.cc curves.cc dcraw.cc iccstore.cc dfmanager.c
|
||||
stdimagesource.cc myfile.cc iccjpeg.c hlmultipliers.cc improccoordinator.cc
|
||||
processingjob.cc rtthumbnail.cc utils.cc labimage.cc slicer.cc
|
||||
iplab2rgb.cc ipsharpen.cc iptransform.cc ipresize.cc
|
||||
jpeg_memsrc.c
|
||||
wavelet_dec.cc ipequalizer.cc dirpyrLab_denoise.cc dirpyrLab_equalizer.cc dirpyr_equalizer.cc)
|
||||
|
||||
add_library (rtengine ${RTENGINESOURCEFILES})
|
||||
|
@ -334,9 +334,11 @@ template<class T, class A> void bilateral25 (T** src, T** dst, T** buffer, int W
|
||||
|
||||
// main bilateral filter
|
||||
template<class T, class A> void bilateral (T** src, T** dst, T** buffer, int W, int H, double sigma, double sens, bool multiThread) {
|
||||
|
||||
if (sigma<0.45)
|
||||
#pragma omp parallel for if (multiThread)
|
||||
//parallel if (multiThread)
|
||||
if (sigma<0.45)
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++) {
|
||||
memcpy (buffer[i], src[i], W*sizeof(T));
|
||||
memcpy (dst[i], buffer[i], W*sizeof(T));
|
||||
|
@ -64,7 +64,9 @@ void RawImageSource::CLASS cfa_linedn(float noise)
|
||||
int ex, ey;
|
||||
int verbose=1;
|
||||
|
||||
float eps=1e-10; //tolerance to avoid dividing by zero
|
||||
const float clip_pt = 0.8*ri->defgain;
|
||||
|
||||
float eps=1e-5; //tolerance to avoid dividing by zero
|
||||
|
||||
float gauss[5] = {0.20416368871516755, 0.18017382291138087, 0.1238315368057753, 0.0662822452863612, 0.02763055063889883};
|
||||
float rolloff[8] = {0, 0.135335, 0.249352, 0.411112, 0.606531, 0.800737, 0.945959, 1}; //gaussian with sigma=3
|
||||
@ -189,7 +191,8 @@ void RawImageSource::CLASS cfa_linedn(float noise)
|
||||
for (rr=16; rr < numrows-16; rr++) {
|
||||
row = rr + top;
|
||||
for (col=16+left, indx=rr*TS+16; indx < rr*TS+numcols-16; indx++, col++) {
|
||||
rawData[row][col] = CLIP((int)(cfadn[indx]+ 0.5));
|
||||
if (rawData[row][col]<clip_pt && cfadn[indx]<clip_pt)
|
||||
rawData[row][col] = CLIP((int)(cfadn[indx]+ 0.5));
|
||||
}
|
||||
}
|
||||
if(plistener) plistener->setProgress(fabs((float)top/height));
|
||||
|
@ -51,7 +51,8 @@ Curve::Curve (const std::vector<double>& p, int poly_pn) : x(NULL), y(NULL), ypp
|
||||
if (kind==Spline)
|
||||
spline_cubic_set ();
|
||||
else if (kind==NURBS && N > 2)
|
||||
NURBS_set ();
|
||||
NURBS_set ();
|
||||
else kind=Linear;
|
||||
}
|
||||
else if (kind==Parametric) {
|
||||
if (p.size()!=8 && p.size()!=9)
|
||||
@ -110,7 +111,7 @@ void Curve::NURBS_set () {
|
||||
|
||||
std::vector<double> sc_x(nbSubCurvesPoints); // X sub-curve points ( XP0,XP1,XP2, XP2,XP3,XP4, ...)
|
||||
std::vector<double> sc_y(nbSubCurvesPoints); // Y sub-curve points ( YP0,YP1,YP2, YP2,YP3,YP4, ...)
|
||||
std::vector<double> sc_length(N-2); // Length of the subcurves
|
||||
std::vector<double> sc_length(N+2); // Length of the subcurves
|
||||
double total_length=0.;
|
||||
|
||||
// Create the list of Bezier sub-curves
|
||||
@ -120,6 +121,8 @@ void Curve::NURBS_set () {
|
||||
int k = 0;
|
||||
for (int i = 0; i < N-1;) {
|
||||
double length;
|
||||
double dx;
|
||||
double dy;
|
||||
|
||||
// first point (on the curve)
|
||||
if (!i) {
|
||||
@ -146,7 +149,9 @@ void Curve::NURBS_set () {
|
||||
sc_x[j] = (x[i-1] + x[i]) / 2.;
|
||||
sc_y[j] = (y[i-1] + y[i]) / 2.;
|
||||
}
|
||||
length += sqrt(pow(sc_x[j] - sc_x[j-1],2) + pow(sc_y[j] - sc_y[j-1],2));
|
||||
dx = sc_x[j] - sc_x[j-1];
|
||||
dy = sc_y[j] - sc_y[j-1];
|
||||
length += sqrt(dx*dx + dy*dy);
|
||||
j++;
|
||||
|
||||
// Storing the length of all sub-curves and the total length (to have a better distribution
|
||||
@ -155,24 +160,24 @@ void Curve::NURBS_set () {
|
||||
total_length += length;
|
||||
}
|
||||
|
||||
unsigned int total_points = 0;
|
||||
for (unsigned int i=0; i < sc_x.size(); i+=3) {
|
||||
total_points += (int)(((double)ppn+N-2) * sc_length[i/3] / total_length) + (i==0 ? 1 : 0) - 1;
|
||||
}
|
||||
poly_x.resize(total_points);
|
||||
poly_y.resize(total_points);
|
||||
|
||||
poly_x.clear();
|
||||
poly_y.clear();
|
||||
unsigned int sc_xsize=j-1;
|
||||
j = 0;
|
||||
// create the polyline with the number of points adapted to the X range of the sub-curve
|
||||
for (unsigned int i=0; i < sc_x.size(); i+=3) {
|
||||
for (unsigned int i=0; i < sc_xsize /*sc_x.size()*/; i+=3) {
|
||||
// TODO: Speeding-up the interface by caching the polyline, instead of rebuilding it at each action on sliders !!!
|
||||
int nbr_points = (int)(((double)ppn+N-2) * sc_length[i/3] / total_length);
|
||||
|
||||
int nbr_points = (int)(((double)(ppn+N-2) * sc_length[i/3] )/ total_length);
|
||||
if (nbr_points<0){
|
||||
for(int it=0;it < sc_x.size(); it+=3) printf("sc_length[%d/3]=%f \n",it,sc_length[it/3]);
|
||||
printf("NURBS: error detected!\n i=%d nbr_points=%d ppn=%d N=%d sc_length[i/3]=%f total_length=%f",i,nbr_points,ppn,N,sc_length[i/3],total_length);
|
||||
exit(0);
|
||||
}
|
||||
// increment along the curve, not along the X axis
|
||||
double increment = 1.0 / (double)(nbr_points-1);
|
||||
if (!i) {
|
||||
poly_x[j ] = sc_x[i];
|
||||
poly_y[j++] = sc_y[i];
|
||||
poly_x.push_back( sc_x[i]);
|
||||
poly_y.push_back(sc_y[i]);
|
||||
}
|
||||
for (k=1; k<(nbr_points-1); k++) {
|
||||
double t = k*increment;
|
||||
@ -182,12 +187,12 @@ void Curve::NURBS_set () {
|
||||
double tr2t = tr*2*t;
|
||||
|
||||
// adding a point to the polyline
|
||||
poly_x[j ] = tr2*sc_x[i] + tr2t*sc_x[i+1] + t2*sc_x[i+2];
|
||||
poly_y[j++] = tr2*sc_y[i] + tr2t*sc_y[i+1] + t2*sc_y[i+2];
|
||||
poly_x.push_back( tr2*sc_x[i] + tr2t*sc_x[i+1] + t2*sc_x[i+2]);
|
||||
poly_y.push_back( tr2*sc_y[i] + tr2t*sc_y[i+1] + t2*sc_y[i+2]);
|
||||
}
|
||||
// adding the last point of the sub-curve
|
||||
poly_x[j ] = sc_x[i+2];
|
||||
poly_y[j++] = sc_y[i+2];
|
||||
poly_x.push_back( sc_x[i+2]);
|
||||
poly_y.push_back(sc_y[i+2]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -417,8 +422,11 @@ if (igamma) {
|
||||
delete [] dcurve;
|
||||
}*/
|
||||
|
||||
/*
|
||||
void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, double shcompr, double br, double contr, double defmul, double gamma_, bool igamma, const std::vector<double>& curvePoints, unsigned int* histogram, int* outCurve, unsigned int* outBeforeCCurveHistogram, int skip) {
|
||||
|
||||
printf ("ecomp= %f black= %f hlcompr= %f shcompr= %f br= %f contr= %f defmul= %f gamma= %f, skip= %d \n",ecomp,black,hlcompr,shcompr,br,contr,defmul,gamma_,skip);
|
||||
|
||||
double def_mul = pow (2.0, defmul);
|
||||
|
||||
// compute parameters of the gamma curve
|
||||
@ -428,7 +436,7 @@ void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, dou
|
||||
double add = 0.099;
|
||||
|
||||
// theoretical maximum of the curve
|
||||
double D = /* gamma_>0 ? gamma (def_mul, gamma_, start, slope, mul, add) : */ def_mul;
|
||||
double D = def_mul;
|
||||
|
||||
// a: slope of the curve, black: starting point at the x axis
|
||||
double a = pow (2.0, ecomp);
|
||||
@ -450,9 +458,6 @@ void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, dou
|
||||
// clear array that stores histogram valid before applying the custom curve
|
||||
if (outBeforeCCurveHistogram)
|
||||
memset (outBeforeCCurveHistogram, 0, 256*sizeof(int));
|
||||
|
||||
//float atmp=a;
|
||||
//a = 1;
|
||||
|
||||
for (int i=0; i<=0xffff; i+= i<0xffff-skip ? skip : 1 ) {
|
||||
|
||||
@ -461,13 +466,7 @@ void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, dou
|
||||
|
||||
// apply default multiplier (that is >1 if highlight recovery is on)
|
||||
val *= def_mul;
|
||||
|
||||
//exposure compensation
|
||||
//val *= atmp;
|
||||
//black *= atmp;
|
||||
//D *= atmp;
|
||||
|
||||
|
||||
|
||||
// apply base curve, thus, exposure compensation and black point with shadow and highlight protection
|
||||
val = basecurve (val, a, black, D, hlcompr/100.0, shcompr/100.0);
|
||||
|
||||
@ -539,7 +538,391 @@ void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, dou
|
||||
outCurve[i] = (int) (65535.0 * dcurve[i]);
|
||||
delete [] dcurve;
|
||||
}
|
||||
*/
|
||||
/*
|
||||
void CurveFactory::complexsgnCurve (double satclip, double satcompr, double saturation, double colormult, const std::vector<double>& curvePoints, int* outCurve, int skip) {
|
||||
|
||||
//colormult = chroma_scale for Lab manipulations
|
||||
|
||||
bool needsaturation = (saturation<-0.0001 || saturation>0.0001);
|
||||
|
||||
// curve without contrast
|
||||
double* dcurve = new double[65536];
|
||||
|
||||
// create a curve if needed
|
||||
Curve* tcurve = NULL;
|
||||
if (curvePoints.size()>0 && curvePoints[0]!=0)
|
||||
tcurve = new Curve (curvePoints, CURVES_MIN_POLY_POINTS/skip);
|
||||
|
||||
for (int i=0; i<=0xffff; i+= i<0xffff-skip ? skip : 1 ) {
|
||||
|
||||
// change to [0,1] range
|
||||
double val = (double)i / 65535.0;
|
||||
|
||||
// apply default multiplier (that is >1 if highlight recovery is on)
|
||||
val *= colormult;
|
||||
|
||||
// apply base curve, thus, exposure compensation and black point with shadow and highlight protection
|
||||
//val = basecurve (val, 1.0, 0, colormult, satcompr/100.0, satcompr/100.0);
|
||||
|
||||
// apply custom/parametric/NURBS curve, if any
|
||||
if (tcurve) {
|
||||
val = tcurve->getVal (val);
|
||||
}
|
||||
|
||||
// store result in a temporary array
|
||||
dcurve[i] = CLIPD(val);
|
||||
}
|
||||
delete tcurve;
|
||||
|
||||
// if skip>1, let apply linear interpolation in the skipped points of the curve
|
||||
int prev = 0;
|
||||
for (int i=1; i<=0xffff-skip; i++) {
|
||||
if (i%skip==0) {
|
||||
prev+=skip;
|
||||
continue;
|
||||
}
|
||||
dcurve[i] = ( dcurve[prev] * (skip - i%skip) + dcurve[prev+skip] * (i%skip) ) / skip;
|
||||
}
|
||||
|
||||
if (needsaturation) {
|
||||
float avg = 0.5;
|
||||
|
||||
// compute contrast parameter
|
||||
double saturation_b = saturation / 20;
|
||||
if (saturation_b>=0 && saturation_b < 0.00001)
|
||||
saturation_b = 0.00001;
|
||||
else if (saturation_b<0 && saturation_b > -0.00001)
|
||||
saturation_b = -0.00001;
|
||||
|
||||
// apply contrast enhancement
|
||||
for (int i=0; i<=0xffff; i++) {
|
||||
double val = centercontrast (dcurve[i], saturation_b, avg);
|
||||
outCurve[i] = (int) (65535.0 * CLIPD(val));
|
||||
}
|
||||
}
|
||||
else
|
||||
for (int i=0; i<=0xffff; i++)
|
||||
outCurve[i] = (int) (65535.0 * dcurve[i]);
|
||||
delete [] dcurve;
|
||||
}
|
||||
*/
|
||||
|
||||
void CurveFactory::complexsgnCurve (double satclip, double satcompr, double saturation, double colormult, const std::vector<double>& curvePoints, int* outCurve, int skip) {
|
||||
|
||||
//colormult = chroma_scale for Lab manipulations
|
||||
|
||||
// check if contrast curve is needed
|
||||
bool needsaturation = (saturation<-0.0001 || saturation>0.0001);
|
||||
|
||||
// curve without contrast
|
||||
double* dcurve = new double[65536];
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
std::vector<double> satcurvePoints;
|
||||
satcurvePoints.push_back((double)((CurveType)NURBS));
|
||||
if (saturation>0) {
|
||||
satcurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
satcurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
|
||||
satcurvePoints.push_back(0.25+saturation/500.0); //toe point
|
||||
satcurvePoints.push_back(0.25-saturation/500.0); //value at toe point
|
||||
|
||||
satcurvePoints.push_back(0.75-saturation/500.0); //shoulder point
|
||||
satcurvePoints.push_back(0.75+saturation/500.0); //value at shoulder point
|
||||
|
||||
satcurvePoints.push_back(1); // white point
|
||||
satcurvePoints.push_back(1); // value at white point
|
||||
} else {
|
||||
satcurvePoints.push_back(0);
|
||||
satcurvePoints.push_back(-0.5*(saturation/100.0));
|
||||
|
||||
satcurvePoints.push_back(1);
|
||||
satcurvePoints.push_back(1+saturation/200.0);
|
||||
}
|
||||
Curve* satcurve = NULL;
|
||||
satcurve = new Curve (satcurvePoints, CURVES_MIN_POLY_POINTS/skip); // Actually, CURVES_MIN_POLY_POINTS = 1000,
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
// create a curve if needed
|
||||
Curve* tcurve = NULL;
|
||||
if (curvePoints.size()>0 && curvePoints[0]!=0)
|
||||
tcurve = new Curve (curvePoints, CURVES_MIN_POLY_POINTS/skip);
|
||||
|
||||
for (int i=0; i<=0xffff; i+= i<0xffff-skip ? skip : 1 ) {
|
||||
|
||||
// change to [0,1] range
|
||||
double val = (double)i / 65535.0;
|
||||
|
||||
// apply default multiplier (that is >1 if highlight recovery is on)
|
||||
val *= colormult;
|
||||
|
||||
// apply saturation curve
|
||||
if (needsaturation)
|
||||
val = satcurve->getVal (val);
|
||||
|
||||
// apply custom/parametric/NURBS curve, if any
|
||||
if (tcurve) {
|
||||
val = tcurve->getVal (val);
|
||||
}
|
||||
|
||||
// store result in a temporary array
|
||||
dcurve[i] = CLIPD(val);
|
||||
}
|
||||
delete tcurve;
|
||||
|
||||
// if skip>1, let apply linear interpolation in the skipped points of the curve
|
||||
int prev = 0;
|
||||
for (int i=1; i<=0xffff-skip; i++) {
|
||||
if (i%skip==0) {
|
||||
prev+=skip;
|
||||
continue;
|
||||
}
|
||||
dcurve[i] = ( dcurve[prev] * (skip - i%skip) + dcurve[prev+skip] * (i%skip) ) / skip;
|
||||
}
|
||||
|
||||
for (int i=0; i<=0xffff; i++)
|
||||
outCurve[i] = (int) (65535.0 * dcurve[i]);
|
||||
delete [] dcurve;
|
||||
delete satcurve;
|
||||
}
|
||||
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, double shcompr, double br, double contr, double defmul, double gamma_, bool igamma, const std::vector<double>& curvePoints, unsigned int* histogram, int* outCurve1, int* outCurve2, unsigned int* outBeforeCCurveHistogram, int skip) {
|
||||
|
||||
double def_mul = pow (2.0, defmul);
|
||||
|
||||
//printf ("def_mul= %f ecomp= %f black= %f hlcompr= %f shcompr= %f br= %f contr= %f defmul= %f gamma= %f, skip= %d \n",def_mul,ecomp,black,hlcompr,shcompr,br,contr,defmul,gamma_,skip);
|
||||
|
||||
// compute parameters of the gamma curve
|
||||
double start = exp(gamma_*log( -0.099 / ((1.0/gamma_-1.0)*1.099 )));
|
||||
double slope = 1.099 * pow (start, 1.0/gamma_-1) - 0.099/start;
|
||||
double mul = 1.099;
|
||||
double add = 0.099;
|
||||
|
||||
// a: slope of the curve, black: starting point at the x axis
|
||||
double a = pow (2.0, ecomp);
|
||||
|
||||
// curve without contrast
|
||||
double* dcurve = new double[65536];
|
||||
|
||||
// check if contrast curve is needed
|
||||
bool needcontrast = contr>0.00001 || contr<-0.00001;
|
||||
|
||||
// check if inverse gamma is needed at the end
|
||||
bool needigamma = !needcontrast && igamma && gamma_>0;
|
||||
|
||||
// create a curve if needed
|
||||
Curve* tcurve = NULL;
|
||||
if (curvePoints.size()>0 && curvePoints[0]!=0)
|
||||
tcurve = new Curve (curvePoints, CURVES_MIN_POLY_POINTS/skip);
|
||||
|
||||
// clear array that stores histogram valid before applying the custom curve
|
||||
if (outBeforeCCurveHistogram)
|
||||
memset (outBeforeCCurveHistogram, 0, 256*sizeof(int));
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// tone curve base. a: slope (from exp.comp.), b: black, def_mul: max. x value (can be>1), hr,sr: highlight,shadow recovery
|
||||
|
||||
std::vector<double> basecurvePoints;
|
||||
basecurvePoints.push_back((double)((CurveType)NURBS));
|
||||
//float toex = MIN(1,black/(a*def_mul));
|
||||
//float toey = MAX(0,toex*a*def_mul*(shcompr/25.0-1));
|
||||
float toex = black;
|
||||
float toey = MAX(0,toex*(shcompr/25.0-1));
|
||||
float shoulderx = MAX(black,1/(a*def_mul));//point in x at which line of slope a starting at (0,0) reaches y=1
|
||||
float shouldery=1;
|
||||
float toneslope=(shouldery-toey)/(shoulderx-toex);
|
||||
if (shoulderx<1) {//a>1; positive EC
|
||||
//move shoulder down if there is highlight rolloff
|
||||
shouldery = shouldery-(0.3)*(hlcompr/100.0);
|
||||
shoulderx = shoulderx - (1-shouldery)/toneslope;
|
||||
} else {//a<1; negative EC
|
||||
//if (shoulderx>1) {
|
||||
shoulderx = 1;
|
||||
shouldery = a*def_mul;
|
||||
}
|
||||
/*float shoulderx = toex+(1-toey)/a;//point in x at which line of slope a starting at toe point reaches y=1
|
||||
float shouldery;
|
||||
if (shoulderx<1) {
|
||||
shouldery = MAX(2*toey, 1-(1-shoulderx)*(hlcompr/200.0));
|
||||
shoulderx = shoulderx - (1-shouldery)/a;
|
||||
} else {
|
||||
shoulderx = 1;
|
||||
shouldery = toey + (1-toex)*a;
|
||||
}*/
|
||||
|
||||
basecurvePoints.push_back(MAX(0,0.99*toex*(1-shcompr/25.0))); //black point. Value in [0 ; 1] range
|
||||
basecurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
|
||||
basecurvePoints.push_back(toex); //toe point
|
||||
basecurvePoints.push_back(toey); //value at toe point
|
||||
|
||||
if (toex<1) {
|
||||
//add a point along the line between the toe point and shoulder point
|
||||
basecurvePoints.push_back(0.4*toex+0.6*shoulderx); //mid point
|
||||
basecurvePoints.push_back(0.4*toey+0.6*shouldery); //value at mid point
|
||||
|
||||
basecurvePoints.push_back(shoulderx); //shoulder point
|
||||
basecurvePoints.push_back(shouldery); //value at shoulder point
|
||||
if (shoulderx<1) {
|
||||
basecurvePoints.push_back(1-0.95*(1-shoulderx)*(1-hlcompr/105.0)); // lead into point
|
||||
basecurvePoints.push_back(1); // value near white point
|
||||
basecurvePoints.push_back(1); // white point
|
||||
basecurvePoints.push_back(1); // value at white point
|
||||
}
|
||||
}
|
||||
Curve* basecurve = NULL;
|
||||
basecurve = new Curve (basecurvePoints, CURVES_MIN_POLY_POINTS/skip); // Actually, CURVES_MIN_POLY_POINTS = 1000,
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
std::vector<double> brightcurvePoints;
|
||||
brightcurvePoints.push_back((double)((CurveType)NURBS));
|
||||
|
||||
brightcurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
brightcurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
|
||||
if(br>0) {
|
||||
brightcurvePoints.push_back(0.1); //toe point
|
||||
brightcurvePoints.push_back(0.1+br/150.0); //value at toe point
|
||||
|
||||
brightcurvePoints.push_back(0.7); //shoulder point
|
||||
brightcurvePoints.push_back(MIN(1.0,0.7+br/300.0)); //value at shoulder point
|
||||
} else {
|
||||
brightcurvePoints.push_back(0.1-br/150.0); //toe point
|
||||
brightcurvePoints.push_back(0.1); //value at toe point
|
||||
|
||||
brightcurvePoints.push_back(MIN(1.0,0.7-br/300.0)); //shoulder point
|
||||
brightcurvePoints.push_back(0.7); //value at shoulder point
|
||||
}
|
||||
brightcurvePoints.push_back(1); // white point
|
||||
brightcurvePoints.push_back(1); // value at white point
|
||||
|
||||
Curve* brightcurve = NULL;
|
||||
brightcurve = new Curve (brightcurvePoints, CURVES_MIN_POLY_POINTS/skip); // Actually, CURVES_MIN_POLY_POINTS = 1000,
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
for (int i=0; i<=0xffff; i+= i<0xffff-skip ? skip : 1 ) {
|
||||
|
||||
// change to [0,1] range
|
||||
double val = (double)i / 65535.0;
|
||||
|
||||
// apply default multiplier (that is >1 if highlight recovery is on)
|
||||
// val *= def_mul;
|
||||
|
||||
// apply base curve, thus, exposure compensation and black point with shadow and highlight protection
|
||||
//val = basecurve (val, a, black, def_mul, hlcompr/100.0, shcompr/100.0);
|
||||
val = basecurve->getVal (val);
|
||||
|
||||
outCurve1[i] = (int) (65535.0 * CLIPD(val));
|
||||
|
||||
// change to [0,1] range
|
||||
val = (double)i / 65535.0;
|
||||
|
||||
// gamma correction
|
||||
if (gamma_>0)
|
||||
val = gamma (val, gamma_, start, slope, mul, add);
|
||||
|
||||
// apply brightness curve
|
||||
//val = brightness (val, br/100.0);
|
||||
val = brightcurve->getVal (val);
|
||||
|
||||
// apply custom/parametric/NURBS curve, if any
|
||||
if (tcurve) {
|
||||
if (outBeforeCCurveHistogram) {
|
||||
double hval = val;
|
||||
//if (needigamma)
|
||||
// hval = igamma2 (hval);
|
||||
int hi = (int)(255.0*CLIPD(hval));
|
||||
outBeforeCCurveHistogram[hi]+=histogram[i] ;
|
||||
}
|
||||
val = tcurve->getVal (val);
|
||||
}
|
||||
|
||||
// if inverse gamma is needed, do it (standard sRGB inverse gamma is applied)
|
||||
if (needigamma)
|
||||
val = igamma2 (val);
|
||||
|
||||
// store result in a temporary array
|
||||
dcurve[i] = CLIPD(val);
|
||||
}
|
||||
delete tcurve;
|
||||
|
||||
delete basecurve; // ...when you don't need it anymore
|
||||
delete brightcurve;
|
||||
|
||||
// if skip>1, let apply linear interpolation in the skipped points of the curve
|
||||
int prev = 0;
|
||||
for (int i=1; i<=0xffff-skip; i++) {
|
||||
if (i%skip==0) {
|
||||
prev+=skip;
|
||||
continue;
|
||||
}
|
||||
outCurve1[i] = ( outCurve1[prev] * (skip - i%skip) + outCurve1[prev+skip] * (i%skip) ) / skip;
|
||||
dcurve[i] = ( dcurve[prev] * (skip - i%skip) + dcurve[prev+skip] * (i%skip) ) / skip;
|
||||
}
|
||||
|
||||
if (needcontrast) {
|
||||
// compute mean luminance of the image with the curve applied
|
||||
int sum = 0;
|
||||
double avg = 0;
|
||||
//double sqavg = 0;
|
||||
for (int i=0; i<=0xffff; i++) {
|
||||
avg += dcurve[i] * histogram[i];
|
||||
//sqavg += dcurve[i]*dcurve[i] * histogram[i];
|
||||
sum += histogram[i];
|
||||
}
|
||||
avg /= sum;
|
||||
//sqavg /= sum;
|
||||
//double stddev = sqrt(sqavg-avg*avg);
|
||||
float contrslope = (50)/(50-0.25*contr);
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
std::vector<double> contrastcurvePoints;
|
||||
contrastcurvePoints.push_back((double)((CurveType)NURBS));
|
||||
|
||||
contrastcurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
contrastcurvePoints.push_back(0); //black point. Value in [0 ; 1] range
|
||||
|
||||
contrastcurvePoints.push_back(avg*(1-1/contrslope)); //toe point
|
||||
contrastcurvePoints.push_back(0); //value at toe point
|
||||
|
||||
contrastcurvePoints.push_back(avg); //mid point
|
||||
contrastcurvePoints.push_back(avg); //value at mid point
|
||||
|
||||
contrastcurvePoints.push_back(avg+(1-avg)/contrslope); // shoulder point
|
||||
contrastcurvePoints.push_back(1); // value at shoulder point
|
||||
|
||||
contrastcurvePoints.push_back(1); // white point
|
||||
contrastcurvePoints.push_back(1); // value at white point
|
||||
|
||||
Curve* contrastcurve = NULL;
|
||||
contrastcurve = new Curve (contrastcurvePoints, CURVES_MIN_POLY_POINTS/skip); // Actually, CURVES_MIN_POLY_POINTS = 1000,
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
// apply contrast enhancement
|
||||
for (int i=0; i<=0xffff; i++) {
|
||||
//double val = centercontrast (dcurve[i], contr_b, avg);
|
||||
double val = contrastcurve->getVal (dcurve[i]);
|
||||
if (igamma && gamma_>0)
|
||||
val = igamma2 (val);
|
||||
outCurve2[i] = (int) (65535.0 * CLIPD(val));
|
||||
}
|
||||
}
|
||||
else
|
||||
for (int i=0; i<=0xffff; i++)
|
||||
outCurve2[i] = (int) (65535.0 * dcurve[i]);
|
||||
delete [] dcurve;
|
||||
}
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
|
||||
int CurveFactory::gammatab [65536];
|
||||
int CurveFactory::igammatab_srgb [65536];
|
||||
|
@ -101,6 +101,7 @@ class CurveFactory {
|
||||
else
|
||||
return 1.0 - brightnessbase (1.0-x, -amount);
|
||||
}
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -127,7 +128,8 @@ class CurveFactory {
|
||||
|
||||
public:
|
||||
// static void updateCurve3 (int* curve, int* ohistogram, const std::vector<double>& cpoints, double defmul, double ecomp, int black, double hlcompr, double shcompr, double br, double contr, double gamma_, bool igamma, int skip=1);
|
||||
static void complexCurve (double ecomp, double black, double hlcompr, double shcompr, double br, double contr, double defmul, double gamma_, bool igamma, const std::vector<double>& curvePoints, unsigned int* histogram, int* outCurve, unsigned int* outBeforeCCurveHistogram, int skip=1);
|
||||
static void complexCurve (double ecomp, double black, double hlcompr, double shcompr, double br, double contr, double defmul, double gamma_, bool igamma, const std::vector<double>& curvePoints, unsigned int* histogram, int* outCurve1, int* outCurve2, unsigned int* outBeforeCCurveHistogram, int skip=1);
|
||||
static void complexsgnCurve (double satclip, double satcompr, double saturation, double colormult, const std::vector<double>& curvePoints, int* outCurve, int skip=1);
|
||||
|
||||
};
|
||||
|
||||
@ -160,6 +162,6 @@ class Curve {
|
||||
double getVal (double x);
|
||||
void getVal (const std::vector<double>& t, std::vector<double>& res);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1,6 +1,5 @@
|
||||
/*RT*/#include <glib.h>
|
||||
/*RT*/#include <glib/gstdio.h>
|
||||
/*RT*/int ciff_base, ciff_len, exif_base, pre_filters;
|
||||
/*RT*/#undef MAX
|
||||
/*RT*/#undef MIN
|
||||
/*RT*/#define NO_LCMS
|
||||
@ -111,60 +110,70 @@ typedef unsigned long long UINT64;
|
||||
typedef unsigned char uchar;
|
||||
typedef unsigned short ushort;
|
||||
|
||||
// RT specify thread local storage
|
||||
#ifdef __GNUC__
|
||||
#define THREAD_LOCAL static __thread
|
||||
#define THREAD_LOCK
|
||||
#else
|
||||
#define THREAD_LOCAL
|
||||
#define THREAD_LOCK Glib::Mutex::Lock locker(*dcrMutex);
|
||||
#endif
|
||||
|
||||
/*
|
||||
All global variables are defined here, and all functions that
|
||||
access them are prefixed with "CLASS". Note that a thread-safe
|
||||
C++ class cannot have non-const static local variables.
|
||||
*/
|
||||
/*RT*/IMFILE *ifp;
|
||||
FILE * ofp;
|
||||
short order;
|
||||
const char *ifname;
|
||||
char *meta_data;
|
||||
char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64];
|
||||
float flash_used, canon_ev, iso_speed, shutter, aperture, focal_len;
|
||||
time_t timestamp;
|
||||
unsigned shot_order, kodak_cbpp, filters, exif_cfa, unique_id;
|
||||
off_t strip_offset, data_offset;
|
||||
off_t thumb_offset, meta_offset, profile_offset;
|
||||
unsigned thumb_length, meta_length, profile_length;
|
||||
unsigned thumb_misc, *oprof, fuji_layout, shot_select=0, multi_out=0;
|
||||
unsigned tiff_nifds, tiff_samples, tiff_bps, tiff_compress;
|
||||
unsigned black, cblack[8], maximum, mix_green, raw_color, zero_is_bad;
|
||||
unsigned zero_after_ff, is_raw, dng_version, is_foveon, data_error;
|
||||
unsigned tile_width, tile_length, gpsdata[32], load_flags;
|
||||
ushort raw_height, raw_width, height, width, top_margin, left_margin;
|
||||
ushort shrink, iheight, iwidth, fuji_width, thumb_width, thumb_height;
|
||||
int flip, tiff_flip, colors;
|
||||
double pixel_aspect, aber[4]={1,1,1,1}, gamm[6]={ 0.45,4.5,0,0,0,0 };
|
||||
ushort (*image)[4], white[8][8], curve[0x10000], cr2_slice[3], sraw_mul[4];
|
||||
float bright=1, user_mul[4]={0,0,0,0}, threshold=0;
|
||||
int half_size=0, four_color_rgb=0, document_mode=0, highlight=0;
|
||||
int verbose=0, use_auto_wb=0, use_camera_wb=0, use_camera_matrix=-1;
|
||||
int output_color=1, output_bps=8, output_tiff=0, med_passes=0;
|
||||
int no_auto_bright=0;
|
||||
unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX };
|
||||
float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4];
|
||||
const double xyz_rgb[3][3] = { /* XYZ from RGB */
|
||||
/*RT*/THREAD_LOCAL int ciff_base, ciff_len, exif_base, pre_filters;
|
||||
/*RT*/THREAD_LOCAL IMFILE *ifp;
|
||||
THREAD_LOCAL FILE * ofp;
|
||||
THREAD_LOCAL short order;
|
||||
THREAD_LOCAL const char *ifname;
|
||||
THREAD_LOCAL char *meta_data;
|
||||
THREAD_LOCAL char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64];
|
||||
THREAD_LOCAL float flash_used, canon_ev, iso_speed, shutter, aperture, focal_len;
|
||||
THREAD_LOCAL time_t timestamp;
|
||||
THREAD_LOCAL unsigned shot_order, kodak_cbpp, filters, exif_cfa, unique_id;
|
||||
THREAD_LOCAL off_t strip_offset, data_offset;
|
||||
THREAD_LOCAL off_t thumb_offset, meta_offset, profile_offset;
|
||||
THREAD_LOCAL unsigned thumb_length, meta_length, profile_length;
|
||||
THREAD_LOCAL unsigned thumb_misc, *oprof, fuji_layout, shot_select=0, multi_out=0;
|
||||
THREAD_LOCAL unsigned tiff_nifds, tiff_samples, tiff_bps, tiff_compress;
|
||||
THREAD_LOCAL unsigned black, cblack[8], maximum, mix_green, raw_color, zero_is_bad;
|
||||
THREAD_LOCAL unsigned zero_after_ff, is_raw, dng_version, is_foveon, data_error;
|
||||
THREAD_LOCAL unsigned tile_width, tile_length, gpsdata[32], load_flags;
|
||||
THREAD_LOCAL ushort raw_height, raw_width, height, width, top_margin, left_margin;
|
||||
THREAD_LOCAL ushort shrink, iheight, iwidth, fuji_width, thumb_width, thumb_height;
|
||||
THREAD_LOCAL int flip, tiff_flip, colors;
|
||||
THREAD_LOCAL double pixel_aspect, aber[4]={1,1,1,1}, gamm[6]={ 0.45,4.5,0,0,0,0 };
|
||||
THREAD_LOCAL ushort (*image)[4], white[8][8], curve[0x10000], cr2_slice[3], sraw_mul[4];
|
||||
THREAD_LOCAL float bright=1, user_mul[4]={0,0,0,0}, threshold=0;
|
||||
THREAD_LOCAL int half_size=0, four_color_rgb=0, document_mode=0, highlight=0;
|
||||
THREAD_LOCAL int verbose=0, use_auto_wb=0, use_camera_wb=0, use_camera_matrix=-1;
|
||||
THREAD_LOCAL int output_color=1, output_bps=8, output_tiff=0, med_passes=0;
|
||||
THREAD_LOCAL int no_auto_bright=0;
|
||||
THREAD_LOCAL unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX };
|
||||
THREAD_LOCAL float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4];
|
||||
static const double xyz_rgb[3][3] = { /* XYZ from RGB */
|
||||
{ 0.412453, 0.357580, 0.180423 },
|
||||
{ 0.212671, 0.715160, 0.072169 },
|
||||
{ 0.019334, 0.119193, 0.950227 } };
|
||||
const float d65_white[3] = { 0.950456, 1, 1.088754 };
|
||||
int histogram[4][0x2000];
|
||||
void (*write_thumb)(), (*write_fun)();
|
||||
void (*load_raw)(), (*thumb_load_raw)();
|
||||
jmp_buf failure;
|
||||
static const float d65_white[3] = { 0.950456, 1, 1.088754 };
|
||||
THREAD_LOCAL int histogram[4][0x2000];
|
||||
THREAD_LOCAL void (*write_thumb)(), (*write_fun)();
|
||||
THREAD_LOCAL void (*load_raw)(), (*thumb_load_raw)();
|
||||
THREAD_LOCAL jmp_buf failure;
|
||||
|
||||
struct decode {
|
||||
THREAD_LOCAL struct decode {
|
||||
struct decode *branch[2];
|
||||
int leaf;
|
||||
} first_decode[2048], *second_decode, *free_decode;
|
||||
|
||||
struct tiff_ifd {
|
||||
THREAD_LOCAL struct tiff_ifd {
|
||||
int width, height, bps, comp, phint, offset, flip, samples, bytes;
|
||||
} tiff_ifd[10];
|
||||
|
||||
struct ph1 {
|
||||
THREAD_LOCAL struct ph1 {
|
||||
int format, key_off, black, black_off, split_col, tag_21a;
|
||||
float tag_210;
|
||||
} ph1;
|
||||
@ -555,8 +564,8 @@ int CLASS canon_s2is()
|
||||
*/
|
||||
unsigned CLASS getbithuff (int nbits, ushort *huff)
|
||||
{
|
||||
static unsigned bitbuf=0;
|
||||
static int vbits=0, reset=0;
|
||||
THREAD_LOCAL unsigned bitbuf=0;
|
||||
THREAD_LOCAL int vbits=0, reset=0;
|
||||
unsigned c;
|
||||
|
||||
if (nbits == -1)
|
||||
@ -1577,8 +1586,8 @@ void CLASS phase_one_load_raw()
|
||||
|
||||
unsigned CLASS ph1_bithuff (int nbits, ushort *huff)
|
||||
{
|
||||
static UINT64 bitbuf=0;
|
||||
static int vbits=0;
|
||||
THREAD_LOCAL UINT64 bitbuf=0;
|
||||
THREAD_LOCAL int vbits=0;
|
||||
unsigned c;
|
||||
|
||||
if (nbits == -1)
|
||||
@ -1840,8 +1849,8 @@ void CLASS nokia_load_raw()
|
||||
|
||||
unsigned CLASS pana_bits (int nbits)
|
||||
{
|
||||
static uchar buf[0x4000];
|
||||
static int vbits;
|
||||
THREAD_LOCAL uchar buf[0x4000];
|
||||
THREAD_LOCAL int vbits;
|
||||
int byte;
|
||||
|
||||
if (!nbits) return vbits=0;
|
||||
@ -2130,7 +2139,7 @@ void CLASS kodak_jpeg_load_raw() {}
|
||||
METHODDEF(boolean)
|
||||
fill_input_buffer (j_decompress_ptr cinfo)
|
||||
{
|
||||
static uchar jpeg_buffer[4096];
|
||||
THREAD_LOCAL uchar jpeg_buffer[4096];
|
||||
size_t nbytes;
|
||||
|
||||
nbytes = fread (jpeg_buffer, 1, 4096, ifp);
|
||||
@ -2408,7 +2417,7 @@ void CLASS kodak_thumb_load_raw()
|
||||
|
||||
void CLASS sony_decrypt (unsigned *data, int len, int start, int key)
|
||||
{
|
||||
static unsigned pad[128], p;
|
||||
THREAD_LOCAL unsigned pad[128], p;
|
||||
|
||||
if (start) {
|
||||
for (p=0; p < 4; p++)
|
||||
@ -2655,7 +2664,7 @@ void CLASS smal_v9_load_raw()
|
||||
|
||||
void CLASS foveon_decoder (unsigned size, unsigned code)
|
||||
{
|
||||
static unsigned huff[1024];
|
||||
THREAD_LOCAL unsigned huff[1024];
|
||||
struct decode *cur;
|
||||
int i, len;
|
||||
|
||||
@ -6894,6 +6903,8 @@ void CLASS identify()
|
||||
if (height == 3136 && width == 4736) /* Pentax K-7 */
|
||||
{ height = 3122; width = 4684;
|
||||
top_margin = 2; filters = 0x16161616; }
|
||||
if (height == 2868 && width == 4352) /* Pentax K-x */
|
||||
width = 4308;
|
||||
if (height == 3014 && width == 4096) /* Ricoh GX200 */
|
||||
width = 4014;
|
||||
if (dng_version) {
|
||||
@ -7227,6 +7238,8 @@ canon_cr2:
|
||||
} else if (!strcmp(model,"D1X")) {
|
||||
width -= 4;
|
||||
pixel_aspect = 0.5;
|
||||
} else if (!strcmp(model,"D7000")) {
|
||||
width -= 40;
|
||||
} else if (!strcmp(model,"D40X") ||
|
||||
!strcmp(model,"D60") ||
|
||||
!strcmp(model,"D80") ||
|
||||
@ -7441,7 +7454,7 @@ konica_400z:
|
||||
} else if (!strcmp(model,"K20D")) {
|
||||
filters = 0x16161616;
|
||||
} else if (!strcmp(model,"K-x")) {
|
||||
width = 4309;
|
||||
width = 4308;
|
||||
filters = 0x16161616;
|
||||
} else if (!strcmp(model,"Optio S")) {
|
||||
if (fsize == 3178560) {
|
||||
@ -8930,6 +8943,7 @@ Glib::Mutex* dcrMutex=NULL;
|
||||
int RawImage::loadRaw (bool loadData) {
|
||||
|
||||
Glib::Mutex::Lock lock(*dcrMutex); // auto unlock
|
||||
THREAD_LOCK
|
||||
|
||||
ifname = fname.c_str();
|
||||
image = NULL;
|
||||
@ -9073,9 +9087,9 @@ int RawImage::loadRaw (bool loadData) {
|
||||
|
||||
int getRawFileBasicInfo (const Glib::ustring& fname, rtengine::RawMetaDataLocation& rml, int& rotation, int& thumbWidth, int& thumbHeight, int& thumbOffset, int& thumbType) {
|
||||
|
||||
int status=0;
|
||||
THREAD_LOCK
|
||||
|
||||
dcrMutex->lock ();
|
||||
int status=0;
|
||||
|
||||
exif_base = -1;
|
||||
ciff_base = -1;
|
||||
@ -9094,14 +9108,12 @@ dcrMutex->lock ();
|
||||
ifname = fname.c_str();
|
||||
if (!(ifp = gfopen (ifname))) {
|
||||
status = 2;
|
||||
dcrMutex->unlock ();
|
||||
return status;
|
||||
}
|
||||
identify ();
|
||||
if (!is_raw || colors>3) {
|
||||
status = 3;
|
||||
fclose (ifp);
|
||||
dcrMutex->unlock ();
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -9133,15 +9145,78 @@ dcrMutex->lock ();
|
||||
rml.ciffLength = ciff_len;
|
||||
|
||||
fclose (ifp);
|
||||
dcrMutex->unlock ();
|
||||
return !is_raw;
|
||||
}
|
||||
|
||||
#include <mytime.h>
|
||||
|
||||
rtengine::Thumbnail* rtengine::Thumbnail::loadQuickFromRaw (const Glib::ustring& fname, rtengine::RawMetaDataLocation& rml, int &w, int &h, int fixwh) {
|
||||
|
||||
THREAD_LOCK
|
||||
|
||||
image = NULL;
|
||||
ifname = fname.c_str();
|
||||
exif_base = -1;
|
||||
ciff_base = -1;
|
||||
ciff_len = -1;
|
||||
verbose = settings->verbose;
|
||||
oprof = NULL;
|
||||
ifp = gfopen (fname.c_str());
|
||||
if (!ifp) {
|
||||
printf("DCRAW: failed0\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (setjmp (failure)) {
|
||||
printf("DCRAW: failed1\n");
|
||||
fclose (ifp);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
identify ();
|
||||
if (!is_raw || colors>3) {
|
||||
printf("DCRAW: failed2\n");
|
||||
fclose(ifp);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rml.exifBase = exif_base;
|
||||
rml.ciffBase = ciff_base;
|
||||
rml.ciffLength = ciff_len;
|
||||
|
||||
char thumb_buffer[thumb_length];
|
||||
fseek(ifp,thumb_offset,SEEK_SET);
|
||||
fread(thumb_buffer,1,thumb_length,ifp);
|
||||
fclose(ifp);
|
||||
|
||||
rtengine::Thumbnail* tpp = rtengine::Thumbnail::loadFromMemory(thumb_buffer,thumb_length,w,h,fixwh);
|
||||
if ( tpp == 0 )
|
||||
{
|
||||
printf("DCRAW: failed3\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int deg = 0;
|
||||
if (flip==5)
|
||||
deg = 270;
|
||||
else if (flip==3)
|
||||
deg = 180;
|
||||
else if (flip==6)
|
||||
deg = 90;
|
||||
|
||||
if (deg>0) {
|
||||
Image16* rot = tpp->thumbImg->rotate (deg);
|
||||
delete tpp->thumbImg;
|
||||
tpp->thumbImg = rot;
|
||||
}
|
||||
|
||||
return tpp;
|
||||
}
|
||||
|
||||
rtengine::Thumbnail* rtengine::Thumbnail::loadFromRaw (const Glib::ustring& fname, rtengine::RawMetaDataLocation& rml, int &w, int &h, int fixwh) {
|
||||
|
||||
dcrMutex->lock ();
|
||||
THREAD_LOCK
|
||||
|
||||
MyTime t0, t1, t2, t3, t4, t5, t6;
|
||||
t0.set ();
|
||||
|
||||
@ -9154,7 +9229,6 @@ t0.set ();
|
||||
oprof = NULL;
|
||||
ifp = gfopen (fname.c_str());
|
||||
if (!ifp) {
|
||||
dcrMutex->unlock ();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -9164,7 +9238,6 @@ t1.set ();
|
||||
if (image)
|
||||
free (image);
|
||||
fclose (ifp);
|
||||
dcrMutex->unlock ();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -9176,7 +9249,6 @@ t1.set ();
|
||||
use_camera_wb = 1;
|
||||
if (!is_raw || colors>3) {
|
||||
fclose(ifp);
|
||||
dcrMutex->unlock ();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -9438,8 +9510,6 @@ if (settings->verbose) printf ("0: %d, 1: %d, 2: %d, 3: %d, 4: %d, 5: %d All: %d
|
||||
|
||||
free (image);
|
||||
|
||||
dcrMutex->unlock ();
|
||||
|
||||
return tpp;
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
--- dcraw.c 2010-06-30 10:40:16.000000000 -0600
|
||||
+++ dcraw.cc 2010-06-30 10:36:00.000000000 -0600
|
||||
@@ -1,3 +1,16 @@
|
||||
--- dcraw.c 2010-10-25 09:45:14.000000000 -0400
|
||||
+++ dcraw.cc 2010-10-27 11:30:33.000000000 -0400
|
||||
@@ -1,3 +1,15 @@
|
||||
+/*RT*/#include <glib.h>
|
||||
+/*RT*/#include <glib/gstdio.h>
|
||||
+/*RT*/int ciff_base, ciff_len, exif_base, pre_filters;
|
||||
+/*RT*/#undef MAX
|
||||
+/*RT*/#undef MIN
|
||||
+/*RT*/#define NO_LCMS
|
||||
@ -17,7 +16,7 @@
|
||||
/*
|
||||
dcraw.c -- Dave Coffin's raw photo decoder
|
||||
Copyright 1997-2010 by Dave Coffin, dcoffin a cybercom o net
|
||||
@@ -46,7 +59,9 @@
|
||||
@@ -46,7 +58,9 @@
|
||||
NO_LCMS disables the "-p" option.
|
||||
*/
|
||||
#ifndef NO_JPEG
|
||||
@ -28,17 +27,115 @@
|
||||
#endif
|
||||
#ifndef NO_LCMS
|
||||
#include <lcms.h>
|
||||
@@ -101,7 +116,8 @@
|
||||
@@ -96,59 +110,70 @@
|
||||
typedef unsigned char uchar;
|
||||
typedef unsigned short ushort;
|
||||
|
||||
+// RT specify thread local storage
|
||||
+#ifdef __GNUC__
|
||||
+#define THREAD_LOCAL static __thread
|
||||
+#define THREAD_LOCK
|
||||
+#else
|
||||
+#define THREAD_LOCAL
|
||||
+#define THREAD_LOCK Glib::Mutex::Lock locker(*dcrMutex);
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
All global variables are defined here, and all functions that
|
||||
access them are prefixed with "CLASS". Note that a thread-safe
|
||||
C++ class cannot have non-const static local variables.
|
||||
*/
|
||||
-FILE *ifp, *ofp;
|
||||
+/*RT*/IMFILE *ifp;
|
||||
+FILE * ofp;
|
||||
short order;
|
||||
const char *ifname;
|
||||
char *meta_data;
|
||||
@@ -271,6 +287,7 @@
|
||||
-short order;
|
||||
-const char *ifname;
|
||||
-char *meta_data;
|
||||
-char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64];
|
||||
-float flash_used, canon_ev, iso_speed, shutter, aperture, focal_len;
|
||||
-time_t timestamp;
|
||||
-unsigned shot_order, kodak_cbpp, filters, exif_cfa, unique_id;
|
||||
-off_t strip_offset, data_offset;
|
||||
-off_t thumb_offset, meta_offset, profile_offset;
|
||||
-unsigned thumb_length, meta_length, profile_length;
|
||||
-unsigned thumb_misc, *oprof, fuji_layout, shot_select=0, multi_out=0;
|
||||
-unsigned tiff_nifds, tiff_samples, tiff_bps, tiff_compress;
|
||||
-unsigned black, cblack[8], maximum, mix_green, raw_color, zero_is_bad;
|
||||
-unsigned zero_after_ff, is_raw, dng_version, is_foveon, data_error;
|
||||
-unsigned tile_width, tile_length, gpsdata[32], load_flags;
|
||||
-ushort raw_height, raw_width, height, width, top_margin, left_margin;
|
||||
-ushort shrink, iheight, iwidth, fuji_width, thumb_width, thumb_height;
|
||||
-int flip, tiff_flip, colors;
|
||||
-double pixel_aspect, aber[4]={1,1,1,1}, gamm[6]={ 0.45,4.5,0,0,0,0 };
|
||||
-ushort (*image)[4], white[8][8], curve[0x10000], cr2_slice[3], sraw_mul[4];
|
||||
-float bright=1, user_mul[4]={0,0,0,0}, threshold=0;
|
||||
-int half_size=0, four_color_rgb=0, document_mode=0, highlight=0;
|
||||
-int verbose=0, use_auto_wb=0, use_camera_wb=0, use_camera_matrix=-1;
|
||||
-int output_color=1, output_bps=8, output_tiff=0, med_passes=0;
|
||||
-int no_auto_bright=0;
|
||||
-unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX };
|
||||
-float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4];
|
||||
-const double xyz_rgb[3][3] = { /* XYZ from RGB */
|
||||
+/*RT*/THREAD_LOCAL int ciff_base, ciff_len, exif_base, pre_filters;
|
||||
+/*RT*/THREAD_LOCAL IMFILE *ifp;
|
||||
+THREAD_LOCAL FILE * ofp;
|
||||
+THREAD_LOCAL short order;
|
||||
+THREAD_LOCAL const char *ifname;
|
||||
+THREAD_LOCAL char *meta_data;
|
||||
+THREAD_LOCAL char cdesc[5], desc[512], make[64], model[64], model2[64], artist[64];
|
||||
+THREAD_LOCAL float flash_used, canon_ev, iso_speed, shutter, aperture, focal_len;
|
||||
+THREAD_LOCAL time_t timestamp;
|
||||
+THREAD_LOCAL unsigned shot_order, kodak_cbpp, filters, exif_cfa, unique_id;
|
||||
+THREAD_LOCAL off_t strip_offset, data_offset;
|
||||
+THREAD_LOCAL off_t thumb_offset, meta_offset, profile_offset;
|
||||
+THREAD_LOCAL unsigned thumb_length, meta_length, profile_length;
|
||||
+THREAD_LOCAL unsigned thumb_misc, *oprof, fuji_layout, shot_select=0, multi_out=0;
|
||||
+THREAD_LOCAL unsigned tiff_nifds, tiff_samples, tiff_bps, tiff_compress;
|
||||
+THREAD_LOCAL unsigned black, cblack[8], maximum, mix_green, raw_color, zero_is_bad;
|
||||
+THREAD_LOCAL unsigned zero_after_ff, is_raw, dng_version, is_foveon, data_error;
|
||||
+THREAD_LOCAL unsigned tile_width, tile_length, gpsdata[32], load_flags;
|
||||
+THREAD_LOCAL ushort raw_height, raw_width, height, width, top_margin, left_margin;
|
||||
+THREAD_LOCAL ushort shrink, iheight, iwidth, fuji_width, thumb_width, thumb_height;
|
||||
+THREAD_LOCAL int flip, tiff_flip, colors;
|
||||
+THREAD_LOCAL double pixel_aspect, aber[4]={1,1,1,1}, gamm[6]={ 0.45,4.5,0,0,0,0 };
|
||||
+THREAD_LOCAL ushort (*image)[4], white[8][8], curve[0x10000], cr2_slice[3], sraw_mul[4];
|
||||
+THREAD_LOCAL float bright=1, user_mul[4]={0,0,0,0}, threshold=0;
|
||||
+THREAD_LOCAL int half_size=0, four_color_rgb=0, document_mode=0, highlight=0;
|
||||
+THREAD_LOCAL int verbose=0, use_auto_wb=0, use_camera_wb=0, use_camera_matrix=-1;
|
||||
+THREAD_LOCAL int output_color=1, output_bps=8, output_tiff=0, med_passes=0;
|
||||
+THREAD_LOCAL int no_auto_bright=0;
|
||||
+THREAD_LOCAL unsigned greybox[4] = { 0, 0, UINT_MAX, UINT_MAX };
|
||||
+THREAD_LOCAL float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4];
|
||||
+static const double xyz_rgb[3][3] = { /* XYZ from RGB */
|
||||
{ 0.412453, 0.357580, 0.180423 },
|
||||
{ 0.212671, 0.715160, 0.072169 },
|
||||
{ 0.019334, 0.119193, 0.950227 } };
|
||||
-const float d65_white[3] = { 0.950456, 1, 1.088754 };
|
||||
-int histogram[4][0x2000];
|
||||
-void (*write_thumb)(), (*write_fun)();
|
||||
-void (*load_raw)(), (*thumb_load_raw)();
|
||||
-jmp_buf failure;
|
||||
+static const float d65_white[3] = { 0.950456, 1, 1.088754 };
|
||||
+THREAD_LOCAL int histogram[4][0x2000];
|
||||
+THREAD_LOCAL void (*write_thumb)(), (*write_fun)();
|
||||
+THREAD_LOCAL void (*load_raw)(), (*thumb_load_raw)();
|
||||
+THREAD_LOCAL jmp_buf failure;
|
||||
|
||||
-struct decode {
|
||||
+THREAD_LOCAL struct decode {
|
||||
struct decode *branch[2];
|
||||
int leaf;
|
||||
} first_decode[2048], *second_decode, *free_decode;
|
||||
|
||||
-struct tiff_ifd {
|
||||
+THREAD_LOCAL struct tiff_ifd {
|
||||
int width, height, bps, comp, phint, offset, flip, samples, bytes;
|
||||
} tiff_ifd[10];
|
||||
|
||||
-struct ph1 {
|
||||
+THREAD_LOCAL struct ph1 {
|
||||
int format, key_off, black, black_off, split_col, tag_21a;
|
||||
float tag_210;
|
||||
} ph1;
|
||||
@@ -271,6 +296,7 @@
|
||||
fprintf (stderr,_("Corrupt data near 0x%llx\n"), (INT64) ftello(ifp));
|
||||
}
|
||||
data_error++;
|
||||
@ -46,7 +143,7 @@
|
||||
}
|
||||
|
||||
ushort CLASS sget2 (uchar *s)
|
||||
@@ -344,7 +361,7 @@
|
||||
@@ -344,7 +370,7 @@
|
||||
{
|
||||
if (fread (pixel, 2, count, ifp) < count) derror();
|
||||
if ((order == 0x4949) == (ntohs(0x1234) == 0x1234))
|
||||
@ -55,7 +152,45 @@
|
||||
}
|
||||
|
||||
void CLASS canon_600_fixed_wb (int temp)
|
||||
@@ -2117,7 +2134,7 @@
|
||||
@@ -538,8 +564,8 @@
|
||||
*/
|
||||
unsigned CLASS getbithuff (int nbits, ushort *huff)
|
||||
{
|
||||
- static unsigned bitbuf=0;
|
||||
- static int vbits=0, reset=0;
|
||||
+ THREAD_LOCAL unsigned bitbuf=0;
|
||||
+ THREAD_LOCAL int vbits=0, reset=0;
|
||||
unsigned c;
|
||||
|
||||
if (nbits == -1)
|
||||
@@ -1560,8 +1586,8 @@
|
||||
|
||||
unsigned CLASS ph1_bithuff (int nbits, ushort *huff)
|
||||
{
|
||||
- static UINT64 bitbuf=0;
|
||||
- static int vbits=0;
|
||||
+ THREAD_LOCAL UINT64 bitbuf=0;
|
||||
+ THREAD_LOCAL int vbits=0;
|
||||
unsigned c;
|
||||
|
||||
if (nbits == -1)
|
||||
@@ -1823,8 +1849,8 @@
|
||||
|
||||
unsigned CLASS pana_bits (int nbits)
|
||||
{
|
||||
- static uchar buf[0x4000];
|
||||
- static int vbits;
|
||||
+ THREAD_LOCAL uchar buf[0x4000];
|
||||
+ THREAD_LOCAL int vbits;
|
||||
int byte;
|
||||
|
||||
if (!nbits) return vbits=0;
|
||||
@@ -2113,11 +2139,11 @@
|
||||
METHODDEF(boolean)
|
||||
fill_input_buffer (j_decompress_ptr cinfo)
|
||||
{
|
||||
- static uchar jpeg_buffer[4096];
|
||||
+ THREAD_LOCAL uchar jpeg_buffer[4096];
|
||||
size_t nbytes;
|
||||
|
||||
nbytes = fread (jpeg_buffer, 1, 4096, ifp);
|
||||
@ -64,7 +199,25 @@
|
||||
cinfo->src->next_input_byte = jpeg_buffer;
|
||||
cinfo->src->bytes_in_buffer = nbytes;
|
||||
return TRUE;
|
||||
@@ -3765,6 +3782,7 @@
|
||||
@@ -2391,7 +2417,7 @@
|
||||
|
||||
void CLASS sony_decrypt (unsigned *data, int len, int start, int key)
|
||||
{
|
||||
- static unsigned pad[128], p;
|
||||
+ THREAD_LOCAL unsigned pad[128], p;
|
||||
|
||||
if (start) {
|
||||
for (p=0; p < 4; p++)
|
||||
@@ -2638,7 +2664,7 @@
|
||||
|
||||
void CLASS foveon_decoder (unsigned size, unsigned code)
|
||||
{
|
||||
- static unsigned huff[1024];
|
||||
+ THREAD_LOCAL unsigned huff[1024];
|
||||
struct decode *cur;
|
||||
int i, len;
|
||||
|
||||
@@ -3765,6 +3791,7 @@
|
||||
for (row = FC(1,0) >> 1; row < height; row+=2)
|
||||
for (col = FC(row,1) & 1; col < width; col+=2)
|
||||
image[row*width+col][1] = image[row*width+col][3];
|
||||
@ -72,7 +225,7 @@
|
||||
filters &= ~((filters & 0x55555555) << 1);
|
||||
}
|
||||
}
|
||||
@@ -4817,7 +4835,7 @@
|
||||
@@ -4817,7 +4844,7 @@
|
||||
unsigned sony_curve[] = { 0,0,0,0,0,4095 };
|
||||
unsigned *buf, sony_offset=0, sony_length=0, sony_key=0;
|
||||
struct jhead jh;
|
||||
@ -81,7 +234,7 @@
|
||||
|
||||
if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0])
|
||||
return 1;
|
||||
@@ -5225,12 +5243,13 @@
|
||||
@@ -5225,12 +5252,13 @@
|
||||
fread (buf, sony_length, 1, ifp);
|
||||
sony_decrypt (buf, sony_length/4, 1, sony_key);
|
||||
sfp = ifp;
|
||||
@ -100,7 +253,7 @@
|
||||
ifp = sfp;
|
||||
free (buf);
|
||||
}
|
||||
@@ -5256,6 +5275,8 @@
|
||||
@@ -5256,6 +5284,8 @@
|
||||
int doff, max_samp=0, raw=-1, thm=-1, i;
|
||||
struct jhead jh;
|
||||
|
||||
@ -109,7 +262,7 @@
|
||||
fseek (ifp, base, SEEK_SET);
|
||||
order = get2();
|
||||
if (order != 0x4949 && order != 0x4d4d) return;
|
||||
@@ -5424,7 +5445,7 @@
|
||||
@@ -5424,7 +5454,7 @@
|
||||
{
|
||||
const char *file, *ext;
|
||||
char *jname, *jfile, *jext;
|
||||
@ -118,7 +271,7 @@
|
||||
|
||||
ext = strrchr (ifname, '.');
|
||||
file = strrchr (ifname, '/');
|
||||
@@ -5452,7 +5473,8 @@
|
||||
@@ -5452,7 +5482,8 @@
|
||||
*jext = '0';
|
||||
}
|
||||
if (strcmp (jname, ifname)) {
|
||||
@ -128,7 +281,7 @@
|
||||
if (verbose)
|
||||
fprintf (stderr,_("Reading metadata from %s ...\n"), jname);
|
||||
parse_tiff (12);
|
||||
@@ -5790,7 +5812,11 @@
|
||||
@@ -5790,7 +5821,11 @@
|
||||
order = get2();
|
||||
hlen = get4();
|
||||
if (get4() == 0x48454150) /* "HEAP" */
|
||||
@ -140,7 +293,7 @@
|
||||
parse_tiff (save+6);
|
||||
fseek (ifp, save+len, SEEK_SET);
|
||||
}
|
||||
@@ -6738,6 +6764,12 @@
|
||||
@@ -6738,6 +6773,12 @@
|
||||
fread (head, 1, 32, ifp);
|
||||
fseek (ifp, 0, SEEK_END);
|
||||
flen = fsize = ftell(ifp);
|
||||
@ -153,7 +306,7 @@
|
||||
if ((cp = (char *) memmem (head, 32, "MMMM", 4)) ||
|
||||
(cp = (char *) memmem (head, 32, "IIII", 4))) {
|
||||
parse_phase_one (cp-head);
|
||||
@@ -6745,6 +6777,8 @@
|
||||
@@ -6745,6 +6786,8 @@
|
||||
} else if (order == 0x4949 || order == 0x4d4d) {
|
||||
if (!memcmp (head+6,"HEAPCCDR",8)) {
|
||||
data_offset = hlen;
|
||||
@ -162,7 +315,25 @@
|
||||
parse_ciff (hlen, flen - hlen);
|
||||
} else {
|
||||
parse_tiff(0);
|
||||
@@ -8494,13 +8528,13 @@
|
||||
@@ -6858,6 +6901,8 @@
|
||||
if (height == 3136 && width == 4736) /* Pentax K-7 */
|
||||
{ height = 3122; width = 4684;
|
||||
top_margin = 2; filters = 0x16161616; }
|
||||
+ if (height == 2868 && width == 4352) /* Pentax K-x */
|
||||
+ width = 4308;
|
||||
if (height == 3014 && width == 4096) /* Ricoh GX200 */
|
||||
width = 4014;
|
||||
if (dng_version) {
|
||||
@@ -7405,7 +7450,7 @@
|
||||
} else if (!strcmp(model,"K20D")) {
|
||||
filters = 0x16161616;
|
||||
} else if (!strcmp(model,"K-x")) {
|
||||
- width = 4309;
|
||||
+ width = 4308;
|
||||
filters = 0x16161616;
|
||||
} else if (!strcmp(model,"Optio S")) {
|
||||
if (fsize == 3178560) {
|
||||
@@ -8494,13 +8539,13 @@
|
||||
FORCC ppm [col*colors+c] = curve[image[soff][c]] >> 8;
|
||||
else FORCC ppm2[col*colors+c] = curve[image[soff][c]];
|
||||
if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa)
|
||||
@ -178,7 +349,7 @@
|
||||
{
|
||||
int arg, status=0;
|
||||
int timestamp_only=0, thumbnail_only=0, identify_only=0;
|
||||
@@ -8613,7 +8647,7 @@
|
||||
@@ -8613,7 +8658,7 @@
|
||||
case 'i': identify_only = 1; break;
|
||||
case 'c': write_to_stdout = 1; break;
|
||||
case 'v': verbose = 1; break;
|
||||
@ -187,7 +358,7 @@
|
||||
case 'f': four_color_rgb = 1; break;
|
||||
case 'A': FORC4 greybox[c] = atoi(argv[arg++]);
|
||||
case 'a': use_auto_wb = 1; break;
|
||||
@@ -8877,3 +8911,537 @@
|
||||
@@ -8877,3 +8922,526 @@
|
||||
}
|
||||
return status;
|
||||
}
|
||||
@ -213,7 +384,7 @@
|
||||
+ { 0.222507, 0.716888, 0.060608 },
|
||||
+ { 0.013930, 0.097097, 0.714022 } };
|
||||
+
|
||||
+dcrMutex->lock ();
|
||||
+ THREAD_LOCK
|
||||
+
|
||||
+ ifname = fname;//strdup (fname);
|
||||
+ image = NULL;
|
||||
@ -228,7 +399,6 @@
|
||||
+ ri->profile_data = NULL;
|
||||
+ ifp = gfopen (fname);
|
||||
+ if (!ifp) {
|
||||
+ dcrMutex->unlock ();
|
||||
+ return 3;
|
||||
+ }
|
||||
+
|
||||
@ -240,7 +410,6 @@
|
||||
+ use_camera_wb = 1;
|
||||
+ if (!is_raw) {
|
||||
+ fclose(ifp);
|
||||
+ dcrMutex->unlock ();
|
||||
+ return 2;
|
||||
+ }
|
||||
+
|
||||
@ -259,7 +428,6 @@
|
||||
+ if (ri->data)
|
||||
+ free(ri->data);
|
||||
+ fclose (ifp);
|
||||
+ dcrMutex->unlock ();
|
||||
+ return 100;
|
||||
+ }
|
||||
+
|
||||
@ -346,15 +514,14 @@
|
||||
+ ri->coeff[a][b] = rgb_cam[a][b];
|
||||
+
|
||||
+ free (image);
|
||||
+dcrMutex->unlock ();
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int getRawFileBasicInfo (const Glib::ustring& fname, rtengine::RawMetaDataLocation& rml, int& rotation, int& thumbWidth, int& thumbHeight, int& thumbOffset, int& thumbType) {
|
||||
+
|
||||
+ int status=0;
|
||||
+ THREAD_LOCK
|
||||
+
|
||||
+dcrMutex->lock ();
|
||||
+ int status=0;
|
||||
+
|
||||
+ exif_base = -1;
|
||||
+ ciff_base = -1;
|
||||
@ -373,14 +540,12 @@
|
||||
+ ifname = fname.c_str();
|
||||
+ if (!(ifp = gfopen (ifname))) {
|
||||
+ status = 2;
|
||||
+ dcrMutex->unlock ();
|
||||
+ return status;
|
||||
+ }
|
||||
+ identify ();
|
||||
+ if (!is_raw || colors>3) {
|
||||
+ status = 3;
|
||||
+ fclose (ifp);
|
||||
+ dcrMutex->unlock ();
|
||||
+ return status;
|
||||
+ }
|
||||
+
|
||||
@ -412,7 +577,6 @@
|
||||
+ rml.ciffLength = ciff_len;
|
||||
+
|
||||
+ fclose (ifp);
|
||||
+dcrMutex->unlock ();
|
||||
+ return !is_raw;
|
||||
+}
|
||||
+
|
||||
@ -420,7 +584,8 @@
|
||||
+
|
||||
+rtengine::Thumbnail* rtengine::Thumbnail::loadFromRaw (const Glib::ustring& fname, rtengine::RawMetaDataLocation& rml, int &w, int &h, int fixwh) {
|
||||
+
|
||||
+dcrMutex->lock ();
|
||||
+ THREAD_LOCK
|
||||
+
|
||||
+MyTime t0, t1, t2, t3, t4, t5, t6;
|
||||
+t0.set ();
|
||||
+
|
||||
@ -433,7 +598,6 @@
|
||||
+ oprof = NULL;
|
||||
+ ifp = gfopen (fname.c_str());
|
||||
+ if (!ifp) {
|
||||
+ dcrMutex->unlock ();
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
@ -443,7 +607,6 @@
|
||||
+ if (image)
|
||||
+ free (image);
|
||||
+ fclose (ifp);
|
||||
+ dcrMutex->unlock ();
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
@ -455,7 +618,6 @@
|
||||
+ use_camera_wb = 1;
|
||||
+ if (!is_raw || colors>3) {
|
||||
+ fclose(ifp);
|
||||
+ dcrMutex->unlock ();
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
@ -610,7 +772,7 @@
|
||||
+
|
||||
+ // generate histogram for auto exposure
|
||||
+ tpp->aeHistCompression = 3;
|
||||
+ tpp->aeHistogram = new int[65536>>tpp->aeHistCompression];
|
||||
+ tpp->aeHistogram = new unsigned int[65536>>tpp->aeHistCompression];
|
||||
+ memset (tpp->aeHistogram, 0, (65536>>tpp->aeHistCompression)*sizeof(int));
|
||||
+ int radd = 4;
|
||||
+ int gadd = 2;
|
||||
@ -717,8 +879,6 @@
|
||||
+
|
||||
+ free (image);
|
||||
+
|
||||
+dcrMutex->unlock ();
|
||||
+
|
||||
+ return tpp;
|
||||
+}
|
||||
+
|
||||
|
@ -167,13 +167,16 @@ void Crop::update (int todo, bool internal) {
|
||||
|
||||
// shadows & highlights & tone curve & convert to cielab
|
||||
if (todo & M_RGBCURVE)
|
||||
parent->ipf.rgbProc (baseCrop, laboCrop, parent->tonecurve, cshmap);
|
||||
parent->ipf.rgbProc (baseCrop, laboCrop, parent->tonecurve1, parent->tonecurve2, cshmap);
|
||||
|
||||
|
||||
// apply luminance operations
|
||||
if (todo & (M_LUMINANCE+M_COLOR)) {
|
||||
parent->ipf.luminanceCurve (laboCrop, labnCrop, parent->lumacurve, 0, croph);
|
||||
parent->ipf.colorCurve (laboCrop, labnCrop);
|
||||
parent->ipf.luminanceCurve (laboCrop, labnCrop, parent->lumacurve2, 0, croph);
|
||||
parent->ipf.chrominanceCurve (laboCrop, labnCrop, 0, parent->chroma_acurve, 0, croph);
|
||||
parent->ipf.chrominanceCurve (laboCrop, labnCrop, 1, parent->chroma_bcurve, 0, croph);
|
||||
|
||||
parent->ipf.colorCurve (labnCrop, labnCrop);
|
||||
|
||||
if (skip==1) {
|
||||
parent->ipf.impulsedenoise (labnCrop);
|
||||
@ -347,7 +350,9 @@ void Crop::fullUpdate () {
|
||||
|
||||
parent->updaterThreadStart.lock ();
|
||||
if (parent->updaterRunning && parent->thread) {
|
||||
parent->changeSinceLast = 0;
|
||||
// Do NOT reset changes here, since in a long chain of events it will lead to chroma_scale not being updated,
|
||||
// causing ImProcFunctions::lab2rgb to return a black image on some opens
|
||||
//parent->changeSinceLast = 0;
|
||||
parent->thread->join ();
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ namespace rtengine {
|
||||
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
};
|
||||
}
|
||||
|
||||
void ImProcFunctions::dirpyr_channel(unsigned short ** data_fine, unsigned short ** data_coarse, int width, int height, int * rangefn, int level, int scale, const double * mult )
|
||||
{
|
||||
@ -220,7 +220,7 @@ namespace rtengine {
|
||||
#endif
|
||||
for(int i = 0; i < height; i++) {
|
||||
for(int j = 0; j < width; j++)
|
||||
{
|
||||
{
|
||||
float val=0;
|
||||
float norm=0;
|
||||
|
||||
@ -238,14 +238,12 @@ namespace rtengine {
|
||||
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
void ImProcFunctions::idirpyr_eq_channel(unsigned short ** data_coarse, unsigned short ** data_fine, int ** buffer, int width, int height, int level, const double * mult )
|
||||
{
|
||||
int hipass;
|
||||
|
||||
float noisehi = 1.33*noise*mult[4]/pow(3,level), noiselo = 0.66*noise*mult[4]/pow(3,level);
|
||||
float * irangefn = new float [0x20000];
|
||||
|
||||
@ -265,15 +263,16 @@ namespace rtengine {
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel for
|
||||
#endif
|
||||
for(int i = 0; i < height; i++)
|
||||
for(int i = 0; i < height; i++) {
|
||||
for(int j = 0; j < width; j++) {
|
||||
hipass = (data_fine[i][j]-data_coarse[i][j]);
|
||||
int hipass = (data_fine[i][j]-data_coarse[i][j]);
|
||||
buffer[i][j] += irangefn[hipass+0x10000] * hipass ;
|
||||
}
|
||||
}
|
||||
|
||||
delete [] irangefn;
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#undef DIRWT_L
|
||||
|
@ -31,13 +31,12 @@
|
||||
|
||||
template<class T> void gaussHorizontal3 (T** src, T** dst, T* buffer, int W, int H, const float c0, const float c1, bool multiThread) {
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
for (int i=0; i<H; i++) {
|
||||
|
||||
#ifdef _OPENMP
|
||||
T* temp = buffer + omp_get_thread_num() * W;
|
||||
#else
|
||||
T* temp = buffer;
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++) {
|
||||
T* temp = buffer;
|
||||
for (int j=1; j<W-1; j++)
|
||||
temp[j] = (T)(c1 * (src[i][j-1] + src[i][j+1]) + c0 * src[i][j]);
|
||||
dst[i][0] = src[i][0];
|
||||
@ -48,13 +47,12 @@ template<class T> void gaussHorizontal3 (T** src, T** dst, T* buffer, int W, int
|
||||
|
||||
template<class T> void gaussVertical3 (T** src, T** dst, T* buffer, int W, int H, const float c0, const float c1, bool multiThread) {
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
for (int i=0; i<W; i++) {
|
||||
//#pragma omp parallel for if (multiThread)
|
||||
#ifdef _OPENMP
|
||||
T* temp = buffer + omp_get_thread_num() * H;
|
||||
#else
|
||||
T* temp = buffer;
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<W; i++) {
|
||||
T* temp = buffer;
|
||||
for (int j = 1; j<H-1; j++)
|
||||
temp[j] = (T)(c1 * (src[j-1][i] + src[j+1][i]) + c0 * src[j][i]);
|
||||
dst[0][i] = src[0][i];
|
||||
@ -114,14 +112,10 @@ template<class T> void gaussHorizontal (T** src, T** dst, AlignedBuffer<double>*
|
||||
for (int i=0; i<3; i++)
|
||||
for (int j=0; j<3; j++)
|
||||
M[i][j] /= (1.0+b1-b2+b3)*(1.0+b2+(b1-b3)*b3);
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
// if (multiThread)
|
||||
#pragma omp for
|
||||
for (int i=0; i<H; i++) {
|
||||
#ifdef _OPENMP
|
||||
double* temp2 = buffer->data + omp_get_thread_num() * W;
|
||||
#else
|
||||
double* temp2 = buffer->data;
|
||||
#endif
|
||||
temp2[0] = B * src[i][0] + b1*src[i][0] + b2*src[i][0] + b3*src[i][0];
|
||||
temp2[1] = B * src[i][1] + b1*temp2[0] + b2*src[i][0] + b3*src[i][0];
|
||||
temp2[2] = B * src[i][2] + b1*temp2[1] + b2*temp2[0] + b3*src[i][0];
|
||||
@ -192,14 +186,11 @@ template<class T> void gaussVertical (T** src, T** dst, AlignedBuffer<double>* b
|
||||
for (int i=0; i<3; i++)
|
||||
for (int j=0; j<3; j++)
|
||||
M[i][j] /= (1.0+b1-b2+b3)*(1.0+b2+(b1-b3)*b3);
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
for (int i=0; i<W; i++) {
|
||||
#ifdef _OPENMP
|
||||
double* temp2 = buffer->data + omp_get_thread_num() * H;
|
||||
#else
|
||||
double* temp2 = buffer->data;
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<W; i++) {
|
||||
double* temp2 = buffer->data;
|
||||
temp2[0] = B * src[0][i] + b1*src[0][i] + b2*src[0][i] + b3*src[0][i];
|
||||
temp2[1] = B * src[1][i] + b1*temp2[0] + b2*src[0][i] + b3*src[0][i];
|
||||
temp2[2] = B * src[2][i] + b1*temp2[1] + b2*temp2[0] + b3*src[0][i];
|
||||
|
@ -27,8 +27,6 @@
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
ICCStore iccStore;
|
||||
|
||||
const double (*wprofiles[])[3] = {sRGB_d50, adobe_d50, prophoto_d50, widegamut_d50, bruce_d50, beta_d50, best_d50};
|
||||
const double (*iwprofiles[])[3] = {d50_sRGB, d50_adobe, d50_prophoto, d50_widegamut, d50_bruce, d50_beta, d50_best};
|
||||
const char* wpnames[] = {"sRGB", "Adobe RGB", "ProPhoto", "WideGamut", "BruceRGB", "Beta RGB", "BestRGB"};
|
||||
@ -43,11 +41,13 @@ std::vector<std::string> getWorkingProfiles () {
|
||||
|
||||
std::vector<std::string> getOutputProfiles () {
|
||||
|
||||
return iccStore.getOutputProfiles ();
|
||||
return iccStore->getOutputProfiles ();
|
||||
}
|
||||
|
||||
std::vector<std::string> ICCStore::getOutputProfiles () {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
std::vector<std::string> res;
|
||||
for (std::map<std::string, cmsHPROFILE>::iterator i=fileProfiles.begin(); i!=fileProfiles.end(); i++)
|
||||
res.push_back (i->first);
|
||||
@ -55,14 +55,30 @@ std::vector<std::string> ICCStore::getOutputProfiles () {
|
||||
}
|
||||
|
||||
|
||||
ICCStore::ICCStore () {
|
||||
ICCStore*
|
||||
ICCStore::getInstance(void)
|
||||
{
|
||||
static ICCStore* instance_ = 0;
|
||||
if ( instance_ == 0 )
|
||||
{
|
||||
static Glib::Mutex smutex_;
|
||||
Glib::Mutex::Lock lock(smutex_);
|
||||
if ( instance_ == 0 )
|
||||
{
|
||||
instance_ = new ICCStore();
|
||||
}
|
||||
}
|
||||
return instance_;
|
||||
}
|
||||
|
||||
ICCStore::ICCStore ()
|
||||
{
|
||||
cmsErrorAction (LCMS_ERROR_SHOW);
|
||||
|
||||
int N = sizeof(wpnames)/sizeof(wpnames[0]);
|
||||
for (int i=0; i<N; i++) {
|
||||
wProfiles[wpnames[i]] = iccStore.createFromMatrix (wprofiles[i]);
|
||||
wProfilesGamma[wpnames[i]] = iccStore.createFromMatrix (wprofiles[i], true);
|
||||
wProfiles[wpnames[i]] = createFromMatrix (wprofiles[i]);
|
||||
wProfilesGamma[wpnames[i]] = createFromMatrix (wprofiles[i], true);
|
||||
wMatrices[wpnames[i]] = wprofiles[i];
|
||||
iwMatrices[wpnames[i]] = iwprofiles[i];
|
||||
}
|
||||
@ -115,6 +131,7 @@ cmsHPROFILE ICCStore::workingSpaceGamma (Glib::ustring name) {
|
||||
|
||||
cmsHPROFILE ICCStore::getProfile (Glib::ustring name) {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
std::map<std::string, cmsHPROFILE>::iterator r = fileProfiles.find (name);
|
||||
if (r!=fileProfiles.end())
|
||||
@ -137,11 +154,15 @@ cmsHPROFILE ICCStore::getProfile (Glib::ustring name) {
|
||||
|
||||
ProfileContent ICCStore::getContent (Glib::ustring name) {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
return fileProfileContents[name];
|
||||
}
|
||||
|
||||
std::vector<std::string> ICCStore::parseDir (Glib::ustring pdir) {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
fileProfiles.clear ();
|
||||
fileProfileContents.clear ();
|
||||
std::vector<std::string> result;
|
||||
@ -164,7 +185,7 @@ std::vector<std::string> ICCStore::parseDir (Glib::ustring pdir) {
|
||||
// ignore directories
|
||||
if (!Glib::file_test (fname, Glib::FILE_TEST_IS_DIR)) {
|
||||
int lastdot = sname.find_last_of ('.');
|
||||
if (lastdot!=Glib::ustring::npos && lastdot<=sname.size()-4 && (!sname.casefold().compare (lastdot, 4, ".icm") || !sname.casefold().compare (lastdot, 4, ".icc"))) {
|
||||
if (lastdot!=Glib::ustring::npos && lastdot<=(int)sname.size()-4 && (!sname.casefold().compare (lastdot, 4, ".icm") || !sname.casefold().compare (lastdot, 4, ".icc"))) {
|
||||
// printf ("processing file %s...\n", fname.c_str());
|
||||
Glib::ustring name = sname.substr(0,lastdot);
|
||||
ProfileContent pc (fname);
|
||||
@ -309,6 +330,8 @@ cmsHPROFILE ICCStore::createFromMatrix (const double matrix[3][3], bool gamma, G
|
||||
strcpy ((char *)oprof+pbody[5]+12, name.c_str());
|
||||
|
||||
|
||||
return cmsOpenProfileFromMem (oprof, ntohl(oprof[0]));
|
||||
cmsHPROFILE p = cmsOpenProfileFromMem (oprof, ntohl(oprof[0]));
|
||||
delete [] oprof;
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
@ -54,9 +54,14 @@ class ICCStore {
|
||||
|
||||
cmsHPROFILE xyz;
|
||||
cmsHPROFILE srgb;
|
||||
|
||||
Glib::Mutex mutex_;
|
||||
|
||||
ICCStore ();
|
||||
|
||||
public:
|
||||
ICCStore ();
|
||||
|
||||
static ICCStore* getInstance(void);
|
||||
|
||||
int numOfWProfiles ();
|
||||
cmsHPROFILE createFromMatrix (const double matrix[3][3], bool gamma=false, Glib::ustring name="");
|
||||
@ -74,7 +79,7 @@ class ICCStore {
|
||||
std::vector<std::string> getOutputProfiles ();
|
||||
};
|
||||
|
||||
extern ICCStore iccStore;
|
||||
#define iccStore ICCStore::getInstance()
|
||||
|
||||
//extern const char* wpnames[];
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <image16.h>
|
||||
#include <image8.h>
|
||||
#include <string.h>
|
||||
#include <rtengine.h>
|
||||
|
||||
@ -239,3 +240,19 @@ Image16* Image16::resize (int nw, int nh, TypeInterpolation interp) {
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Image8*
|
||||
Image16::to8() const
|
||||
{
|
||||
Image8* img8 = new Image8(width,height);
|
||||
for ( int h = 0; h < height; ++h )
|
||||
{
|
||||
for ( int w = 0; w < width; ++w )
|
||||
{
|
||||
img8->r(h,w,r[h][w] >> 8);
|
||||
img8->g(h,w,g[h][w] >> 8);
|
||||
img8->b(h,w,b[h][w] >> 8);
|
||||
}
|
||||
}
|
||||
return img8;
|
||||
}
|
||||
|
@ -29,6 +29,8 @@ namespace rtengine {
|
||||
|
||||
enum TypeInterpolation { TI_Nearest, TI_Bilinear };
|
||||
|
||||
class Image8;
|
||||
|
||||
class Image16 : public ImageIO, public IImage16 {
|
||||
|
||||
private:
|
||||
@ -54,6 +56,8 @@ class Image16 : public ImageIO, public IImage16 {
|
||||
|
||||
Image16* copy ();
|
||||
|
||||
Image8* to8() const;
|
||||
|
||||
Image16* rotate (int deg);
|
||||
Image16* hflip ();
|
||||
Image16* vflip ();
|
||||
|
@ -95,7 +95,7 @@ ImageData::ImageData (Glib::ustring fname, RawMetaDataLocation* ri) {
|
||||
extractInfo ();
|
||||
}
|
||||
}
|
||||
else if (dotpos<fname.size()-3 && !fname.casefold().compare (dotpos, 4, ".jpg")) {
|
||||
else if (dotpos<(int)fname.size()-3 && !fname.casefold().compare (dotpos, 4, ".jpg")) {
|
||||
FILE* f = g_fopen (fname.c_str (), "rb");
|
||||
if (f) {
|
||||
root = rtexif::ExifManager::parseJPEG (f);
|
||||
@ -106,7 +106,7 @@ ImageData::ImageData (Glib::ustring fname, RawMetaDataLocation* ri) {
|
||||
fclose (ff);
|
||||
}
|
||||
}
|
||||
else if ((dotpos<fname.size()-3 && !fname.casefold().compare (dotpos, 4, ".tif")) || (dotpos<fname.size()-4 && !fname.casefold().compare (dotpos, 5, ".tiff"))) {
|
||||
else if ((dotpos<(int)fname.size()-3 && !fname.casefold().compare (dotpos, 4, ".tif")) || (dotpos<fname.size()-4 && !fname.casefold().compare (dotpos, 5, ".tiff"))) {
|
||||
FILE* f = g_fopen (fname.c_str (), "rb");
|
||||
if (f) {
|
||||
root = rtexif::ExifManager::parseTIFF (f);
|
||||
|
1673
rtengine/imageio.cc
1673
rtengine/imageio.cc
File diff suppressed because it is too large
Load Diff
@ -72,6 +72,8 @@ class ImageIO {
|
||||
int loadJPEG (Glib::ustring fname);
|
||||
int loadTIFF (Glib::ustring fname);
|
||||
|
||||
int loadJPEGFromMemory (const char* buffer, int bufsize);
|
||||
|
||||
int savePNG (Glib::ustring fname, int compression = -1, int bps = -1);
|
||||
int saveJPEG (Glib::ustring fname, int quality = 100);
|
||||
int saveTIFF (Glib::ustring fname, int bps = -1, bool uncompressed = false);
|
||||
|
@ -65,7 +65,7 @@ class ImageSource : public InitialImage {
|
||||
ImageSource () : references (1), embProfile(NULL), idata(NULL) {}
|
||||
|
||||
virtual ~ImageSource () {}
|
||||
virtual int load (Glib::ustring fname) =0;
|
||||
virtual int load (Glib::ustring fname, bool batch = false) =0;
|
||||
virtual void preprocess (const RAWParams &raw){};
|
||||
virtual void demosaic (const RAWParams &raw){};
|
||||
virtual void getImage (ColorTemp ctemp, int tran, Image16* image, PreviewProps pp, HRecParams hlp, ColorManagementParams cmp, RAWParams raw) {}
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <curves.h>
|
||||
#include <mytime.h>
|
||||
#include <refreshmap.h>
|
||||
#include <simpleprocess.h>
|
||||
#define CLIPTO(a,b,c) ((a)>b?((a)<c?(a):c):b)
|
||||
#define CLIP(a) ((a)<65535 ? (a) : (65535));
|
||||
|
||||
@ -165,8 +166,8 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) {
|
||||
|
||||
progress ("Exposure curve & CIELAB conversion...",100*readyphase/numofphases);
|
||||
if (todo & M_RGBCURVE) {
|
||||
CurveFactory::complexCurve (params.toneCurve.expcomp, params.toneCurve.black/65535.0, params.toneCurve.hlcompr, params.toneCurve.shcompr, params.toneCurve.brightness, params.toneCurve.contrast, imgsrc->getDefGain(), imgsrc->getGamma(), true, params.toneCurve.curve, vhist16, tonecurve, bcrgbhist, scale==1 ? 1 : 1);
|
||||
ipf.rgbProc (oprevi, oprevl, tonecurve, shmap);
|
||||
CurveFactory::complexCurve (params.toneCurve.expcomp, params.toneCurve.black/65535.0, params.toneCurve.hlcompr, params.toneCurve.shcompr, params.toneCurve.brightness, params.toneCurve.contrast, imgsrc->getDefGain(), imgsrc->getGamma(), true, params.toneCurve.curve, vhist16, tonecurve1, tonecurve2, bcrgbhist, scale==1 ? 1 : 1);
|
||||
ipf.rgbProc (oprevi, oprevl, tonecurve1, tonecurve2, shmap);
|
||||
|
||||
// recompute luminance histogram
|
||||
memset (lhist16, 0, 65536*sizeof(int));
|
||||
@ -176,15 +177,23 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) {
|
||||
}
|
||||
readyphase++;
|
||||
|
||||
if (todo & M_LUMACURVE)
|
||||
CurveFactory::complexCurve (0.0, 0.0, 0.0, 0.0, params.lumaCurve.brightness, params.lumaCurve.contrast, 0.0, 0.0, false, params.lumaCurve.curve, lhist16, lumacurve, bcLhist, scale==1 ? 1 : 16);
|
||||
|
||||
if (todo & M_LUMACURVE) {
|
||||
CurveFactory::complexCurve (0.0, 0.0, 0.0, 0.0, params.labCurve.brightness, params.labCurve.contrast, 0.0, 0.0, false, params.labCurve.lcurve, lhist16, lumacurve1, lumacurve2, bcLhist, scale==1 ? 1 : 16);
|
||||
CurveFactory::complexsgnCurve (0.0, 100.0, params.labCurve.saturation, 1.0, params.labCurve.acurve, chroma_acurve, scale==1 ? 1 : 16);
|
||||
CurveFactory::complexsgnCurve (0.0, 100.0, params.labCurve.saturation, 1.0, params.labCurve.bcurve, chroma_bcurve, scale==1 ? 1 : 16);
|
||||
}
|
||||
|
||||
|
||||
if (todo & (M_LUMINANCE+M_COLOR) ) {
|
||||
progress ("Applying Luminance Curve...",100*readyphase/numofphases);
|
||||
ipf.luminanceCurve (oprevl, nprevl, lumacurve, 0, pH);
|
||||
ipf.luminanceCurve (oprevl, nprevl, lumacurve2, 0, pH);
|
||||
|
||||
readyphase++;
|
||||
progress ("Applying Color Boost...",100*readyphase/numofphases);
|
||||
ipf.colorCurve (oprevl, nprevl);
|
||||
ipf.chrominanceCurve (oprevl, nprevl, 0, chroma_acurve, 0, pH);
|
||||
ipf.chrominanceCurve (oprevl, nprevl, 1, chroma_bcurve, 0, pH);
|
||||
ipf.colorCurve (nprevl, nprevl);
|
||||
|
||||
readyphase++;
|
||||
if (scale==1) {
|
||||
progress ("Denoising luminance impulse...",100*readyphase/numofphases);
|
||||
@ -228,7 +237,16 @@ void ImProcCoordinator::updatePreviewImage (int todo, Crop* cropCall) {
|
||||
progress ("Conversion to RGB...",100*readyphase/numofphases);
|
||||
if (todo!=CROP) {
|
||||
previmg->getMutex().lock();
|
||||
ipf.lab2rgb (nprevl, previmg);
|
||||
try
|
||||
{
|
||||
ipf.lab2rgb (nprevl, previmg);
|
||||
}
|
||||
catch(char * str)
|
||||
{
|
||||
progress ("Error converting file...",0);
|
||||
mProcessing.unlock ();
|
||||
return;
|
||||
}
|
||||
previmg->getMutex().unlock();
|
||||
}
|
||||
if (!resultValid) {
|
||||
@ -538,7 +556,11 @@ void ImProcCoordinator::startProcessing () {
|
||||
thread = NULL;
|
||||
updaterRunning = true;
|
||||
updaterThreadStart.unlock ();
|
||||
thread = Glib::Thread::create(sigc::mem_fun(*this, &ImProcCoordinator::process), 0, false, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
|
||||
batchThread->yield(); //the running batch should wait other threads to avoid conflict
|
||||
|
||||
thread = Glib::Thread::create(sigc::mem_fun(*this, &ImProcCoordinator::process), 0, true, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
|
||||
}
|
||||
else
|
||||
updaterThreadStart.unlock ();
|
||||
|
@ -62,13 +62,18 @@ class ImProcCoordinator : public StagedImageProcessor {
|
||||
|
||||
void freeAll ();
|
||||
|
||||
int tonecurve [65536];
|
||||
int lumacurve [65536];
|
||||
int tonecurve1 [65536];
|
||||
int tonecurve2 [65536];
|
||||
|
||||
int lumacurve1 [65536];
|
||||
int lumacurve2 [65536];
|
||||
int chroma_acurve [65536];
|
||||
int chroma_bcurve [65536];
|
||||
|
||||
unsigned int vhist16[65536];
|
||||
unsigned int lhist16[65536];
|
||||
|
||||
unsigned int rhist[256], ghist[256], bhist[256], Lhist[256], bcrgbhist[256], bcLhist[256];
|
||||
unsigned int rhist[256], ghist[256], bhist[256], Lhist[256], bcrgbhist[256], bcLhist[256], bcabhist[256];
|
||||
|
||||
int fw, fh, tr, fullw, fullh;
|
||||
int pW, pH;
|
||||
|
@ -124,7 +124,7 @@ void ImProcFunctions::setScale (double iscale) {
|
||||
|
||||
void ImProcFunctions::firstAnalysis_ (Image16* original, Glib::ustring wprofile, unsigned int* histogram, int* chroma_radius, int row_from, int row_to) {
|
||||
|
||||
TMatrix wprof = iccStore.workingSpaceMatrix (wprofile);
|
||||
TMatrix wprof = iccStore->workingSpaceMatrix (wprofile);
|
||||
int toxyz[3][3];
|
||||
toxyz[0][0] = round(32768.0 * wprof[0][0] / 0.96422);
|
||||
toxyz[1][0] = round(32768.0 * wprof[1][0] / 0.96422);
|
||||
@ -184,12 +184,12 @@ void ImProcFunctions::firstAnalysis (Image16* original, const ProcParams* params
|
||||
if (monitorTransform)
|
||||
cmsDeleteTransform (monitorTransform);
|
||||
monitorTransform = NULL;
|
||||
cmsHPROFILE monitor = iccStore.getProfile ("file:"+settings->monitorProfile);
|
||||
cmsHPROFILE monitor = iccStore->getProfile ("file:"+settings->monitorProfile);
|
||||
if (monitor) {
|
||||
cmsHPROFILE iprof = iccStore.getXYZProfile ();
|
||||
cmsHPROFILE oprof = iccStore.getProfile (params->icm.output);
|
||||
cmsHPROFILE iprof = iccStore->getXYZProfile ();
|
||||
cmsHPROFILE oprof = iccStore->getProfile (params->icm.output);
|
||||
if (!oprof)
|
||||
oprof = iccStore.getsRGBProfile ();
|
||||
oprof = iccStore->getsRGBProfile ();
|
||||
lcmsMutex->lock ();
|
||||
monitorTransform = cmsCreateTransform (iprof, TYPE_RGB_16, monitor, TYPE_RGB_8, settings->colorimetricIntent, 0);
|
||||
lcmsMutex->unlock ();
|
||||
@ -245,7 +245,7 @@ void ImProcFunctions::firstAnalysis (Image16* original, const ProcParams* params
|
||||
delete [] hist;
|
||||
}
|
||||
|
||||
void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve, SHMap* shmap) {
|
||||
void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve1, int* tonecurve2, SHMap* shmap) {
|
||||
|
||||
int h_th, s_th;
|
||||
if (shmap) {
|
||||
@ -257,7 +257,7 @@ void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve,
|
||||
bool processLCE = params->sh.enabled && shmap!=NULL && params->sh.localcontrast>0;
|
||||
double lceamount = params->sh.localcontrast / 200.0;
|
||||
|
||||
TMatrix wprof = iccStore.workingSpaceMatrix (params->icm.working);
|
||||
TMatrix wprof = iccStore->workingSpaceMatrix (params->icm.working);
|
||||
int toxyz[3][3] = {
|
||||
{
|
||||
floor(32768.0 * wprof[0][0] / 0.96422),
|
||||
@ -321,10 +321,43 @@ void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve,
|
||||
b = CLIP((int)(factor*b));
|
||||
}
|
||||
}
|
||||
r = tonecurve[r];
|
||||
/*r = tonecurve[r];
|
||||
g = tonecurve[g];
|
||||
b = tonecurve[b];
|
||||
b = tonecurve[b];*/
|
||||
int Y = (0.299*r + 0.587*g + 0.114*b);
|
||||
int Ynew = tonecurve1[Y];
|
||||
float tonefactor = (Y>0 ? (float)Ynew/Y : 1);
|
||||
|
||||
r *= tonefactor;
|
||||
g *= tonefactor;
|
||||
b *= tonefactor;
|
||||
/*float maxfactor = 1;
|
||||
if (r>65535)
|
||||
maxfactor = MIN(maxfactor, (float)(65535.0f-Ynew)/(r-Ynew));
|
||||
if (g>65535)
|
||||
maxfactor = MIN(maxfactor, (float)(65535.0f-Ynew)/(g-Ynew));
|
||||
if (b>65535)
|
||||
maxfactor = MIN(maxfactor, (float)(65535.0f-Ynew)/(b-Ynew));
|
||||
|
||||
if (r<0)
|
||||
maxfactor = MIN(maxfactor, ((float)Ynew)/(Ynew-r));
|
||||
if (g<0)
|
||||
maxfactor = MIN(maxfactor, ((float)Ynew)/(Ynew-g));
|
||||
if (b<0)
|
||||
maxfactor = MIN(maxfactor, ((float)Ynew)/(Ynew-b));
|
||||
|
||||
float U = (float)(-0.14713*r - 0.28886*g + 0.436*b)*maxfactor;
|
||||
float V = (float)(0.615*r - 0.51499*g - 0.10001*b)*maxfactor;
|
||||
|
||||
r = CLIP(Ynew + 1.13983*V);
|
||||
g = CLIP(Ynew - 0.39465*U - 0.58060*V);
|
||||
b = CLIP(Ynew + 2.03211*U);*/
|
||||
|
||||
r = tonecurve2[CLIP(r)];
|
||||
g = tonecurve2[CLIP(g)];
|
||||
b = tonecurve2[CLIP(b)];
|
||||
|
||||
|
||||
int x = (toxyz[0][0] * r + toxyz[1][0] * g + toxyz[2][0] * b) >> 15;
|
||||
int y = (toxyz[0][1] * r + toxyz[1][1] * g + toxyz[2][1] * b) >> 15;
|
||||
int z = (toxyz[0][2] * r + toxyz[1][2] * g + toxyz[2][2] * b) >> 15;
|
||||
@ -344,11 +377,27 @@ void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve,
|
||||
void ImProcFunctions::luminanceCurve (LabImage* lold, LabImage* lnew, int* curve, int row_from, int row_to) {
|
||||
|
||||
int W = lold->W;
|
||||
int H = lold->H;
|
||||
//int H = lold->H;
|
||||
for (int i=row_from; i<row_to; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
lnew->L[i][j] = curve[lold->L[i][j]];
|
||||
}
|
||||
|
||||
void ImProcFunctions::chrominanceCurve (LabImage* lold, LabImage* lnew, int channel, int* curve, int row_from, int row_to) {
|
||||
|
||||
int W = lold->W;
|
||||
//int H = lold->H;
|
||||
if (channel==0) {
|
||||
for (int i=row_from; i<row_to; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
lnew->a[i][j] = curve[lold->a[i][j]+32768]-32768;
|
||||
}
|
||||
if (channel==1) {
|
||||
for (int i=row_from; i<row_to; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
lnew->b[i][j] = curve[lold->b[i][j]+32768]-32768;
|
||||
}
|
||||
}
|
||||
|
||||
#include "cubic.cc"
|
||||
|
||||
@ -458,6 +507,9 @@ void ImProcFunctions::colorCurve (LabImage* lold, LabImage* lnew) {
|
||||
void ImProcFunctions::lumadenoise (LabImage* lab, int** b2) {
|
||||
|
||||
if (params->lumaDenoise.enabled && lab->W>=8 && lab->H>=8)
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel
|
||||
#endif
|
||||
bilateral<unsigned short, unsigned int> (lab->L, lab->L, (unsigned short**)b2, lab->W, lab->H, params->lumaDenoise.radius / scale, params->lumaDenoise.edgetolerance, multiThread);
|
||||
}
|
||||
|
||||
@ -465,10 +517,10 @@ void ImProcFunctions::colordenoise (LabImage* lab, int** b2) {
|
||||
|
||||
if (params->colorDenoise.enabled && lab->W>=8 && lab->H>=8) {
|
||||
#ifdef _OPENMP
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(lab->W,lab->H)*omp_get_max_threads());
|
||||
#else
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(lab->W,lab->H));
|
||||
#pragma omp parallel
|
||||
#endif
|
||||
{
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(lab->W,lab->H));
|
||||
gaussHorizontal<short> (lab->a, lab->a, buffer, lab->W, lab->H, params->colorDenoise.amount / 10.0 / scale, multiThread);
|
||||
gaussHorizontal<short> (lab->b, lab->b, buffer, lab->W, lab->H, params->colorDenoise.amount / 10.0 / scale, multiThread);
|
||||
gaussVertical<short> (lab->a, lab->a, buffer, lab->W, lab->H, params->colorDenoise.amount / 10.0 / scale, multiThread);
|
||||
@ -476,6 +528,7 @@ void ImProcFunctions::colordenoise (LabImage* lab, int** b2) {
|
||||
|
||||
delete buffer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ImProcFunctions::getAutoExp (unsigned int* histogram, int histcompr, double expcomp, double clip, double& br, int& bl) {
|
||||
@ -506,7 +559,7 @@ void ImProcFunctions::getAutoExp (unsigned int* histogram, int histcompr, doubl
|
||||
double corr = pow(2.0, expcomp);
|
||||
|
||||
// black point selection is based on the linear result (yielding better visual results)
|
||||
bl = (int)(shc * corr);
|
||||
bl = (int)(shc /* * corr*/);
|
||||
// compute the white point of the exp. compensated gamma corrected image
|
||||
double awg = (int)(CurveFactory::gamma2 (aw * corr / 65536.0) * 65536.0);
|
||||
|
||||
|
@ -79,8 +79,9 @@ class ImProcFunctions {
|
||||
bool needsTransform ();
|
||||
|
||||
void firstAnalysis (Image16* working, const ProcParams* params, unsigned int* vhist16, double gamma);
|
||||
void rgbProc (Image16* working, LabImage* lab, int* tonecurve, SHMap* shmap);
|
||||
void rgbProc (Image16* working, LabImage* lab, int* tonecurve1, int* tonecurve2, SHMap* shmap);
|
||||
void luminanceCurve (LabImage* lold, LabImage* lnew, int* curve, int row_from, int row_to);
|
||||
void chrominanceCurve (LabImage* lold, LabImage* lnew, int channel, int* curve, int row_from, int row_to);
|
||||
void colorCurve (LabImage* lold, LabImage* lnew);
|
||||
void sharpening (LabImage* lab, unsigned short** buffer);
|
||||
void lumadenoise (LabImage* lab, int** buffer);
|
||||
|
@ -24,15 +24,17 @@
|
||||
#include <algorithm>
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// Gabor's implementation of bilateral filtering, without input pixel
|
||||
// modified version of Gabor's implementation of bilateral filtering, without input pixel
|
||||
|
||||
#define NBRWT(a,b) (src[i - a][j - b] * ec[src[i - a][j - b]-src[i][j]+0x10000])
|
||||
#define NORM(a,b) (1 + ec[src[i - a][j - b]-src[i][j]+0x10000])
|
||||
#define NORM(a,b) (ec[src[i - a][j - b]-src[i][j]+0x10000])
|
||||
|
||||
//ec[i] = (int)(exp(-(double)(i-0x10000)*(double)(i-0x10000) / (2.0*rangewidth*rangewidth))*scale); \
|
||||
|
||||
#define RB_BEGIN(a,b) double scale = (a); \
|
||||
int* ec = new int [0x20000]; \
|
||||
for (int i=0; i<0x20000; i++) \
|
||||
ec[i] = (int)(exp(-(double)(i-0x10000)*(double)(i-0x10000) / (2.0*rangewidth*rangewidth))*scale); \
|
||||
ec[i] = (int)(1 + 1024/(abs(i-0x10000) + 1)); \
|
||||
int rstart = b; \
|
||||
int rend = H-b; \
|
||||
int cstart = b; \
|
||||
@ -97,7 +99,7 @@ template<class T> void impulse_nr (T** src, T** dst, int width, int height, doub
|
||||
//The cleaning algorithm starts here
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// modified bilateral filter for lowpass image, omitting input pixel
|
||||
// modified bilateral filter for lowpass image, omitting input pixel; or Gaussian blur
|
||||
|
||||
static float eps = 1.0;
|
||||
float wtdsum, dirwt, norm;
|
||||
@ -127,7 +129,7 @@ template<class T> void impulse_nr (T** src, T** dst, int width, int height, doub
|
||||
hfnbrave = (hfnbrave-hpfabs)/24;
|
||||
hpfabs>(hfnbrave*(5.5-thresh)) ? impish[i][j]=1 : impish[i][j]=0;
|
||||
|
||||
}//now impulsive values have been corrected
|
||||
}//now impulsive values have been identified
|
||||
|
||||
for (int i=0; i < height; i++)
|
||||
for (int j=0; j < width; j++) {
|
||||
|
@ -33,7 +33,7 @@ Glib::Mutex* lcmsMutex = NULL;
|
||||
int init (const Settings* s) {
|
||||
|
||||
settings = s;
|
||||
iccStore.parseDir (s->iccDirectory);
|
||||
iccStore->parseDir (s->iccDirectory);
|
||||
CurveFactory::init ();
|
||||
ImProcFunctions::initCache ();
|
||||
delete dcrMutex;
|
||||
|
@ -38,6 +38,9 @@ extern const Settings* settings;
|
||||
|
||||
void ImProcFunctions::lab2rgb (LabImage* lab, Image8* image) {
|
||||
|
||||
if (chroma_scale == 0)
|
||||
return;
|
||||
|
||||
if (monitorTransform) {
|
||||
int ix = 0;
|
||||
short* buffer = new short [3*lab->W];
|
||||
@ -111,10 +114,10 @@ Image8* ImProcFunctions::lab2rgb (LabImage* lab, int cx, int cy, int cw, int ch,
|
||||
|
||||
Image8* image = new Image8 (cw, ch);
|
||||
|
||||
cmsHPROFILE oprof = iccStore.getProfile (profile);
|
||||
cmsHPROFILE oprof = iccStore->getProfile (profile);
|
||||
|
||||
if (oprof) {
|
||||
cmsHPROFILE iprof = iccStore.getXYZProfile ();
|
||||
cmsHPROFILE iprof = iccStore->getXYZProfile ();
|
||||
lcmsMutex->lock ();
|
||||
cmsHTRANSFORM hTransform = cmsCreateTransform (iprof, TYPE_RGB_16, oprof, TYPE_RGB_8, settings->colorimetricIntent, 0);
|
||||
lcmsMutex->unlock ();
|
||||
@ -190,7 +193,7 @@ Image16* ImProcFunctions::lab2rgb16 (LabImage* lab, int cx, int cy, int cw, int
|
||||
|
||||
Image16* image = new Image16 (cw, ch);
|
||||
|
||||
cmsHPROFILE oprof = iccStore.getProfile (profile);
|
||||
cmsHPROFILE oprof = iccStore->getProfile (profile);
|
||||
|
||||
if (oprof) {
|
||||
#pragma omp parallel for if (multiThread)
|
||||
@ -219,7 +222,7 @@ Image16* ImProcFunctions::lab2rgb16 (LabImage* lab, int cx, int cy, int cw, int
|
||||
za[j-cx] = CLIP(z_);
|
||||
}
|
||||
}
|
||||
cmsHPROFILE iprof = iccStore.getXYZProfile ();
|
||||
cmsHPROFILE iprof = iccStore->getXYZProfile ();
|
||||
lcmsMutex->lock ();
|
||||
cmsHTRANSFORM hTransform = cmsCreateTransform (iprof, TYPE_RGB_16_PLANAR, oprof, TYPE_RGB_16_PLANAR, settings->colorimetricIntent, 0);
|
||||
lcmsMutex->unlock ();
|
||||
|
@ -37,7 +37,9 @@ namespace rtengine {
|
||||
|
||||
void ImProcFunctions::dcdamping (float** aI, unsigned short** aO, float damping, int W, int H) {
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++)
|
||||
for (int j=0; j<W; j++) {
|
||||
float I = aI[i][j];
|
||||
@ -69,10 +71,10 @@ void ImProcFunctions::deconvsharpening (LabImage* lab, unsigned short** b2) {
|
||||
|
||||
float** tmp = (float**)b2;
|
||||
#ifdef _OPENMP
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H)*omp_get_max_threads());
|
||||
#else
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H));
|
||||
#pragma omp parallel
|
||||
#endif
|
||||
{
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H));
|
||||
float damping = params->sharpening.deconvdamping / 5.0;
|
||||
bool needdamp = params->sharpening.deconvdamping > 0;
|
||||
for (int k=0; k<params->sharpening.deconviter; k++) {
|
||||
@ -82,7 +84,9 @@ void ImProcFunctions::deconvsharpening (LabImage* lab, unsigned short** b2) {
|
||||
gaussVertical<float> (tmp, tmp, buffer, W, H, params->sharpening.deconvradius / scale, multiThread);
|
||||
|
||||
if (!needdamp) {
|
||||
#pragma omp parallel for if (multiThread)
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
if (tmp[i][j]>0)
|
||||
@ -94,17 +98,25 @@ void ImProcFunctions::deconvsharpening (LabImage* lab, unsigned short** b2) {
|
||||
gaussHorizontal<float> (tmp, tmp, buffer, W, H, params->sharpening.deconvradius / scale, multiThread);
|
||||
gaussVertical<float> (tmp, tmp, buffer, W, H, params->sharpening.deconvradius / scale, multiThread);
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
tmpI[i][j] = tmpI[i][j] * tmp[i][j];
|
||||
}
|
||||
} // end for
|
||||
delete buffer;
|
||||
} // end parallel
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
lab->L[i][j] = lab->L[i][j]*(100-params->sharpening.deconvamount) / 100 + (int)CLIP(tmpI[i][j])*params->sharpening.deconvamount / 100;
|
||||
|
||||
|
||||
|
||||
for (int i=0; i<H; i++)
|
||||
delete [] tmpI[i];
|
||||
delete [] tmpI;
|
||||
@ -121,12 +133,13 @@ void ImProcFunctions::sharpening (LabImage* lab, unsigned short** b2) {
|
||||
return;
|
||||
|
||||
int W = lab->W, H = lab->H;
|
||||
unsigned short** b3;
|
||||
#ifdef _OPENMP
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H)*omp_get_max_threads());
|
||||
#else
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H));
|
||||
#pragma omp parallel
|
||||
#endif
|
||||
{
|
||||
unsigned short** b3;
|
||||
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H));
|
||||
if (params->sharpening.edgesonly==false) {
|
||||
|
||||
gaussHorizontal<unsigned short> (lab->L, b2, buffer, W, H, params->sharpening.radius / scale, multiThread);
|
||||
@ -148,7 +161,7 @@ void ImProcFunctions::sharpening (LabImage* lab, unsigned short** b2) {
|
||||
base = b3;
|
||||
|
||||
if (params->sharpening.halocontrol==false) {
|
||||
#pragma omp parallel for if (multiThread)
|
||||
#pragma omp for
|
||||
for (int i=0; i<H; i++)
|
||||
for (int j=0; j<W; j++) {
|
||||
int diff = base[i][j] - b2[i][j];
|
||||
@ -166,6 +179,7 @@ void ImProcFunctions::sharpening (LabImage* lab, unsigned short** b2) {
|
||||
delete [] b3[i];
|
||||
delete [] b3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ImProcFunctions::sharpenHaloCtrl (LabImage* lab, unsigned short** blurmap, unsigned short** base, int W, int H) {
|
||||
|
@ -223,25 +223,42 @@ void ImProcFunctions::transform (Image16* original, Image16* transformed, int cx
|
||||
transformSep (original, transformed, cx, cy, sx, sy, oW, oH);
|
||||
}
|
||||
|
||||
void calcVignettingParams(int oW, int oH, const VignettingParams& vignetting, double &w2, double &h2, double& maxRadius, double &v, double &b, double &mul)
|
||||
{
|
||||
// vignette center is a point with coordinates between -1 and +1
|
||||
double x = vignetting.centerX / 100.0;
|
||||
double y = vignetting.centerY / 100.0;
|
||||
|
||||
// calculate vignette center in pixels
|
||||
w2 = (double) oW / 2.0 - 0.5 + x * oW;
|
||||
h2 = (double) oH / 2.0 - 0.5 + y * oH;
|
||||
|
||||
// max vignette radius in pixels
|
||||
maxRadius = sqrt( (double)( oW*oW + oH*oH ) ) / 2.;
|
||||
|
||||
// vignette variables with applied strength
|
||||
v = 1.0 - vignetting.strength * vignetting.amount * 3.0 / 400.0;
|
||||
b = 1.0 + vignetting.radius * 7.0 / 100.0;
|
||||
mul = (1.0-v) / tanh(b);
|
||||
}
|
||||
|
||||
void ImProcFunctions::vignetting (Image16* original, Image16* transformed, int cx, int cy, int oW, int oH) {
|
||||
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
|
||||
double maxRadius = sqrt( (double)( oW*oW + oH*oH ) ) / 2;
|
||||
|
||||
double v = 1.0 - params->vignetting.amount * 3.0 / 400.0;
|
||||
double b = 1.0 + params->vignetting.radius * 7.0 / 100.0;
|
||||
|
||||
double mul = (1.0-v) / tanh(b);
|
||||
double vig_w2;
|
||||
double vig_h2;
|
||||
double maxRadius;
|
||||
double v;
|
||||
double b;
|
||||
double mul;
|
||||
calcVignettingParams(oW, oH, params->vignetting, vig_w2, vig_h2, maxRadius, v, b, mul);
|
||||
|
||||
#pragma omp parallel for if (multiThread)
|
||||
for (int y=0; y<transformed->height; y++) {
|
||||
double y_d = (double) (y + cy) - h2 ;
|
||||
double vig_y_d = (double) (y + cy) - vig_h2 ;
|
||||
int val;
|
||||
for (int x=0; x<transformed->width; x++) {
|
||||
double x_d = (double) (x + cx) - w2 ;
|
||||
double r = sqrt(x_d*x_d + y_d*y_d);
|
||||
double vig_x_d = (double) (x + cx) - vig_w2 ;
|
||||
double r = sqrt(vig_x_d*vig_x_d + vig_y_d*vig_y_d);
|
||||
double vign = v + mul * tanh (b*(maxRadius-r) / maxRadius);
|
||||
val = original->r[y][x] / vign;
|
||||
transformed->r[y][x] = CLIP(val);
|
||||
@ -255,9 +272,16 @@ void ImProcFunctions::vignetting (Image16* original, Image16* transformed, int c
|
||||
|
||||
#include "cubint.cc"
|
||||
void ImProcFunctions::transformNonSep (Image16* original, Image16* transformed, int cx, int cy, int sx, int sy, int oW, int oH) {
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
double vig_w2;
|
||||
double vig_h2;
|
||||
double maxRadius;
|
||||
double v;
|
||||
double b;
|
||||
double mul;
|
||||
calcVignettingParams(oW, oH, params->vignetting, vig_w2, vig_h2, maxRadius, v, b, mul);
|
||||
|
||||
// auxiliary variables for distortion correction
|
||||
double a = params->distortion.amount;
|
||||
@ -266,11 +290,6 @@ void ImProcFunctions::transformNonSep (Image16* original, Image16* transformed,
|
||||
double cost = cos(params->rotate.degree * 3.14/180.0);
|
||||
double sint = sin(params->rotate.degree * 3.14/180.0);
|
||||
|
||||
// auxiliary variables for vignetting
|
||||
double maxRadius = sqrt( (double)( oW*oW + oH*oH ) ) / 2;
|
||||
double v = 1.0 - params->vignetting.amount * 3.0 / 400.0;
|
||||
double b = 1.0 + params->vignetting.radius * 7.0 / 100.0;
|
||||
double mul = (1.0-v) / tanh(b);
|
||||
bool dovign = params->vignetting.amount != 0;
|
||||
|
||||
// auxiliary variables for vertical perspective correction
|
||||
@ -293,6 +312,8 @@ void ImProcFunctions::transformNonSep (Image16* original, Image16* transformed,
|
||||
for (int x=0; x<transformed->width; x++) {
|
||||
double x_d = ascale * (x + cx - w2); // centering x coord & scale
|
||||
double y_d = ascale * (y + cy - h2); // centering y coord & scale
|
||||
double vig_x_d = ascale * (x + cx - vig_w2); // centering x coord & scale
|
||||
double vig_y_d = ascale * (y + cy - vig_h2); // centering y coord & scale
|
||||
|
||||
// horizontal perspective transformation
|
||||
y_d = y_d * maxRadius / (maxRadius + x_d*hptanpt);
|
||||
@ -312,6 +333,10 @@ void ImProcFunctions::transformNonSep (Image16* original, Image16* transformed,
|
||||
Dx *= s;
|
||||
Dy *= s;
|
||||
|
||||
double vig_Dx = vig_x_d * cost - vig_y_d * sint;
|
||||
double vig_Dy = vig_x_d * sint + vig_y_d * cost;
|
||||
double r2 = sqrt(vig_Dx*vig_Dx + vig_Dy*vig_Dy);
|
||||
|
||||
// de-center
|
||||
Dx += w2;
|
||||
Dy += h2;
|
||||
@ -326,7 +351,7 @@ void ImProcFunctions::transformNonSep (Image16* original, Image16* transformed,
|
||||
// multiplier for vignetting correction
|
||||
double vignmul = 1.0;
|
||||
if (dovign)
|
||||
vignmul /= (v + mul * tanh (b*(maxRadius-s*r) / maxRadius));
|
||||
vignmul /= (v + mul * tanh (b*(maxRadius-s*r2) / maxRadius));
|
||||
|
||||
if (yc > 0 && yc < original->height-2 && xc > 0 && xc < original->width-2) // all interpolation pixels inside image
|
||||
cubint (original, xc-1, yc-1, Dx, Dy, &(transformed->r[y][x]), &(transformed->g[y][x]), &(transformed->b[y][x]), vignmul);
|
||||
@ -356,8 +381,16 @@ void ImProcFunctions::transformNonSep (Image16* original, Image16* transformed,
|
||||
#include "cubintch.cc"
|
||||
void ImProcFunctions::transformSep (Image16* original, Image16* transformed, int cx, int cy, int sx, int sy, int oW, int oH) {
|
||||
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
|
||||
double vig_w2;
|
||||
double vig_h2;
|
||||
double maxRadius;
|
||||
double v;
|
||||
double b;
|
||||
double mul;
|
||||
calcVignettingParams(oW, oH, params->vignetting, vig_w2, vig_h2, maxRadius, v, b, mul);
|
||||
|
||||
// auxiliary variables for c/a correction
|
||||
double cdist[3];
|
||||
@ -380,11 +413,6 @@ void ImProcFunctions::transformSep (Image16* original, Image16* transformed, int
|
||||
double cost = cos(params->rotate.degree * 3.14/180.0);
|
||||
double sint = sin(params->rotate.degree * 3.14/180.0);
|
||||
|
||||
// auxiliary variables for vignetting
|
||||
double maxRadius = sqrt( (double)( oW*oW + oH*oH ) ) / 2;
|
||||
double v = 1.0 - params->vignetting.amount * 3.0 / 400.0;
|
||||
double b = 1.0 + params->vignetting.radius * 7.0 / 100.0;
|
||||
double mul = (1.0-v) / tanh(b);
|
||||
bool dovign = params->vignetting.amount != 0;
|
||||
|
||||
// auxiliary variables for vertical perspective correction
|
||||
@ -407,6 +435,8 @@ void ImProcFunctions::transformSep (Image16* original, Image16* transformed, int
|
||||
for (int x=0; x<transformed->width; x++) {
|
||||
double x_d = ascale * (x + cx - w2); // centering x coord & scale
|
||||
double y_d = ascale * (y + cy - h2); // centering y coord & scale
|
||||
double vig_x_d = ascale * (x + cx - vig_w2); // centering x coord & scale
|
||||
double vig_y_d = ascale * (y + cy - vig_h2); // centering y coord & scale
|
||||
|
||||
// horizontal perspective transformation
|
||||
y_d = y_d * maxRadius / (maxRadius + x_d*hptanpt);
|
||||
@ -424,6 +454,10 @@ void ImProcFunctions::transformSep (Image16* original, Image16* transformed, int
|
||||
double r = sqrt(Dxc*Dxc + Dyc*Dyc) / maxRadius;
|
||||
double s = 1.0 - a + a * r ;
|
||||
|
||||
double vig_Dx = vig_x_d * cost - vig_y_d * sint;
|
||||
double vig_Dy = vig_x_d * sint + vig_y_d * cost;
|
||||
double r2 = sqrt(vig_Dx*vig_Dx + vig_Dy*vig_Dy);
|
||||
|
||||
for (int c=0; c<3; c++) {
|
||||
|
||||
double Dx = Dxc * (s + cdist[c]);
|
||||
@ -443,7 +477,7 @@ void ImProcFunctions::transformSep (Image16* original, Image16* transformed, int
|
||||
// multiplier for vignetting correction
|
||||
double vignmul = 1.0;
|
||||
if (dovign)
|
||||
vignmul /= (v + mul * tanh (b*(maxRadius-s*r) / maxRadius));
|
||||
vignmul /= (v + mul * tanh (b*(maxRadius-s*r2) / maxRadius));
|
||||
|
||||
if (yc > 0 && yc < original->height-2 && xc > 0 && xc < original->width-2) // all interpolation pixels inside image
|
||||
cubintch (chorig[c], xc-1, yc-1, Dx, Dy, &(chtrans[c][y][x]), vignmul);
|
||||
@ -466,8 +500,16 @@ void ImProcFunctions::transformSep (Image16* original, Image16* transformed, int
|
||||
|
||||
void ImProcFunctions::simpltransform (Image16* original, Image16* transformed, int cx, int cy, int sx, int sy, int oW, int oH) {
|
||||
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
double w2 = (double) oW / 2.0 - 0.5;
|
||||
double h2 = (double) oH / 2.0 - 0.5;
|
||||
|
||||
double vig_w2;
|
||||
double vig_h2;
|
||||
double maxRadius;
|
||||
double v;
|
||||
double b;
|
||||
double mul;
|
||||
calcVignettingParams(oW, oH, params->vignetting, vig_w2, vig_h2, maxRadius, v, b, mul);
|
||||
|
||||
// auxiliary variables for distortion correction
|
||||
double a = params->distortion.amount;
|
||||
@ -476,11 +518,6 @@ void ImProcFunctions::simpltransform (Image16* original, Image16* transformed, i
|
||||
double cost = cos(params->rotate.degree * 3.14/180.0);
|
||||
double sint = sin(params->rotate.degree * 3.14/180.0);
|
||||
|
||||
// auxiliary variables for vignetting
|
||||
double maxRadius = sqrt( (double)( oW*oW + oH*oH ) ) / 2;
|
||||
double v = 1.0 - params->vignetting.amount * 3.0 / 400.0;
|
||||
double b = 1.0 + params->vignetting.radius * 7.0 / 100.0;
|
||||
double mul = (1.0-v) / tanh(b);
|
||||
bool dovign = params->vignetting.amount != 0;
|
||||
|
||||
// auxiliary variables for vertical perspective correction
|
||||
@ -503,6 +540,8 @@ void ImProcFunctions::simpltransform (Image16* original, Image16* transformed, i
|
||||
for (int x=0; x<transformed->width; x++) {
|
||||
double y_d = ascale * (y + cy - h2); // centering y coord & scale
|
||||
double x_d = ascale * (x + cx - w2); // centering x coord & scale
|
||||
double vig_x_d = ascale * (x + cx - vig_w2); // centering x coord & scale
|
||||
double vig_y_d = ascale * (y + cy - vig_h2); // centering y coord & scale
|
||||
|
||||
// horizontal perspective transformation
|
||||
y_d = y_d * maxRadius / (maxRadius + x_d*hptanpt);
|
||||
@ -522,6 +561,10 @@ void ImProcFunctions::simpltransform (Image16* original, Image16* transformed, i
|
||||
Dx *= s;
|
||||
Dy *= s;
|
||||
|
||||
double vig_Dx = vig_x_d * cost - vig_y_d * sint;
|
||||
double vig_Dy = vig_x_d * sint + vig_y_d * cost;
|
||||
double r2 = sqrt(vig_Dx*vig_Dx + vig_Dy*vig_Dy);
|
||||
|
||||
// de-center
|
||||
Dx += w2;
|
||||
Dy += h2;
|
||||
@ -536,7 +579,7 @@ void ImProcFunctions::simpltransform (Image16* original, Image16* transformed, i
|
||||
// multiplier for vignetting correction
|
||||
double vignmul = 1.0;
|
||||
if (dovign)
|
||||
vignmul /= (v + mul * tanh (b*(maxRadius-s*r) / maxRadius));
|
||||
vignmul /= (v + mul * tanh (b*(maxRadius-s*r2) / maxRadius));
|
||||
|
||||
if (yc < original->height-1 && xc < original->width-1) { // all interpolation pixels inside image
|
||||
int r = vignmul*(original->r[yc][xc]*(1.0-Dx)*(1.0-Dy) + original->r[yc][xc+1]*Dx*(1.0-Dy) + original->r[yc+1][xc]*(1.0-Dx)*Dy + original->r[yc+1][xc+1]*Dx*Dy);
|
||||
|
167
rtengine/jpeg_memsrc.c
Normal file
167
rtengine/jpeg_memsrc.c
Normal file
@ -0,0 +1,167 @@
|
||||
/*
|
||||
* memsrc.c
|
||||
*
|
||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||
* This file is part of the Independent JPEG Group's software.
|
||||
* For conditions of distribution and use, see the accompanying README file.
|
||||
*
|
||||
* This file contains decompression data source routines for the case of
|
||||
* reading JPEG data from a memory buffer that is preloaded with the entire
|
||||
* JPEG file. This would not seem especially useful at first sight, but
|
||||
* a number of people have asked for it.
|
||||
* This is really just a stripped-down version of jdatasrc.c. Comparison
|
||||
* of this code with jdatasrc.c may be helpful in seeing how to make
|
||||
* custom source managers for other purposes.
|
||||
*/
|
||||
|
||||
/* this is not a core library module, so it doesn't define JPEG_INTERNALS */
|
||||
//#include "jinclude.h"
|
||||
//#include "jmorecfg.h"
|
||||
//#include "jpeglib.h"
|
||||
//#include "jerror.h"
|
||||
#include <stdio.h>
|
||||
#include <jpeglib.h>
|
||||
#include <jerror.h>
|
||||
|
||||
|
||||
/* Expanded data source object for memory input */
|
||||
|
||||
typedef struct {
|
||||
struct jpeg_source_mgr pub; /* public fields */
|
||||
|
||||
JOCTET eoi_buffer[2]; /* a place to put a dummy EOI */
|
||||
} my_source_mgr;
|
||||
|
||||
typedef my_source_mgr * my_src_ptr;
|
||||
|
||||
|
||||
/*
|
||||
* Initialize source --- called by jpeg_read_header
|
||||
* before any data is actually read.
|
||||
*/
|
||||
|
||||
static void
|
||||
init_source (j_decompress_ptr cinfo)
|
||||
{
|
||||
/* No work, since jpeg_memory_src set up the buffer pointer and count.
|
||||
* Indeed, if we want to read multiple JPEG images from one buffer,
|
||||
* this *must* not do anything to the pointer.
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Fill the input buffer --- called whenever buffer is emptied.
|
||||
*
|
||||
* In this application, this routine should never be called; if it is called,
|
||||
* the decompressor has overrun the end of the input buffer, implying we
|
||||
* supplied an incomplete or corrupt JPEG datastream. A simple error exit
|
||||
* might be the most appropriate response.
|
||||
*
|
||||
* But what we choose to do in this code is to supply dummy EOI markers
|
||||
* in order to force the decompressor to finish processing and supply
|
||||
* some sort of output image, no matter how corrupted.
|
||||
*/
|
||||
|
||||
static int
|
||||
fill_input_buffer(j_decompress_ptr cinfo)
|
||||
{
|
||||
my_src_ptr src = (my_src_ptr) cinfo->src;
|
||||
|
||||
WARNMS(cinfo, JWRN_JPEG_EOF);
|
||||
|
||||
/* Create a fake EOI marker */
|
||||
src->eoi_buffer[0] = (JOCTET) 0xFF;
|
||||
src->eoi_buffer[1] = (JOCTET) JPEG_EOI;
|
||||
src->pub.next_input_byte = src->eoi_buffer;
|
||||
src->pub.bytes_in_buffer = 2;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Skip data --- used to skip over a potentially large amount of
|
||||
* uninteresting data (such as an APPn marker).
|
||||
*
|
||||
* If we overrun the end of the buffer, we let fill_input_buffer deal with
|
||||
* it. An extremely large skip could cause some time-wasting here, but
|
||||
* it really isn't supposed to happen ... and the decompressor will never
|
||||
* skip more than 64K anyway.
|
||||
*/
|
||||
|
||||
static void
|
||||
skip_input_data (j_decompress_ptr cinfo, long num_bytes)
|
||||
{
|
||||
my_src_ptr src = (my_src_ptr) cinfo->src;
|
||||
|
||||
if (num_bytes > 0) {
|
||||
while (num_bytes > (long) src->pub.bytes_in_buffer) {
|
||||
num_bytes -= (long) src->pub.bytes_in_buffer;
|
||||
(void) fill_input_buffer(cinfo);
|
||||
/* note we assume that fill_input_buffer will never return FALSE,
|
||||
* so suspension need not be handled.
|
||||
*/
|
||||
}
|
||||
src->pub.next_input_byte += (size_t) num_bytes;
|
||||
src->pub.bytes_in_buffer -= (size_t) num_bytes;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* An additional method that can be provided by data source modules is the
|
||||
* resync_to_restart method for error recovery in the presence of RST markers.
|
||||
* For the moment, this source module just uses the default resync method
|
||||
* provided by the JPEG library. That method assumes that no backtracking
|
||||
* is possible.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Terminate source --- called by jpeg_finish_decompress
|
||||
* after all data has been read. Often a no-op.
|
||||
*
|
||||
* NB: *not* called by jpeg_abort or jpeg_destroy; surrounding
|
||||
* application must deal with any cleanup that should happen even
|
||||
* for error exit.
|
||||
*/
|
||||
|
||||
static void
|
||||
term_source (j_decompress_ptr cinfo)
|
||||
{
|
||||
/* no work necessary here */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Prepare for input from a memory buffer.
|
||||
*/
|
||||
|
||||
GLOBAL(void)
|
||||
jpeg_memory_src (j_decompress_ptr cinfo, const JOCTET * buffer, size_t bufsize)
|
||||
{
|
||||
my_src_ptr src;
|
||||
|
||||
/* The source object is made permanent so that a series of JPEG images
|
||||
* can be read from a single buffer by calling jpeg_memory_src
|
||||
* only before the first one.
|
||||
* This makes it unsafe to use this manager and a different source
|
||||
* manager serially with the same JPEG object. Caveat programmer.
|
||||
*/
|
||||
if (cinfo->src == NULL) { /* first time for this JPEG object? */
|
||||
cinfo->src = (struct jpeg_source_mgr *)
|
||||
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT,
|
||||
sizeof(my_source_mgr));
|
||||
}
|
||||
|
||||
src = (my_src_ptr) cinfo->src;
|
||||
src->pub.init_source = init_source;
|
||||
src->pub.fill_input_buffer = fill_input_buffer;
|
||||
src->pub.skip_input_data = skip_input_data;
|
||||
src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */
|
||||
src->pub.term_source = term_source;
|
||||
|
||||
src->pub.next_input_byte = buffer;
|
||||
src->pub.bytes_in_buffer = bufsize;
|
||||
}
|
@ -32,7 +32,11 @@ InitialImage* InitialImage::load (const Glib::ustring& fname, bool isRaw, int* e
|
||||
isrc = new RawImageSource ();
|
||||
|
||||
isrc->setProgressListener (pl);
|
||||
*errorCode = isrc->load (fname);
|
||||
|
||||
if(isRaw && pl == NULL)
|
||||
*errorCode = isrc->load (fname, true);
|
||||
else
|
||||
*errorCode = isrc->load (fname);
|
||||
if (*errorCode) {
|
||||
delete isrc;
|
||||
return NULL;
|
||||
|
@ -1,124 +1,127 @@
|
||||
/*
|
||||
* This file is part of RawTherapee.
|
||||
*
|
||||
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __PROCEVENT__
|
||||
#define __PROCEVENT__
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
enum ProcEvent {
|
||||
EvPhotoLoaded=0,
|
||||
EvProfileLoaded=1,
|
||||
EvProfileChanged=2,
|
||||
EvHistoryBrowsed=3,
|
||||
EvBrightness=4,
|
||||
EvContrast=5,
|
||||
EvBlack=6,
|
||||
EvExpComp=7,
|
||||
EvHLCompr=8,
|
||||
EvSHCompr=9,
|
||||
EvToneCurve=10,
|
||||
EvAutoExp=11,
|
||||
EvClip=12,
|
||||
EvLBrightness=13,
|
||||
EvLContrast=14,
|
||||
EvLBlack=15,
|
||||
EvLHLCompr=16,
|
||||
EvLSHCompr=17,
|
||||
EvLCurve=18,
|
||||
EvShrEnabled=19,
|
||||
EvShrRadius=20,
|
||||
EvShrAmount=21,
|
||||
EvShrThresh=22,
|
||||
EvShrEdgeOnly=23,
|
||||
EvShrEdgeRadius=24,
|
||||
EvShrEdgeTolerance=25,
|
||||
EvShrHaloControl=26,
|
||||
EvShrHaloAmount=27,
|
||||
EvShrMethod=28,
|
||||
EvShrDRadius=29,
|
||||
EvShrDAmount=30,
|
||||
EvShrDDamping=31,
|
||||
EvShrDIterations=32,
|
||||
EvCBAvoidClip=33,
|
||||
EvCBSatLimiter=34,
|
||||
EvCBSatLimit=35,
|
||||
EvCBBoost=36,
|
||||
EvWBMethod=37,
|
||||
EvWBTemp=38,
|
||||
EvWBGreen=39,
|
||||
EvCShiftA=40,
|
||||
EvCShiftB=41,
|
||||
EvLDNEnabled=42,
|
||||
EvLDNRadius=43,
|
||||
EvLDNEdgeTolerance=44,
|
||||
EvCDNEnabled=45,
|
||||
EvCDNRadius=46,
|
||||
EvCDNEdgeTolerance=47,
|
||||
EvCDNEdgeSensitive=48,
|
||||
EvSHEnabled=49,
|
||||
EvSHHighlights=50,
|
||||
EvSHShadows=51,
|
||||
EvSHHLTonalW=52,
|
||||
EvSHSHTonalW=53,
|
||||
EvSHLContrast=54,
|
||||
EvSHRadius=55,
|
||||
EvCTRotate=56,
|
||||
EvCTHFlip=57,
|
||||
EvCTVFlip=58,
|
||||
EvROTDegree=59,
|
||||
EvTransAutoFill=60,
|
||||
EvDISTAmount=61,
|
||||
EvBookmarkSelected=62,
|
||||
EvCrop=63,
|
||||
EvCACorr=64,
|
||||
EvHREnabled=65,
|
||||
EvHRAmount=66,
|
||||
EvHRMethod=67,
|
||||
EvWProfile=68,
|
||||
EvOProfile=69,
|
||||
EvIProfile=70,
|
||||
EvVignetting=71,
|
||||
EvChMixer=72,
|
||||
EvResizeScale=73,
|
||||
EvResizeMethod=74,
|
||||
EvExif=75,
|
||||
EvIPTC=76,
|
||||
EvResizeSpec=77,
|
||||
EvResizeWidth=78,
|
||||
EvResizeHeight=79,
|
||||
EvResizeEnabled=80,
|
||||
EvProfileChangeNotification=81,
|
||||
EvSHHighQuality=82,
|
||||
EvPerspCorr=83,
|
||||
EvEqualizer=84,
|
||||
EvEqlEnabled=85,
|
||||
EvDemosaic=86,
|
||||
EvPreProcess=87,
|
||||
EvIDNEnabled=88,
|
||||
EvIDNThresh=89,
|
||||
EvDPDNEnabled=90,
|
||||
EvDPDNLuma=91,
|
||||
EvDPDNChroma=92,
|
||||
EvDPDNGamma=93,
|
||||
EvDirPyrEqualizer=94,
|
||||
EvDirPyrEqlEnabled=95,
|
||||
NUMOFEVENTS=96
|
||||
};
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* This file is part of RawTherapee.
|
||||
*
|
||||
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __PROCEVENT__
|
||||
#define __PROCEVENT__
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
enum ProcEvent {
|
||||
EvPhotoLoaded=0,
|
||||
EvProfileLoaded=1,
|
||||
EvProfileChanged=2,
|
||||
EvHistoryBrowsed=3,
|
||||
EvBrightness=4,
|
||||
EvContrast=5,
|
||||
EvBlack=6,
|
||||
EvExpComp=7,
|
||||
EvHLCompr=8,
|
||||
EvSHCompr=9,
|
||||
EvToneCurve=10,
|
||||
EvAutoExp=11,
|
||||
EvClip=12,
|
||||
EvLBrightness=13,
|
||||
EvLContrast=14,
|
||||
EvLBlack=15,
|
||||
EvLHLCompr=16,
|
||||
EvLSHCompr=17,
|
||||
EvLLCurve=18,
|
||||
EvShrEnabled=19,
|
||||
EvShrRadius=20,
|
||||
EvShrAmount=21,
|
||||
EvShrThresh=22,
|
||||
EvShrEdgeOnly=23,
|
||||
EvShrEdgeRadius=24,
|
||||
EvShrEdgeTolerance=25,
|
||||
EvShrHaloControl=26,
|
||||
EvShrHaloAmount=27,
|
||||
EvShrMethod=28,
|
||||
EvShrDRadius=29,
|
||||
EvShrDAmount=30,
|
||||
EvShrDDamping=31,
|
||||
EvShrDIterations=32,
|
||||
EvCBAvoidClip=33,
|
||||
EvCBSatLimiter=34,
|
||||
EvCBSatLimit=35,
|
||||
EvCBBoost=36,
|
||||
EvWBMethod=37,
|
||||
EvWBTemp=38,
|
||||
EvWBGreen=39,
|
||||
EvCShiftA=40,
|
||||
EvCShiftB=41,
|
||||
EvLDNEnabled=42,
|
||||
EvLDNRadius=43,
|
||||
EvLDNEdgeTolerance=44,
|
||||
EvCDNEnabled=45,
|
||||
EvCDNRadius=46,
|
||||
EvCDNEdgeTolerance=47,
|
||||
EvCDNEdgeSensitive=48,
|
||||
EvSHEnabled=49,
|
||||
EvSHHighlights=50,
|
||||
EvSHShadows=51,
|
||||
EvSHHLTonalW=52,
|
||||
EvSHSHTonalW=53,
|
||||
EvSHLContrast=54,
|
||||
EvSHRadius=55,
|
||||
EvCTRotate=56,
|
||||
EvCTHFlip=57,
|
||||
EvCTVFlip=58,
|
||||
EvROTDegree=59,
|
||||
EvTransAutoFill=60,
|
||||
EvDISTAmount=61,
|
||||
EvBookmarkSelected=62,
|
||||
EvCrop=63,
|
||||
EvCACorr=64,
|
||||
EvHREnabled=65,
|
||||
EvHRAmount=66,
|
||||
EvHRMethod=67,
|
||||
EvWProfile=68,
|
||||
EvOProfile=69,
|
||||
EvIProfile=70,
|
||||
EvVignetting=71,
|
||||
EvChMixer=72,
|
||||
EvResizeScale=73,
|
||||
EvResizeMethod=74,
|
||||
EvExif=75,
|
||||
EvIPTC=76,
|
||||
EvResizeSpec=77,
|
||||
EvResizeWidth=78,
|
||||
EvResizeHeight=79,
|
||||
EvResizeEnabled=80,
|
||||
EvProfileChangeNotification=81,
|
||||
EvSHHighQuality=82,
|
||||
EvPerspCorr=83,
|
||||
EvEqualizer=84,
|
||||
EvEqlEnabled=85,
|
||||
EvDemosaic=86,
|
||||
EvPreProcess=87,
|
||||
EvIDNEnabled=88,
|
||||
EvIDNThresh=89,
|
||||
EvDPDNEnabled=90,
|
||||
EvDPDNLuma=91,
|
||||
EvDPDNChroma=92,
|
||||
EvDPDNGamma=93,
|
||||
EvDirPyrEqualizer=94,
|
||||
EvDirPyrEqlEnabled=95,
|
||||
EvLSaturation=96,
|
||||
EvLaCurve=97,
|
||||
EvLbCurve=98,
|
||||
NUMOFEVENTS=99
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
@ -48,18 +48,21 @@ void ProcParams::destroy (ProcParams* pp) {
|
||||
void ProcParams::setDefaults () {
|
||||
|
||||
toneCurve.autoexp = false;
|
||||
toneCurve.clip = 0.002;
|
||||
toneCurve.clip = 0.001;
|
||||
toneCurve.expcomp = 0;
|
||||
toneCurve.brightness = 0;
|
||||
toneCurve.contrast = 0;
|
||||
toneCurve.black = 0;
|
||||
toneCurve.hlcompr = 85;
|
||||
toneCurve.shcompr = 85;
|
||||
toneCurve.hlcompr = 70;
|
||||
toneCurve.shcompr = 25;
|
||||
toneCurve.curve.clear ();
|
||||
|
||||
lumaCurve.brightness = 0;
|
||||
lumaCurve.contrast = 0;
|
||||
lumaCurve.curve.clear ();
|
||||
labCurve.brightness = 0;
|
||||
labCurve.contrast = 0;
|
||||
labCurve.saturation = 0;
|
||||
labCurve.lcurve.clear ();
|
||||
labCurve.acurve.clear ();
|
||||
labCurve.bcurve.clear ();
|
||||
|
||||
sharpening.enabled = true;
|
||||
sharpening.radius = 1.0;
|
||||
@ -107,11 +110,11 @@ void ProcParams::setDefaults () {
|
||||
|
||||
sh.enabled = false;
|
||||
sh.hq = false;
|
||||
sh.highlights = 10;
|
||||
sh.highlights = 0;
|
||||
sh.htonalwidth = 80;
|
||||
sh.shadows = 10;
|
||||
sh.shadows = 0;
|
||||
sh.stonalwidth = 80;
|
||||
sh.localcontrast = 15;
|
||||
sh.localcontrast = 0;
|
||||
sh.radius = 40;
|
||||
|
||||
crop.enabled = false;
|
||||
@ -146,6 +149,9 @@ void ProcParams::setDefaults () {
|
||||
|
||||
vignetting.amount = 0;
|
||||
vignetting.radius = 50;
|
||||
vignetting.strength = 1;
|
||||
vignetting.centerX = 0;
|
||||
vignetting.centerY = 0;
|
||||
|
||||
chmixer.red[0] = 100;
|
||||
chmixer.red[1] = 0;
|
||||
@ -200,7 +206,7 @@ int ProcParams::save (Glib::ustring fname) const {
|
||||
|
||||
SafeKeyFile keyFile;
|
||||
|
||||
keyFile.set_integer ("Version", "Version", 231);
|
||||
keyFile.set_integer ("Version", "Version", 20101019);
|
||||
|
||||
// save tonecurve:
|
||||
keyFile.set_boolean ("Exposure", "Auto", toneCurve.autoexp);
|
||||
@ -223,10 +229,15 @@ int ProcParams::save (Glib::ustring fname) const {
|
||||
keyFile.set_integer_list("Channel Mixer", "Blue", bmix);
|
||||
|
||||
// save luma curve
|
||||
keyFile.set_integer ("Luminance Curve", "Brightness", lumaCurve.brightness);
|
||||
keyFile.set_integer ("Luminance Curve", "Contrast", lumaCurve.contrast);
|
||||
Glib::ArrayHandle<double> lcurve = lumaCurve.curve;
|
||||
keyFile.set_double_list("Luminance Curve", "Curve", lcurve);
|
||||
keyFile.set_integer ("Luminance Curve", "Brightness", labCurve.brightness);
|
||||
keyFile.set_integer ("Luminance Curve", "Contrast", labCurve.contrast);
|
||||
keyFile.set_integer ("Luminance Curve", "Saturation", labCurve.saturation);
|
||||
Glib::ArrayHandle<double> lcurve = labCurve.lcurve;
|
||||
Glib::ArrayHandle<double> acurve = labCurve.acurve;
|
||||
Glib::ArrayHandle<double> bcurve = labCurve.bcurve;
|
||||
keyFile.set_double_list("Luminance Curve", "LCurve", lcurve);
|
||||
keyFile.set_double_list("Luminance Curve", "aCurve", acurve);
|
||||
keyFile.set_double_list("Luminance Curve", "bCurve", bcurve);
|
||||
|
||||
// save sharpening
|
||||
keyFile.set_boolean ("Sharpening", "Enabled", sharpening.enabled);
|
||||
@ -329,6 +340,9 @@ int ProcParams::save (Glib::ustring fname) const {
|
||||
// save vignetting correction
|
||||
keyFile.set_integer ("Vignetting Correction", "Amount", vignetting.amount);
|
||||
keyFile.set_integer ("Vignetting Correction", "Radius", vignetting.radius);
|
||||
keyFile.set_integer ("Vignetting Correction", "Strength", vignetting.strength);
|
||||
keyFile.set_integer ("Vignetting Correction", "CenterX", vignetting.centerX);
|
||||
keyFile.set_integer ("Vignetting Correction", "CenterY", vignetting.centerY);
|
||||
|
||||
// save highlight recovery settings
|
||||
keyFile.set_boolean ("HLRecovery", "Enabled", hlrecovery.enabled);
|
||||
@ -450,10 +464,13 @@ if (keyFile.has_group ("Channel Mixer")) {
|
||||
|
||||
// load luma curve
|
||||
if (keyFile.has_group ("Luminance Curve")) {
|
||||
if (keyFile.has_key ("Luminance Curve", "Brightness")) lumaCurve.brightness = keyFile.get_integer ("Luminance Curve", "Brightness");
|
||||
if (keyFile.has_key ("Luminance Curve", "Contrast")) lumaCurve.contrast = keyFile.get_integer ("Luminance Curve", "Contrast");
|
||||
if (keyFile.has_key ("Luminance Curve", "Brightness")) labCurve.brightness = keyFile.get_integer ("Luminance Curve", "Brightness");
|
||||
if (keyFile.has_key ("Luminance Curve", "Contrast")) labCurve.contrast = keyFile.get_integer ("Luminance Curve", "Contrast");
|
||||
if (keyFile.has_key ("Luminance Curve", "Saturation")) labCurve.saturation = keyFile.get_integer ("Luminance Curve", "Saturation");
|
||||
if (version>200)
|
||||
if (keyFile.has_key ("Luminance Curve", "Curve")) lumaCurve.curve = keyFile.get_double_list ("Luminance Curve", "Curve");
|
||||
if (keyFile.has_key ("Luminance Curve", "LCurve")) labCurve.lcurve = keyFile.get_double_list ("Luminance Curve", "LCurve");
|
||||
if (keyFile.has_key ("Luminance Curve", "aCurve")) labCurve.acurve = keyFile.get_double_list ("Luminance Curve", "aCurve");
|
||||
if (keyFile.has_key ("Luminance Curve", "bCurve")) labCurve.bcurve = keyFile.get_double_list ("Luminance Curve", "bCurve");
|
||||
}
|
||||
|
||||
// load sharpening
|
||||
@ -592,6 +609,9 @@ if (keyFile.has_group ("CACorrection")) {
|
||||
if (keyFile.has_group ("Vignetting Correction")) {
|
||||
if (keyFile.has_key ("Vignetting Correction", "Amount")) vignetting.amount = keyFile.get_integer ("Vignetting Correction", "Amount");
|
||||
if (keyFile.has_key ("Vignetting Correction", "Radius")) vignetting.radius = keyFile.get_integer ("Vignetting Correction", "Radius");
|
||||
if (keyFile.has_key ("Vignetting Correction", "Strength")) vignetting.strength = keyFile.get_integer ("Vignetting Correction", "Strength");
|
||||
if (keyFile.has_key ("Vignetting Correction", "CenterX")) vignetting.centerX = keyFile.get_integer ("Vignetting Correction", "CenterX");
|
||||
if (keyFile.has_key ("Vignetting Correction", "CenterY")) vignetting.centerY = keyFile.get_integer ("Vignetting Correction", "CenterY");
|
||||
}
|
||||
|
||||
// load highlight recovery settings
|
||||
@ -729,9 +749,12 @@ bool ProcParams::operator== (const ProcParams& other) {
|
||||
&& toneCurve.autoexp == other.toneCurve.autoexp
|
||||
&& toneCurve.clip == other.toneCurve.clip
|
||||
&& toneCurve.expcomp == other.toneCurve.expcomp
|
||||
&& lumaCurve.curve == other.lumaCurve.curve
|
||||
&& lumaCurve.brightness == other.lumaCurve.brightness
|
||||
&& lumaCurve.contrast == other.lumaCurve.contrast
|
||||
&& labCurve.lcurve == other.labCurve.lcurve
|
||||
&& labCurve.acurve == other.labCurve.acurve
|
||||
&& labCurve.bcurve == other.labCurve.bcurve
|
||||
&& labCurve.brightness == other.labCurve.brightness
|
||||
&& labCurve.contrast == other.labCurve.contrast
|
||||
&& labCurve.saturation == other.labCurve.saturation
|
||||
&& sharpening.enabled == other.sharpening.enabled
|
||||
&& sharpening.radius == other.sharpening.radius
|
||||
&& sharpening.amount == other.sharpening.amount
|
||||
@ -798,6 +821,9 @@ bool ProcParams::operator== (const ProcParams& other) {
|
||||
&& cacorrection.blue == other.cacorrection.blue
|
||||
&& vignetting.amount == other.vignetting.amount
|
||||
&& vignetting.radius == other.vignetting.radius
|
||||
&& vignetting.strength == other.vignetting.strength
|
||||
&& vignetting.centerX == other.vignetting.centerX
|
||||
&& vignetting.centerY == other.vignetting.centerY
|
||||
&& !memcmp (&chmixer.red, &other.chmixer.red, 3*sizeof(int))
|
||||
&& !memcmp (&chmixer.green, &other.chmixer.green, 3*sizeof(int))
|
||||
&& !memcmp (&chmixer.blue, &other.chmixer.blue, 3*sizeof(int))
|
||||
|
@ -48,9 +48,12 @@ class ToneCurveParams {
|
||||
class LCurveParams {
|
||||
|
||||
public:
|
||||
std::vector<double> curve;
|
||||
std::vector<double> lcurve;
|
||||
std::vector<double> acurve;
|
||||
std::vector<double> bcurve;
|
||||
int brightness;
|
||||
int contrast;
|
||||
int saturation;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -246,6 +249,9 @@ class VignettingParams {
|
||||
public:
|
||||
int amount;
|
||||
int radius;
|
||||
int strength;
|
||||
int centerX;
|
||||
int centerY;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -376,7 +382,7 @@ class ProcParams {
|
||||
|
||||
public:
|
||||
ToneCurveParams toneCurve; ///< Tone curve parameters
|
||||
LCurveParams lumaCurve; ///< CIELAB luminance curve parameters
|
||||
LCurveParams labCurve; ///< CIELAB luminance curve parameters
|
||||
SharpeningParams sharpening; ///< Sharpening parameters
|
||||
ColorBoostParams colorBoost; ///< Color boost parameters
|
||||
WBParams wb; ///< White balance parameters
|
||||
|
@ -717,7 +717,7 @@ void RawImageSource::inverse33 (double (*coeff)[3], double (*icoeff)[3]) {
|
||||
icoeff[2][2] = (coeff[0][1]*coeff[1][0]-coeff[0][0]*coeff[1][1]) / nom;
|
||||
}
|
||||
|
||||
int RawImageSource::load (Glib::ustring fname) {
|
||||
int RawImageSource::load (Glib::ustring fname, bool batch) {
|
||||
|
||||
MyTime t1,t2;
|
||||
t1.set();
|
||||
@ -757,7 +757,7 @@ int RawImageSource::load (Glib::ustring fname) {
|
||||
for (int j=0; j<3; j++)
|
||||
for (int k=0; k<3; k++)
|
||||
cam[i][j] += coeff[k][i] * sRGB_d50[k][j];
|
||||
camProfile = iccStore.createFromMatrix (cam, false, "Camera");
|
||||
camProfile = iccStore->createFromMatrix (cam, false, "Camera");
|
||||
inverse33 (cam, icam);
|
||||
|
||||
|
||||
@ -943,9 +943,11 @@ void RawImageSource::preprocess (const RAWParams &raw)
|
||||
// check if it is an olympus E camera, if yes, compute G channel pre-compensation factors
|
||||
if ( raw.greenthresh || (((idata->getMake().size()>=7 && idata->getMake().substr(0,7)=="OLYMPUS" && idata->getModel()[0]=='E') || (idata->getMake().size()>=9 && idata->getMake().substr(0,7)=="Panasonic")) && raw.dmethod != RAWParams::methodstring[ RAWParams::vng4] && ri->filters) ) {
|
||||
// global correction
|
||||
int ng1=0, ng2=0;
|
||||
double avgg1=0, avgg2=0;
|
||||
for (int i=border; i<H-border; i++)
|
||||
int ng1=0, ng2=0, i=0;
|
||||
double avgg1=0., avgg2=0.;
|
||||
|
||||
#pragma omp parallel for default(shared) private(i) reduction(+: ng1, ng2, avgg1, avgg2)
|
||||
for (i=border; i<H-border; i++)
|
||||
for (int j=border; j<W-border; j++)
|
||||
if (ISGREEN(ri,i,j)) {
|
||||
if (i%2==0) {
|
||||
@ -959,12 +961,17 @@ void RawImageSource::preprocess (const RAWParams &raw)
|
||||
}
|
||||
double corrg1 = ((double)avgg1/ng1 + (double)avgg2/ng2) / 2.0 / ((double)avgg1/ng1);
|
||||
double corrg2 = ((double)avgg1/ng1 + (double)avgg2/ng2) / 2.0 / ((double)avgg2/ng2);
|
||||
|
||||
#pragma omp parallel for default(shared)
|
||||
for (int i=border; i<H-border; i++)
|
||||
for (int j=border; j<W-border; j++)
|
||||
if (ISGREEN(ri,i,j))
|
||||
rawData[i][j] = CLIP(rawData[i][j] * (i%2 ? corrg2 : corrg1));
|
||||
if (ISGREEN(ri,i,j)) {
|
||||
unsigned short currData;
|
||||
currData = (unsigned short)(rawData[i][j] * (i%2 ? corrg2 : corrg1));
|
||||
rawData[i][j] = CLIP(currData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( raw.greenthresh >0) {
|
||||
if (plistener) {
|
||||
plistener->setProgressStr ("Green equilibrate...");
|
||||
@ -1002,7 +1009,7 @@ void RawImageSource::demosaic(const RAWParams &raw)
|
||||
MyTime t1,t2;
|
||||
t1.set();
|
||||
if ( raw.dmethod == RAWParams::methodstring[RAWParams::hphd] )
|
||||
hphd_demosaic ();
|
||||
hphd_demosaic ();
|
||||
else if (raw.dmethod == RAWParams::methodstring[RAWParams::vng4] )
|
||||
vng4_demosaic ();
|
||||
else if (raw.dmethod == RAWParams::methodstring[RAWParams::ahd] )
|
||||
@ -1017,7 +1024,7 @@ void RawImageSource::demosaic(const RAWParams &raw)
|
||||
fast_demo (0,0,W,H);
|
||||
else if (raw.dmethod == RAWParams::methodstring[RAWParams::bilinear] )
|
||||
bilinear_demosaic();
|
||||
else
|
||||
else
|
||||
nodemosaic();
|
||||
t2.set();
|
||||
if( settings->verbose )
|
||||
@ -1300,7 +1307,7 @@ void RawImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cm
|
||||
else if (inProfile=="(camera)" || inProfile=="")
|
||||
in = camprofile;
|
||||
else {
|
||||
in = iccStore.getProfile (inProfile);
|
||||
in = iccStore->getProfile (inProfile);
|
||||
if (in==NULL)
|
||||
inProfile = "(camera)";
|
||||
}
|
||||
@ -1309,17 +1316,18 @@ void RawImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cm
|
||||
if (inProfile=="(camera)" || inProfile=="" || (inProfile=="(embedded)" && !embedded)) {
|
||||
// in this case we avoid using the slllllooooooowwww lcms
|
||||
|
||||
// out = iccStore.workingSpace (wProfile);
|
||||
// out = iccStore->workingSpace (wProfile);
|
||||
// hTransform = cmsCreateTransform (in, TYPE_RGB_16_PLANAR, out, TYPE_RGB_16_PLANAR, settings->colorimetricIntent, cmsFLAGS_MATRIXINPUT | cmsFLAGS_MATRIXOUTPUT);//cmsFLAGS_MATRIXINPUT | cmsFLAGS_MATRIXOUTPUT);
|
||||
// cmsDoTransform (hTransform, im->data, im->data, im->planestride/2);
|
||||
// cmsDeleteTransform(hTransform);
|
||||
TMatrix work = iccStore.workingSpaceInverseMatrix (cmp.working);
|
||||
TMatrix work = iccStore->workingSpaceInverseMatrix (cmp.working);
|
||||
double mat[3][3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}};
|
||||
for (int i=0; i<3; i++)
|
||||
for (int j=0; j<3; j++)
|
||||
for (int k=0; k<3; k++)
|
||||
mat[i][j] += camMatrix[i][k] * work[k][j];
|
||||
|
||||
|
||||
#pragma omp parallel for
|
||||
for (int i=0; i<im->height; i++)
|
||||
for (int j=0; j<im->width; j++) {
|
||||
|
||||
@ -1333,15 +1341,16 @@ void RawImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cm
|
||||
}
|
||||
}
|
||||
else {
|
||||
out = iccStore.workingSpace (cmp.working);
|
||||
// out = iccStore.workingSpaceGamma (wProfile);
|
||||
out = iccStore->workingSpace (cmp.working);
|
||||
// out = iccStore->workingSpaceGamma (wProfile);
|
||||
lcmsMutex->lock ();
|
||||
cmsHTRANSFORM hTransform = cmsCreateTransform (in, TYPE_RGB_16_PLANAR, out, TYPE_RGB_16_PLANAR, settings->colorimetricIntent, 0);
|
||||
lcmsMutex->unlock ();
|
||||
if (hTransform) {
|
||||
if (cmp.gammaOnInput) {
|
||||
double gd = pow (2.0, defgain);
|
||||
defgain = 0.0;
|
||||
defgain = 0.0;
|
||||
#pragma omp parallel for
|
||||
for (int i=0; i<im->height; i++)
|
||||
for (int j=0; j<im->width; j++) {
|
||||
im->r[i][j] = CurveFactory::gamma (CLIP(defgain*im->r[i][j]));
|
||||
@ -1982,14 +1991,14 @@ int RawImageSource::getAEHistogram (unsigned int* histogram, int& histcompr) {
|
||||
}
|
||||
if (ri->filters)
|
||||
for (int j=start; j<end; j++)
|
||||
if (ISGREEN(ri,i,j))
|
||||
/*if (ISGREEN(ri,i,j))
|
||||
histogram[rawData[i][j]>>histcompr]+=2;
|
||||
else
|
||||
else*/
|
||||
histogram[rawData[i][j]>>histcompr]+=4;
|
||||
else
|
||||
for (int j=start; j<3*end; j++) {
|
||||
histogram[rawData[i][j+0]>>histcompr]++;
|
||||
histogram[rawData[i][j+1]>>histcompr]++;
|
||||
histogram[rawData[i][j+1]>>histcompr]+=2;
|
||||
histogram[rawData[i][j+2]>>histcompr]++;
|
||||
}
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ class RawImageSource : public ImageSource {
|
||||
RawImageSource ();
|
||||
~RawImageSource ();
|
||||
|
||||
int load (Glib::ustring fname);
|
||||
int load (Glib::ustring fname, bool batch = false);
|
||||
void preprocess (const RAWParams &raw);
|
||||
void demosaic (const RAWParams &raw);
|
||||
void copyOriginalPixels( RawImage *ri, RawImage *riDark );
|
||||
@ -149,14 +149,14 @@ class RawImageSource : public ImageSource {
|
||||
inline void interpolate_row_rb_mul_pp (unsigned short* ar, unsigned short* ab, unsigned short* pg, unsigned short* cg, unsigned short* ng, int i, double r_mul, double g_mul, double b_mul, int x1, int width, int skip);
|
||||
|
||||
int LinEqSolve( int nDim, float* pfMatr, float* pfVect, float* pfSolution);//Emil's CA auto correction
|
||||
void CA_correct_RT (); //Emil's pre-demosaic CA correction
|
||||
void CA_correct_RT ();
|
||||
int cfaCleanFromMap( BYTE* bitmapBads );
|
||||
int findHotDeadPixel( BYTE *bpMap, float thresh);
|
||||
void ddct8x8s(int isgn, float **a);
|
||||
void ddct8x8s(int isgn, float **a);
|
||||
|
||||
void cfa_linedn (float linenoiselevel); //Emil's line denoise
|
||||
void cfa_linedn (float linenoiselevel);//Emil's line denoise
|
||||
|
||||
void green_equilibrate (float greenthresh);//Emil's green equilibration
|
||||
void green_equilibrate (float greenthresh);//Emil's green equilibration
|
||||
|
||||
void nodemosaic();
|
||||
void eahd_demosaic();
|
||||
|
@ -38,7 +38,7 @@ LUMINANCECURVE, // EvLContrast,
|
||||
LUMINANCECURVE, // EvLBlack,
|
||||
LUMINANCECURVE, // EvLHLCompr,
|
||||
LUMINANCECURVE, // EvLSHCompr,
|
||||
LUMINANCECURVE, // EvLCurve,
|
||||
LUMINANCECURVE, // EvLLCurve,
|
||||
SHARPENING, // EvShrEnabled,
|
||||
SHARPENING, // EvShrRadius,
|
||||
SHARPENING, // EvShrAmount,
|
||||
@ -114,7 +114,10 @@ DIRPYRDENOISE, // EvDPDNEnabled,
|
||||
DIRPYRDENOISE, // EvDPDNLuma,
|
||||
DIRPYRDENOISE, // EvDPDNChroma,
|
||||
DIRPYRDENOISE, // EvDPDNGamma,
|
||||
DIRPYREQUALIZER, // EvDirPyrEqualizer
|
||||
DIRPYREQUALIZER // EvDirPyrEqlEnabled
|
||||
DIRPYREQUALIZER, // EvDirPyrEqualizer,
|
||||
DIRPYREQUALIZER, // EvDirPyrEqlEnabled,
|
||||
LUMINANCECURVE, // EvLSaturation,
|
||||
LUMINANCECURVE, // EvLaCurve,
|
||||
LUMINANCECURVE, // EvLbCurve
|
||||
};
|
||||
|
||||
|
@ -48,6 +48,62 @@ my_jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile);
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
Thumbnail* Thumbnail::loadFromMemory (const char* image, int length, int &w, int &h, int fixwh) {
|
||||
Image16* img = new Image16 ();
|
||||
int err = img->loadJPEGFromMemory(image,length);
|
||||
if (err) {
|
||||
printf("loadfromMemory: error\n");
|
||||
delete img;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Thumbnail* tpp = new Thumbnail ();
|
||||
|
||||
tpp->camwbRed = 1.0;
|
||||
tpp->camwbGreen = 1.0;
|
||||
tpp->camwbBlue = 1.0;
|
||||
|
||||
tpp->embProfileLength = 0;
|
||||
unsigned char* data;
|
||||
img->getEmbeddedProfileData (tpp->embProfileLength, data);
|
||||
if (data && tpp->embProfileLength) {
|
||||
tpp->embProfileData = new unsigned char [tpp->embProfileLength];
|
||||
memcpy (tpp->embProfileData, data, tpp->embProfileLength);
|
||||
}
|
||||
else {
|
||||
tpp->embProfileLength = 0;
|
||||
tpp->embProfileData = NULL;
|
||||
}
|
||||
|
||||
tpp->redMultiplier = 1.0;
|
||||
tpp->greenMultiplier = 1.0;
|
||||
tpp->blueMultiplier = 1.0;
|
||||
|
||||
tpp->scaleForSave = 8192;
|
||||
tpp->defGain = 1.0;
|
||||
tpp->gammaCorrected = false;
|
||||
tpp->isRaw = 1;
|
||||
memset (tpp->colorMatrix, 0, sizeof(tpp->colorMatrix));
|
||||
tpp->colorMatrix[0][0] = 1.0;
|
||||
tpp->colorMatrix[1][1] = 1.0;
|
||||
tpp->colorMatrix[2][2] = 1.0;
|
||||
|
||||
if (fixwh==1) {
|
||||
w = h * img->width / img->height;
|
||||
tpp->scale = (double)img->height / h;
|
||||
}
|
||||
else {
|
||||
h = w * img->height / img->width;
|
||||
tpp->scale = (double)img->width / w;
|
||||
}
|
||||
|
||||
tpp->thumbImg = img->resize (w, h, TI_Nearest);
|
||||
delete img;
|
||||
|
||||
tpp->init ();
|
||||
return tpp;
|
||||
}
|
||||
|
||||
Thumbnail* Thumbnail::loadFromImage (const Glib::ustring& fname, int &w, int &h, int fixwh) {
|
||||
|
||||
Image16* img = new Image16 ();
|
||||
@ -143,7 +199,7 @@ void Thumbnail::init () {
|
||||
for (int j=0; j<3; j++)
|
||||
for (int k=0; k<3; k++)
|
||||
camToD50[i][j] += colorMatrix[k][i] * sRGB_d50[k][j];
|
||||
camProfile = iccStore.createFromMatrix (camToD50, false, "Camera");
|
||||
camProfile = iccStore->createFromMatrix (camToD50, false, "Camera");
|
||||
}
|
||||
|
||||
bool Thumbnail::igammacomputed = false;
|
||||
@ -173,6 +229,39 @@ Thumbnail::~Thumbnail () {
|
||||
cmsCloseProfile(camProfile);
|
||||
}
|
||||
|
||||
IImage8* Thumbnail::quickProcessImage (const procparams::ProcParams& params, int rheight, TypeInterpolation interp, double& myscale) {
|
||||
|
||||
int rwidth;
|
||||
if (params.coarse.rotate==90 || params.coarse.rotate==270) {
|
||||
rwidth = rheight;
|
||||
rheight = thumbImg->height * rwidth / thumbImg->width;
|
||||
}
|
||||
else
|
||||
rwidth = thumbImg->width * rheight / thumbImg->height;
|
||||
Image16* baseImg = thumbImg->resize (rwidth, rheight, interp);
|
||||
|
||||
if (params.coarse.rotate) {
|
||||
Image16* tmp = baseImg->rotate (params.coarse.rotate);
|
||||
rwidth = tmp->width;
|
||||
rheight = tmp->height;
|
||||
delete baseImg;
|
||||
baseImg = tmp;
|
||||
}
|
||||
if (params.coarse.hflip) {
|
||||
Image16* tmp = baseImg->hflip ();
|
||||
delete baseImg;
|
||||
baseImg = tmp;
|
||||
}
|
||||
if (params.coarse.vflip) {
|
||||
Image16* tmp = baseImg->vflip ();
|
||||
delete baseImg;
|
||||
baseImg = tmp;
|
||||
}
|
||||
Image8* img8 = baseImg->to8();
|
||||
delete baseImg;
|
||||
return img8;
|
||||
}
|
||||
|
||||
IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rheight, TypeInterpolation interp, double& myscale) {
|
||||
|
||||
// compute WB multipliers
|
||||
@ -311,11 +400,12 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei
|
||||
if (params.toneCurve.autoexp && aeHistogram)
|
||||
ipf.getAutoExp (aeHistogram, aeHistCompression, logDefGain, params.toneCurve.clip, br, bl);
|
||||
|
||||
int* curve = new int [65536];
|
||||
CurveFactory::complexCurve (br, bl/65535.0, params.toneCurve.hlcompr, params.toneCurve.shcompr, params.toneCurve.brightness, params.toneCurve.contrast, logDefGain, isRaw ? 2.2 : 0, true, params.toneCurve.curve, hist16, curve, NULL, 16);
|
||||
int* curve1 = new int [65536];
|
||||
int* curve2 = new int [65536];
|
||||
CurveFactory::complexCurve (br, bl/65535.0, params.toneCurve.hlcompr, params.toneCurve.shcompr, params.toneCurve.brightness, params.toneCurve.contrast, logDefGain, isRaw ? 2.2 : 0, true, params.toneCurve.curve, hist16, curve1, curve2, NULL, 16);
|
||||
|
||||
LabImage* labView = new LabImage (baseImg);
|
||||
ipf.rgbProc (baseImg, labView, curve, shmap);
|
||||
ipf.rgbProc (baseImg, labView, curve1, curve2, shmap);
|
||||
|
||||
if (shmap)
|
||||
delete shmap;
|
||||
@ -327,11 +417,15 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei
|
||||
hist16[labView->L[i][j]]++;
|
||||
|
||||
// luminance processing
|
||||
CurveFactory::complexCurve (0.0, 0.0, 0.0, 0.0, params.lumaCurve.brightness, params.lumaCurve.contrast, 0.0, 0.0, false, params.lumaCurve.curve, hist16, curve, NULL, 16);
|
||||
CurveFactory::complexCurve (0.0, 0.0, 0.0, 0.0, params.labCurve.brightness, params.labCurve.contrast, 0.0, 0.0, false, params.labCurve.lcurve, hist16, curve1, curve2, NULL, 16);
|
||||
ipf.luminanceCurve (labView, labView, curve2, 0, fh);
|
||||
CurveFactory::complexsgnCurve (0.0, 100.0, params.labCurve.saturation, 1.0, params.labCurve.acurve, curve1, 16);
|
||||
ipf.chrominanceCurve (labView, labView, 0, curve1, 0, fh);
|
||||
CurveFactory::complexsgnCurve (0.0, 100.0, params.labCurve.saturation, 1.0, params.labCurve.bcurve, curve1, 16);
|
||||
ipf.chrominanceCurve (labView, labView, 1, curve1, 0, fh);
|
||||
|
||||
ipf.luminanceCurve (labView, labView, curve, 0, fh);
|
||||
|
||||
delete [] curve;
|
||||
delete [] curve1;
|
||||
delete [] curve2;
|
||||
delete [] hist16;
|
||||
|
||||
// color processing
|
||||
|
@ -70,9 +70,12 @@ namespace rtengine {
|
||||
void init ();
|
||||
|
||||
IImage8* processImage (const procparams::ProcParams& pparams, int rheight, TypeInterpolation interp, double& scale);
|
||||
IImage8* quickProcessImage (const procparams::ProcParams& pparams, int rheight, TypeInterpolation interp, double& scale);
|
||||
int getImageWidth (const procparams::ProcParams& pparams, int rheight);
|
||||
void getFinalSize (const rtengine::procparams::ProcParams& pparams, int& w, int& h);
|
||||
|
||||
static Thumbnail* loadQuickFromRaw (const Glib::ustring& fname, rtengine::RawMetaDataLocation& rml, int &w, int &h, int fixwh);
|
||||
static Thumbnail* loadFromMemory (const char* image, int length, int &w, int &h, int fixwh);
|
||||
static Thumbnail* loadFromRaw (const Glib::ustring& fname, RawMetaDataLocation& rml, int &w, int &h, int fixwh);
|
||||
static Thumbnail* loadFromImage (const Glib::ustring& fname, int &w, int &h, int fixwh);
|
||||
|
||||
|
@ -1,44 +1,45 @@
|
||||
/*
|
||||
* This file is part of RawTherapee.
|
||||
*
|
||||
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef _RTSETTINGS_
|
||||
#define _RTSETTINGS_
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
/** This structure holds the global parameters used by the RT engine. */
|
||||
class Settings {
|
||||
public:
|
||||
bool dualThreadEnabled; ///< If true, the image processing operations with utilize two processor cores (if possible)
|
||||
Glib::ustring iccDirectory; ///< The directory containing the possible output icc profiles
|
||||
int colorimetricIntent; ///< Colorimetric intent used at color space conversions
|
||||
Glib::ustring monitorProfile; ///< ICC profile of the monitor (full path recommended)
|
||||
bool verbose;
|
||||
Glib::ustring darkFramesPath; ///< The default directory for dark frames
|
||||
|
||||
/** Creates a new instance of Settings.
|
||||
* @return a pointer to the new Settings instance. */
|
||||
static Settings* create ();
|
||||
/** Destroys an instance of Settings.
|
||||
* @param s a pointer to the Settings instance to destroy. */
|
||||
static void destroy (Settings* s);
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This file is part of RawTherapee.
|
||||
*
|
||||
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef _RTSETTINGS_
|
||||
#define _RTSETTINGS_
|
||||
|
||||
namespace rtengine {
|
||||
|
||||
/** This structure holds the global parameters used by the RT engine. */
|
||||
class Settings {
|
||||
public:
|
||||
bool dualThreadEnabled; ///< If true, the image processing operations with utilize two processor cores (if possible)
|
||||
std::string demosaicMethodBatch; ///< The algorithm used for demosaicing. Can be "eahd", "hphd", "ahd", "vng4", "amaze", "bilinear".
|
||||
Glib::ustring iccDirectory; ///< The directory containing the possible output icc profiles
|
||||
int colorimetricIntent; ///< Colorimetric intent used at color space conversions
|
||||
Glib::ustring monitorProfile; ///< ICC profile of the monitor (full path recommended)
|
||||
bool verbose;
|
||||
Glib::ustring darkFramesPath; ///< The default directory for dark frames
|
||||
|
||||
/** Creates a new instance of Settings.
|
||||
* @return a pointer to the new Settings instance. */
|
||||
static Settings* create ();
|
||||
/** Destroys an instance of Settings.
|
||||
* @param s a pointer to the Settings instance to destroy. */
|
||||
static void destroy (Settings* s);
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -51,20 +51,21 @@ void SHMap::update (Image16* img, unsigned short** buffer, double radius, double
|
||||
int val = lumi[0]*img->r[i][j] + lumi[1]*img->g[i][j] + lumi[2]*img->b[i][j];
|
||||
map[i][j] = CLIP(val);
|
||||
}
|
||||
|
||||
if (!hq) {
|
||||
#ifdef _OPENMP
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H)*omp_get_max_threads());
|
||||
#else
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H));
|
||||
#pragma omp parallel
|
||||
#endif
|
||||
{
|
||||
if (!hq) {
|
||||
AlignedBuffer<double>* buffer = new AlignedBuffer<double> (MAX(W,H));
|
||||
gaussHorizontal<unsigned short> (map, map, buffer, W, H, radius, multiThread);
|
||||
gaussVertical<unsigned short> (map, map, buffer, W, H, radius, multiThread);
|
||||
|
||||
delete buffer;
|
||||
}
|
||||
else {
|
||||
#ifdef _OPENMP
|
||||
#if 0
|
||||
// the new OpenMP method does not need thread number specific code.
|
||||
// #ifdef _OPENMP
|
||||
#pragma omp parallel if (multiThread)
|
||||
{
|
||||
int tid = omp_get_thread_num();
|
||||
@ -80,6 +81,9 @@ void SHMap::update (Image16* img, unsigned short** buffer, double radius, double
|
||||
bilateral<unsigned short> (map, buffer, W, H, 8000, radius, 0, H);
|
||||
#endif
|
||||
// anti-alias filtering the result
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for
|
||||
#endif
|
||||
for (int i=0; i<H; i++)
|
||||
for (int j=0; j<W; j++)
|
||||
if (i>0 && j>0 && i<H-1 && j<W-1)
|
||||
@ -87,7 +91,7 @@ void SHMap::update (Image16* img, unsigned short** buffer, double radius, double
|
||||
else
|
||||
map[i][j] = buffer[i][j];
|
||||
}
|
||||
|
||||
} // end parallel enclosure
|
||||
// update average, minimum, maximum
|
||||
double _avg = 0;
|
||||
int n = 1;
|
||||
|
@ -128,12 +128,13 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
||||
ipf.getAutoExp (aehist, aehistcompr, imgsrc->getDefGain(), params.toneCurve.clip, br, bl);
|
||||
}
|
||||
|
||||
int* curve = new int [65536];
|
||||
int* curve1 = new int [65536];
|
||||
int* curve2 = new int [65536];
|
||||
|
||||
CurveFactory::complexCurve (br, bl/65535.0, params.toneCurve.hlcompr, params.toneCurve.shcompr, params.toneCurve.brightness, params.toneCurve.contrast, imgsrc->getDefGain(), imgsrc->getGamma(), true, params.toneCurve.curve, hist16, curve, NULL);
|
||||
CurveFactory::complexCurve (br, bl/65535.0, params.toneCurve.hlcompr, params.toneCurve.shcompr, params.toneCurve.brightness, params.toneCurve.contrast, imgsrc->getDefGain(), imgsrc->getGamma(), true, params.toneCurve.curve, hist16, curve1, curve2, NULL);
|
||||
|
||||
LabImage* labView = new LabImage (baseImg);
|
||||
ipf.rgbProc (baseImg, labView, curve, shmap);
|
||||
ipf.rgbProc (baseImg, labView, curve1, curve2, shmap);
|
||||
|
||||
if (shmap)
|
||||
delete shmap;
|
||||
@ -149,13 +150,19 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
||||
hist16[labView->L[i][j]]++;
|
||||
|
||||
// luminance processing
|
||||
CurveFactory::complexCurve (0.0, 0.0, 0.0, 0.0, params.lumaCurve.brightness, params.lumaCurve.contrast, 0.0, 0.0, false, params.lumaCurve.curve, hist16, curve, NULL);
|
||||
ipf.luminanceCurve (labView, labView, curve, 0, fh);
|
||||
CurveFactory::complexCurve (0.0, 0.0, 0.0, 0.0, params.labCurve.brightness, params.labCurve.contrast, 0.0, 0.0, false, params.labCurve.lcurve, hist16, curve1, curve2, NULL);
|
||||
ipf.luminanceCurve (labView, labView, curve2, 0, fh);
|
||||
CurveFactory::complexsgnCurve (0.0, 100.0, params.labCurve.saturation, 1.0, params.labCurve.acurve, curve1, 1);
|
||||
ipf.chrominanceCurve (labView, labView, 0, curve1, 0, fh);
|
||||
CurveFactory::complexsgnCurve (0.0, 100.0, params.labCurve.saturation, 1.0, params.labCurve.bcurve, curve1, 1);
|
||||
ipf.chrominanceCurve (labView, labView, 1, curve1, 0, fh);
|
||||
|
||||
ipf.impulsedenoise (labView);
|
||||
ipf.lumadenoise (labView, buffer);
|
||||
ipf.sharpening (labView, (unsigned short**)buffer);
|
||||
|
||||
delete [] curve;
|
||||
delete [] curve1;
|
||||
delete [] curve2;
|
||||
delete [] hist16;
|
||||
|
||||
// color processing
|
||||
@ -194,7 +201,7 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
|
||||
|
||||
ProfileContent pc;
|
||||
if (params.icm.output.compare (0, 6, "No ICM") && params.icm.output!="")
|
||||
pc = iccStore.getContent (params.icm.output);
|
||||
pc = iccStore->getContent (params.icm.output);
|
||||
|
||||
readyImg->setOutputProfile (pc.data, pc.length);
|
||||
|
||||
@ -229,7 +236,8 @@ void batchProcessingThread (ProcessingJob* job, BatchProcessingListener* bpl) {
|
||||
void startBatchProcessing (ProcessingJob* job, BatchProcessingListener* bpl) {
|
||||
|
||||
if (bpl)
|
||||
Glib::Thread::create(sigc::bind(sigc::ptr_fun(batchProcessingThread), job, bpl), 0, false, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
Glib::Thread::create(sigc::bind(sigc::ptr_fun(batchProcessingThread), job, bpl), 0, true, true, Glib::THREAD_PRIORITY_LOW);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
26
rtengine/simpleprocess.h
Normal file
26
rtengine/simpleprocess.h
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* File: simpleprocess.h
|
||||
* Author: askv
|
||||
*
|
||||
* Created on September 18, 2010, 8:31 PM
|
||||
*/
|
||||
|
||||
#ifndef SIMPLEPROCESS_H
|
||||
#define SIMPLEPROCESS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
namespace rtengine {
|
||||
|
||||
extern Glib::Thread *batchThread;
|
||||
}
|
||||
#endif /* SIMPLEPROCESS_H */
|
||||
|
@ -70,7 +70,7 @@ StdImageSource::~StdImageSource () {
|
||||
freeArray<char>(needhr, img->height);
|
||||
}
|
||||
|
||||
int StdImageSource::load (Glib::ustring fname) {
|
||||
int StdImageSource::load (Glib::ustring fname, bool batch) {
|
||||
|
||||
fileName = fname;
|
||||
|
||||
@ -256,19 +256,19 @@ void StdImageSource::getImage (ColorTemp ctemp, int tran, Image16* image, Previe
|
||||
void StdImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cmp, cmsHPROFILE embedded) {
|
||||
|
||||
cmsHPROFILE in;
|
||||
cmsHPROFILE out = iccStore.workingSpace (cmp.working);
|
||||
cmsHPROFILE out = iccStore->workingSpace (cmp.working);
|
||||
if (cmp.input=="(embedded)" || cmp.input=="" || cmp.input=="(camera)") {
|
||||
if (embedded)
|
||||
in = embedded;
|
||||
else
|
||||
in = iccStore.getsRGBProfile ();
|
||||
in = iccStore->getsRGBProfile ();
|
||||
}
|
||||
else if (cmp.input!="(none)") {
|
||||
in = iccStore.getProfile (cmp.input);
|
||||
in = iccStore->getProfile (cmp.input);
|
||||
if (in==NULL && embedded)
|
||||
in = embedded;
|
||||
else if (in==NULL)
|
||||
in = iccStore.getsRGBProfile ();
|
||||
in = iccStore->getsRGBProfile ();
|
||||
else if (cmp.gammaOnInput)
|
||||
for (int i=0; i<im->height; i++)
|
||||
for (int j=0; j<im->width; j++) {
|
||||
|
@ -43,7 +43,7 @@ class StdImageSource : public ImageSource {
|
||||
StdImageSource ();
|
||||
~StdImageSource ();
|
||||
|
||||
int load (Glib::ustring fname);
|
||||
int load (Glib::ustring fname, bool batch = false);
|
||||
void getImage (ColorTemp ctemp, int tran, Image16* image, PreviewProps pp, HRecParams hrp, ColorManagementParams cmp, RAWParams raw);
|
||||
ColorTemp getWB () { return wb; }
|
||||
ColorTemp getAutoWB ();
|
||||
|
@ -54,13 +54,13 @@ ProcParams* Updater::getParams () {
|
||||
|
||||
void Updater::startProcessing () {
|
||||
|
||||
#undef THREAD_PRIORITY_NORMAL
|
||||
#undef THREAD_PRIORITY_LOW
|
||||
|
||||
tstart.lock ();
|
||||
if (ipc && !running) {
|
||||
running = true;
|
||||
tstart.unlock ();
|
||||
Glib::Thread::create(sigc::mem_fun(*this, &Updater::process), 0, false, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
Glib::Thread::create(sigc::mem_fun(*this, &Updater::process), 0, false, true, Glib::THREAD_PRIORITY_LOW);
|
||||
}
|
||||
else
|
||||
tstart.unlock ();
|
||||
|
@ -964,7 +964,9 @@ public:
|
||||
case 2: return "Depth";
|
||||
case 3: return "MTF";
|
||||
}
|
||||
return"Normal";
|
||||
}
|
||||
|
||||
};
|
||||
PAAFModeInterpreter paAFModeInterpreter;
|
||||
|
||||
|
@ -14,8 +14,9 @@ set (BASESOURCEFILES
|
||||
whitebalance.cc vignetting.cc rotate.cc distortion.cc
|
||||
crophandler.cc curveeditor.cc dirbrowser.cc
|
||||
filecatalog.cc
|
||||
previewloader.cc
|
||||
histogrampanel.cc history.cc imagearea.cc
|
||||
imageareapanel.cc iptcpanel.cc lcurve.cc lumadenoise.cc main.cc
|
||||
imageareapanel.cc iptcpanel.cc labcurve.cc lumadenoise.cc main.cc
|
||||
multilangmgr.cc mycurve.cc options.cc
|
||||
preferences.cc profilepanel.cc safegtk.cc saveasdlg.cc
|
||||
saveformatpanel.cc splash.cc
|
||||
|
@ -22,7 +22,10 @@
|
||||
#define ADDSET_PERSPECTIVE 18
|
||||
#define ADDSET_CA 19
|
||||
#define ADDSET_VIGN_AMOUNT 20
|
||||
#define ADDSET_LC_SATURATION 21
|
||||
// When adding items, make sure to update ADDSET_PARAM_NUM
|
||||
#define ADDSET_PARAM_NUM 22 // THIS IS USED AS A DELIMITER!!
|
||||
|
||||
|
||||
#define ADDSET_PARAM_NUM 21
|
||||
|
||||
#endif
|
||||
|
@ -18,10 +18,12 @@
|
||||
*/
|
||||
#include <batchqueue.h>
|
||||
#include <glibmm.h>
|
||||
#include <glib/gstdio.h>
|
||||
#include <multilangmgr.h>
|
||||
#include <filecatalog.h>
|
||||
#include <batchqueuebuttonset.h>
|
||||
#include <guiutils.h>
|
||||
#include <safegtk.h>
|
||||
|
||||
using namespace rtengine;
|
||||
|
||||
@ -335,6 +337,10 @@ Glib::ustring BatchQueue::autoCompleteFileName (const Glib::ustring& fileName, c
|
||||
// create directory, if does not exist
|
||||
if (g_mkdir_with_parents (dstdir.c_str(), 0755) )
|
||||
return "";
|
||||
|
||||
// In overwrite mode we TRY to delete the old file first.
|
||||
// if that's not possible (e.g. locked by viewer, R/O), we revert to the standard naming scheme
|
||||
bool inOverwriteMode=options.overwriteOutputFile;
|
||||
|
||||
for (int tries=0; tries<100; tries++) {
|
||||
Glib::ustring fname;
|
||||
@ -343,7 +349,17 @@ Glib::ustring BatchQueue::autoCompleteFileName (const Glib::ustring& fileName, c
|
||||
else
|
||||
fname = Glib::ustring::compose ("%1-%2.%3", Glib::build_filename (dstdir, dstfname), tries, format);
|
||||
|
||||
if (!Glib::file_test (fname, Glib::FILE_TEST_EXISTS)) {
|
||||
int fileExists=Glib::file_test (fname, Glib::FILE_TEST_EXISTS);
|
||||
|
||||
if (inOverwriteMode && fileExists) {
|
||||
// do NOT use g_remove as it has compiler problems on Unix and OSX (GTK namespace problem)
|
||||
if (::remove(safe_locale_from_utf8(fname).c_str ()) == -1)
|
||||
inOverwriteMode = false; // failed to delete- revert to old naming scheme
|
||||
else
|
||||
fileExists = false; // deleted now
|
||||
}
|
||||
|
||||
if (!fileExists) {
|
||||
return fname;
|
||||
}
|
||||
}
|
||||
|
@ -1,269 +1,269 @@
|
||||
/*
|
||||
* This file is part of RawTherapee.
|
||||
*
|
||||
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <batchqueuepanel.h>
|
||||
#include <options.h>
|
||||
#include <preferences.h>
|
||||
#include <multilangmgr.h>
|
||||
#include <rtwindow.h>
|
||||
|
||||
BatchQueuePanel::BatchQueuePanel () {
|
||||
|
||||
batchQueue = new BatchQueue();
|
||||
|
||||
// construct batch queue panel with the extra "start" and "stop" button
|
||||
Gtk::VBox* batchQueueButtonBox = Gtk::manage (new Gtk::VBox);
|
||||
start = Gtk::manage (new Gtk::ToggleButton (M("FILEBROWSER_STARTPROCESSING")));
|
||||
stop = Gtk::manage (new Gtk::ToggleButton (M("FILEBROWSER_STOPPROCESSING")));
|
||||
autoStart = Gtk::manage (new Gtk::CheckButton (M("BATCHQUEUE_AUTOSTART")));
|
||||
start->set_tooltip_text (M("FILEBROWSER_STARTPROCESSINGHINT"));
|
||||
stop->set_tooltip_text (M("FILEBROWSER_STOPPROCESSINGHINT"));
|
||||
autoStart->set_tooltip_text (M("FILEBROWSER_TOOLTIP_STOPPROCESSING"));
|
||||
start->set_active (false);
|
||||
stop->set_active (true);
|
||||
autoStart->set_active (options.procQueueEnabled);
|
||||
|
||||
start->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-media-play"), Gtk::ICON_SIZE_BUTTON)));
|
||||
startConnection = start->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::startBatchProc));
|
||||
stop->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-media-stop"), Gtk::ICON_SIZE_BUTTON)));
|
||||
stopConnection = stop->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::stopBatchProc));
|
||||
batchQueueButtonBox->pack_start (*start, Gtk::PACK_SHRINK, 4);
|
||||
batchQueueButtonBox->pack_start (*stop, Gtk::PACK_SHRINK, 4);
|
||||
batchQueueButtonBox->pack_start (*autoStart, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
// Output directory selection
|
||||
fdir = Gtk::manage (new Gtk::Frame (M("PREFERENCES_OUTDIR")));
|
||||
Gtk::VBox* odvb = Gtk::manage (new Gtk::VBox ());
|
||||
odvb->set_border_width (4);
|
||||
Gtk::HBox* hb2 = Gtk::manage (new Gtk::HBox ());
|
||||
useTemplate = Gtk::manage (new Gtk::RadioButton (M("PREFERENCES_OUTDIRTEMPLATE")+":"));
|
||||
hb2->pack_start (*useTemplate, Gtk::PACK_SHRINK,4);
|
||||
outdirTemplate = Gtk::manage (new Gtk::Entry ());
|
||||
hb2->pack_start (*outdirTemplate);
|
||||
odvb->pack_start (*hb2, Gtk::PACK_SHRINK, 4);
|
||||
outdirTemplate->set_tooltip_markup (M("PREFERENCES_OUTDIRTEMPLATEHINT"));
|
||||
useTemplate->set_tooltip_markup (M("PREFERENCES_OUTDIRTEMPLATEHINT"));
|
||||
Gtk::HBox* hb3 = Gtk::manage (new Gtk::HBox ());
|
||||
useFolder = Gtk::manage (new Gtk::RadioButton (M("PREFERENCES_OUTDIRFOLDER")+":"));
|
||||
hb3->pack_start (*useFolder, Gtk::PACK_SHRINK,4);
|
||||
outdirFolder = Gtk::manage (new Gtk::FileChooserButton (M("PREFERENCES_OUTDIRFOLDER"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER));
|
||||
hb3->pack_start (*outdirFolder);
|
||||
odvb->pack_start (*hb3, Gtk::PACK_SHRINK, 4);
|
||||
outdirFolder->set_tooltip_markup (M("PREFERENCES_OUTDIRFOLDERHINT"));
|
||||
useFolder->set_tooltip_markup (M("PREFERENCES_OUTDIRFOLDERHINT"));
|
||||
Gtk::RadioButton::Group g = useTemplate->get_group();
|
||||
useFolder->set_group (g);
|
||||
fdir->add (*odvb);
|
||||
|
||||
// Output file format selection
|
||||
fformat = Gtk::manage (new Gtk::Frame (M("PREFERENCES_FILEFORMAT")));
|
||||
saveFormatPanel = Gtk::manage (new SaveFormatPanel ());
|
||||
fformat->add (*saveFormatPanel);
|
||||
|
||||
saveFormatPanel->init (options.saveFormat);
|
||||
outdirTemplate->set_text (options.savePathTemplate);
|
||||
if (Glib::file_test (options.savePathFolder, Glib::FILE_TEST_IS_DIR))
|
||||
outdirFolder->set_filename (options.savePathFolder);
|
||||
useTemplate->set_active (options.saveUsePathTemplate);
|
||||
useFolder->set_active (!options.saveUsePathTemplate);
|
||||
|
||||
// setup signal handlers
|
||||
outdirTemplate->signal_changed().connect (sigc::mem_fun(*this, &BatchQueuePanel::saveOptions));
|
||||
outdirFolder->signal_current_folder_changed().connect (sigc::mem_fun(*this, &BatchQueuePanel::pathFolderChanged));
|
||||
useTemplate->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::saveOptions));
|
||||
useFolder->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::saveOptions));
|
||||
saveFormatPanel->setListener (this);
|
||||
|
||||
// setup button bar
|
||||
topBox = Gtk::manage (new Gtk::HBox ());
|
||||
pack_start (*topBox, Gtk::PACK_SHRINK);
|
||||
|
||||
topBox->pack_start (*batchQueueButtonBox, Gtk::PACK_SHRINK, 4);
|
||||
topBox->pack_start (*fdir);
|
||||
topBox->pack_start (*fformat, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
// add middle browser area
|
||||
Gtk::HBox* hBox = Gtk::manage (new Gtk::HBox ());
|
||||
pack_start (*batchQueue);
|
||||
|
||||
// lower box with thumbnail zoom
|
||||
bottomBox = Gtk::manage (new Gtk::HBox ());
|
||||
pack_start (*bottomBox, Gtk::PACK_SHRINK);
|
||||
|
||||
// change thumbnail arrangement button
|
||||
hAlignIcon = new Gtk::Image (argv0+"/images/horizontals.png");
|
||||
vAlignIcon = new Gtk::Image (argv0+"/images/verticals.png");
|
||||
hAlignIcon->show ();
|
||||
vAlignIcon->show ();
|
||||
chAlign = Gtk::manage (new Gtk::Button ());
|
||||
chAlign->show ();
|
||||
bottomBox->pack_end (*chAlign, Gtk::PACK_SHRINK);
|
||||
chAlign->set_image (*hAlignIcon);
|
||||
chAlign->set_relief (Gtk::RELIEF_NONE);
|
||||
chAlign->signal_pressed().connect (sigc::mem_fun(*this, &BatchQueuePanel::arrangementButtonPressed));
|
||||
chAlign->set_tooltip_text (M("FILEBROWSER_ARRANGEMENTHINT"));
|
||||
bottomBox->pack_end (*Gtk::manage (new Gtk::VSeparator), Gtk::PACK_SHRINK, 4);
|
||||
if (options.fbArrangement==1)
|
||||
chAlign->set_image (*vAlignIcon);
|
||||
else
|
||||
chAlign->set_image (*hAlignIcon);
|
||||
arrangementButtonPressed ();
|
||||
|
||||
// thumbnail zoom
|
||||
Gtk::HBox* zoomBox = Gtk::manage (new Gtk::HBox ());
|
||||
zoomBox->pack_start (*Gtk::manage (new Gtk::VSeparator), Gtk::PACK_SHRINK, 4);
|
||||
Gtk::Label* zoomLabel = Gtk::manage (new Gtk::Label (Glib::ustring("<b>")+M("FILEBROWSER_THUMBSIZE")+":</b>"));
|
||||
zoomLabel->set_use_markup (true);
|
||||
zoomBox->pack_start (*zoomLabel, Gtk::PACK_SHRINK, 4);
|
||||
zoomInButton = Gtk::manage (new Gtk::Button ());
|
||||
zoomInButton->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-zoom-in"), Gtk::ICON_SIZE_SMALL_TOOLBAR)));
|
||||
zoomInButton->signal_pressed().connect (sigc::mem_fun(*batchQueue, &BatchQueue::zoomIn));
|
||||
zoomInButton->set_relief (Gtk::RELIEF_NONE);
|
||||
zoomInButton->set_tooltip_text (M("FILEBROWSER_ZOOMINHINT"));
|
||||
zoomBox->pack_end (*zoomInButton, Gtk::PACK_SHRINK);
|
||||
zoomOutButton = Gtk::manage (new Gtk::Button ());
|
||||
zoomOutButton->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-zoom-out"), Gtk::ICON_SIZE_SMALL_TOOLBAR)));
|
||||
zoomOutButton->signal_pressed().connect (sigc::mem_fun(*batchQueue, &BatchQueue::zoomOut));
|
||||
zoomOutButton->set_relief (Gtk::RELIEF_NONE);
|
||||
zoomOutButton->set_tooltip_text (M("FILEBROWSER_ZOOMOUTHINT"));
|
||||
zoomBox->pack_end (*zoomOutButton, Gtk::PACK_SHRINK);
|
||||
bottomBox->pack_end (*zoomBox, Gtk::PACK_SHRINK);
|
||||
|
||||
|
||||
batchQueue->setBatchQueueListener (this);
|
||||
|
||||
show_all ();
|
||||
}
|
||||
|
||||
void BatchQueuePanel::arrangementButtonPressed () {
|
||||
|
||||
if (chAlign->get_image()==hAlignIcon) {
|
||||
chAlign->set_image (*vAlignIcon);
|
||||
batchQueue->setArrangement (BatchQueue::TB_Vertical);
|
||||
}
|
||||
else {
|
||||
chAlign->set_image (*hAlignIcon);
|
||||
batchQueue->setArrangement (BatchQueue::TB_Horizontal);
|
||||
}
|
||||
}
|
||||
|
||||
void BatchQueuePanel::updateTab (int qsize)
|
||||
{
|
||||
Gtk::Notebook *nb =(Gtk::Notebook *)(this->get_parent());
|
||||
Gtk::HBox* hbb = Gtk::manage (new Gtk::HBox ());
|
||||
if(!qsize ){
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Image (argv0+"/images/processing.png")));
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Label (M("MAIN_FRAME_BATCHQUEUE") )));
|
||||
}else if( start->get_active () ){
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Image (argv0+"/images/processing-play.png")));
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Label (M("MAIN_FRAME_BATCHQUEUE")+" [" +Glib::ustring::format( qsize )+"]" )));
|
||||
}else{
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Image (argv0+"/images/processing-pause.png")));
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Label (M("MAIN_FRAME_BATCHQUEUE")+" [" +Glib::ustring::format( qsize )+"]" )));
|
||||
}
|
||||
hbb->set_spacing (2);
|
||||
hbb->show_all ();
|
||||
nb->set_tab_label(*this,*hbb);
|
||||
}
|
||||
|
||||
void BatchQueuePanel::queueSizeChanged (int qsize)
|
||||
{
|
||||
updateTab ( qsize);
|
||||
}
|
||||
|
||||
void BatchQueuePanel::imageProcessingReady (Glib::ustring fname) {
|
||||
|
||||
parent->imageDeveloped (fname);
|
||||
}
|
||||
|
||||
void BatchQueuePanel::startBatchProc () {
|
||||
|
||||
stopConnection.block (true);
|
||||
startConnection.block (true);
|
||||
stop->set_active (false);
|
||||
start->set_active (true);
|
||||
stopConnection.block (false);
|
||||
startConnection.block (false);
|
||||
|
||||
if (batchQueue->hasJobs()) {
|
||||
fdir->set_sensitive (false);
|
||||
fformat->set_sensitive (false);
|
||||
saveOptions();
|
||||
batchQueue->startProcessing ();
|
||||
}
|
||||
else
|
||||
stopBatchProc ();
|
||||
updateTab (batchQueue->getEntries().size());
|
||||
}
|
||||
|
||||
void BatchQueuePanel::stopBatchProc () {
|
||||
|
||||
stopConnection.block (true);
|
||||
startConnection.block (true);
|
||||
stop->set_active (true);
|
||||
start->set_active (false);
|
||||
stopConnection.block (false);
|
||||
startConnection.block (false);
|
||||
updateTab (batchQueue->getEntries().size());
|
||||
}
|
||||
|
||||
void BatchQueuePanel::addBatchQueueJob (BatchQueueEntry* bqe, bool head) {
|
||||
|
||||
batchQueue->addEntry (bqe, head);
|
||||
|
||||
if (stop->get_active () && autoStart->get_active ())
|
||||
startBatchProc ();
|
||||
}
|
||||
|
||||
void BatchQueuePanel::queueEmpty () {
|
||||
|
||||
stopBatchProc ();
|
||||
fdir->set_sensitive (true);
|
||||
fformat->set_sensitive (true);
|
||||
}
|
||||
|
||||
bool BatchQueuePanel::canStartNext () {
|
||||
|
||||
if (start->get_active ())
|
||||
return true;
|
||||
else {
|
||||
fdir->set_sensitive (true);
|
||||
fformat->set_sensitive (true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void BatchQueuePanel::saveOptions () {
|
||||
|
||||
options.savePathTemplate = outdirTemplate->get_text();
|
||||
options.saveUsePathTemplate = useTemplate->get_active();
|
||||
options.procQueueEnabled = autoStart->get_active ();
|
||||
}
|
||||
|
||||
// We only want to save the following when it changes, \
|
||||
// since these settings are shared with editorpanel :
|
||||
void BatchQueuePanel::pathFolderChanged () {
|
||||
|
||||
options.savePathFolder = outdirFolder->get_filename();
|
||||
}
|
||||
|
||||
void BatchQueuePanel::formatChanged (Glib::ustring f) {
|
||||
|
||||
options.saveFormat = saveFormatPanel->getFormat ();
|
||||
|
||||
}
|
||||
/*
|
||||
* This file is part of RawTherapee.
|
||||
*
|
||||
* Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <batchqueuepanel.h>
|
||||
#include <options.h>
|
||||
#include <preferences.h>
|
||||
#include <multilangmgr.h>
|
||||
#include <rtwindow.h>
|
||||
|
||||
BatchQueuePanel::BatchQueuePanel () {
|
||||
|
||||
batchQueue = new BatchQueue();
|
||||
|
||||
// construct batch queue panel with the extra "start" and "stop" button
|
||||
Gtk::VBox* batchQueueButtonBox = Gtk::manage (new Gtk::VBox);
|
||||
start = Gtk::manage (new Gtk::ToggleButton (M("FILEBROWSER_STARTPROCESSING")));
|
||||
stop = Gtk::manage (new Gtk::ToggleButton (M("FILEBROWSER_STOPPROCESSING")));
|
||||
autoStart = Gtk::manage (new Gtk::CheckButton (M("BATCHQUEUE_AUTOSTART")));
|
||||
start->set_tooltip_text (M("FILEBROWSER_STARTPROCESSINGHINT"));
|
||||
stop->set_tooltip_text (M("FILEBROWSER_STOPPROCESSINGHINT"));
|
||||
autoStart->set_tooltip_text (M("FILEBROWSER_TOOLTIP_STOPPROCESSING"));
|
||||
start->set_active (false);
|
||||
stop->set_active (true);
|
||||
autoStart->set_active (options.procQueueEnabled);
|
||||
|
||||
start->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-media-play"), Gtk::ICON_SIZE_BUTTON)));
|
||||
startConnection = start->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::startBatchProc));
|
||||
stop->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-media-stop"), Gtk::ICON_SIZE_BUTTON)));
|
||||
stopConnection = stop->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::stopBatchProc));
|
||||
batchQueueButtonBox->pack_start (*start, Gtk::PACK_SHRINK, 4);
|
||||
batchQueueButtonBox->pack_start (*stop, Gtk::PACK_SHRINK, 4);
|
||||
batchQueueButtonBox->pack_start (*autoStart, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
// Output directory selection
|
||||
fdir = Gtk::manage (new Gtk::Frame (M("PREFERENCES_OUTDIR")));
|
||||
Gtk::VBox* odvb = Gtk::manage (new Gtk::VBox ());
|
||||
odvb->set_border_width (4);
|
||||
Gtk::HBox* hb2 = Gtk::manage (new Gtk::HBox ());
|
||||
useTemplate = Gtk::manage (new Gtk::RadioButton (M("PREFERENCES_OUTDIRTEMPLATE")+":"));
|
||||
hb2->pack_start (*useTemplate, Gtk::PACK_SHRINK,4);
|
||||
outdirTemplate = Gtk::manage (new Gtk::Entry ());
|
||||
hb2->pack_start (*outdirTemplate);
|
||||
odvb->pack_start (*hb2, Gtk::PACK_SHRINK, 4);
|
||||
outdirTemplate->set_tooltip_markup (M("PREFERENCES_OUTDIRTEMPLATEHINT"));
|
||||
useTemplate->set_tooltip_markup (M("PREFERENCES_OUTDIRTEMPLATEHINT"));
|
||||
Gtk::HBox* hb3 = Gtk::manage (new Gtk::HBox ());
|
||||
useFolder = Gtk::manage (new Gtk::RadioButton (M("PREFERENCES_OUTDIRFOLDER")+":"));
|
||||
hb3->pack_start (*useFolder, Gtk::PACK_SHRINK,4);
|
||||
outdirFolder = Gtk::manage (new Gtk::FileChooserButton (M("PREFERENCES_OUTDIRFOLDER"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER));
|
||||
hb3->pack_start (*outdirFolder);
|
||||
odvb->pack_start (*hb3, Gtk::PACK_SHRINK, 4);
|
||||
outdirFolder->set_tooltip_markup (M("PREFERENCES_OUTDIRFOLDERHINT"));
|
||||
useFolder->set_tooltip_markup (M("PREFERENCES_OUTDIRFOLDERHINT"));
|
||||
Gtk::RadioButton::Group g = useTemplate->get_group();
|
||||
useFolder->set_group (g);
|
||||
fdir->add (*odvb);
|
||||
|
||||
// Output file format selection
|
||||
fformat = Gtk::manage (new Gtk::Frame (M("PREFERENCES_FILEFORMAT")));
|
||||
saveFormatPanel = Gtk::manage (new SaveFormatPanel ());
|
||||
fformat->add (*saveFormatPanel);
|
||||
|
||||
saveFormatPanel->init (options.saveFormat);
|
||||
outdirTemplate->set_text (options.savePathTemplate);
|
||||
if (Glib::file_test (options.savePathFolder, Glib::FILE_TEST_IS_DIR))
|
||||
outdirFolder->set_current_folder (options.savePathFolder);
|
||||
useTemplate->set_active (options.saveUsePathTemplate);
|
||||
useFolder->set_active (!options.saveUsePathTemplate);
|
||||
|
||||
// setup signal handlers
|
||||
outdirTemplate->signal_changed().connect (sigc::mem_fun(*this, &BatchQueuePanel::saveOptions));
|
||||
outdirFolder->signal_current_folder_changed().connect (sigc::mem_fun(*this, &BatchQueuePanel::pathFolderChanged));
|
||||
useTemplate->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::saveOptions));
|
||||
useFolder->signal_toggled().connect (sigc::mem_fun(*this, &BatchQueuePanel::saveOptions));
|
||||
saveFormatPanel->setListener (this);
|
||||
|
||||
// setup button bar
|
||||
topBox = Gtk::manage (new Gtk::HBox ());
|
||||
pack_start (*topBox, Gtk::PACK_SHRINK);
|
||||
|
||||
topBox->pack_start (*batchQueueButtonBox, Gtk::PACK_SHRINK, 4);
|
||||
topBox->pack_start (*fdir);
|
||||
topBox->pack_start (*fformat, Gtk::PACK_SHRINK, 4);
|
||||
|
||||
// add middle browser area
|
||||
Gtk::HBox* hBox = Gtk::manage (new Gtk::HBox ());
|
||||
pack_start (*batchQueue);
|
||||
|
||||
// lower box with thumbnail zoom
|
||||
bottomBox = Gtk::manage (new Gtk::HBox ());
|
||||
pack_start (*bottomBox, Gtk::PACK_SHRINK);
|
||||
|
||||
// change thumbnail arrangement button
|
||||
hAlignIcon = new Gtk::Image (argv0+"/images/horizontals.png");
|
||||
vAlignIcon = new Gtk::Image (argv0+"/images/verticals.png");
|
||||
hAlignIcon->show ();
|
||||
vAlignIcon->show ();
|
||||
chAlign = Gtk::manage (new Gtk::Button ());
|
||||
chAlign->show ();
|
||||
bottomBox->pack_end (*chAlign, Gtk::PACK_SHRINK);
|
||||
chAlign->set_image (*hAlignIcon);
|
||||
chAlign->set_relief (Gtk::RELIEF_NONE);
|
||||
chAlign->signal_pressed().connect (sigc::mem_fun(*this, &BatchQueuePanel::arrangementButtonPressed));
|
||||
chAlign->set_tooltip_text (M("FILEBROWSER_ARRANGEMENTHINT"));
|
||||
bottomBox->pack_end (*Gtk::manage (new Gtk::VSeparator), Gtk::PACK_SHRINK, 4);
|
||||
if (options.fbArrangement==1)
|
||||
chAlign->set_image (*vAlignIcon);
|
||||
else
|
||||
chAlign->set_image (*hAlignIcon);
|
||||
arrangementButtonPressed ();
|
||||
|
||||
// thumbnail zoom
|
||||
Gtk::HBox* zoomBox = Gtk::manage (new Gtk::HBox ());
|
||||
zoomBox->pack_start (*Gtk::manage (new Gtk::VSeparator), Gtk::PACK_SHRINK, 4);
|
||||
Gtk::Label* zoomLabel = Gtk::manage (new Gtk::Label (Glib::ustring("<b>")+M("FILEBROWSER_THUMBSIZE")+":</b>"));
|
||||
zoomLabel->set_use_markup (true);
|
||||
zoomBox->pack_start (*zoomLabel, Gtk::PACK_SHRINK, 4);
|
||||
zoomInButton = Gtk::manage (new Gtk::Button ());
|
||||
zoomInButton->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-zoom-in"), Gtk::ICON_SIZE_SMALL_TOOLBAR)));
|
||||
zoomInButton->signal_pressed().connect (sigc::mem_fun(*batchQueue, &BatchQueue::zoomIn));
|
||||
zoomInButton->set_relief (Gtk::RELIEF_NONE);
|
||||
zoomInButton->set_tooltip_text (M("FILEBROWSER_ZOOMINHINT"));
|
||||
zoomBox->pack_end (*zoomInButton, Gtk::PACK_SHRINK);
|
||||
zoomOutButton = Gtk::manage (new Gtk::Button ());
|
||||
zoomOutButton->set_image (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-zoom-out"), Gtk::ICON_SIZE_SMALL_TOOLBAR)));
|
||||
zoomOutButton->signal_pressed().connect (sigc::mem_fun(*batchQueue, &BatchQueue::zoomOut));
|
||||
zoomOutButton->set_relief (Gtk::RELIEF_NONE);
|
||||
zoomOutButton->set_tooltip_text (M("FILEBROWSER_ZOOMOUTHINT"));
|
||||
zoomBox->pack_end (*zoomOutButton, Gtk::PACK_SHRINK);
|
||||
bottomBox->pack_end (*zoomBox, Gtk::PACK_SHRINK);
|
||||
|
||||
|
||||
batchQueue->setBatchQueueListener (this);
|
||||
|
||||
show_all ();
|
||||
}
|
||||
|
||||
void BatchQueuePanel::arrangementButtonPressed () {
|
||||
|
||||
if (chAlign->get_image()==hAlignIcon) {
|
||||
chAlign->set_image (*vAlignIcon);
|
||||
batchQueue->setArrangement (BatchQueue::TB_Vertical);
|
||||
}
|
||||
else {
|
||||
chAlign->set_image (*hAlignIcon);
|
||||
batchQueue->setArrangement (BatchQueue::TB_Horizontal);
|
||||
}
|
||||
}
|
||||
|
||||
void BatchQueuePanel::updateTab (int qsize)
|
||||
{
|
||||
Gtk::Notebook *nb =(Gtk::Notebook *)(this->get_parent());
|
||||
Gtk::HBox* hbb = Gtk::manage (new Gtk::HBox ());
|
||||
if(!qsize ){
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Image (argv0+"/images/processing.png")));
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Label (M("MAIN_FRAME_BATCHQUEUE") )));
|
||||
}else if( start->get_active () ){
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Image (argv0+"/images/processing-play.png")));
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Label (M("MAIN_FRAME_BATCHQUEUE")+" [" +Glib::ustring::format( qsize )+"]" )));
|
||||
}else{
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Image (argv0+"/images/processing-pause.png")));
|
||||
hbb->pack_start (*Gtk::manage (new Gtk::Label (M("MAIN_FRAME_BATCHQUEUE")+" [" +Glib::ustring::format( qsize )+"]" )));
|
||||
}
|
||||
hbb->set_spacing (2);
|
||||
hbb->show_all ();
|
||||
nb->set_tab_label(*this,*hbb);
|
||||
}
|
||||
|
||||
void BatchQueuePanel::queueSizeChanged (int qsize)
|
||||
{
|
||||
updateTab ( qsize);
|
||||
}
|
||||
|
||||
void BatchQueuePanel::imageProcessingReady (Glib::ustring fname) {
|
||||
|
||||
parent->imageDeveloped (fname);
|
||||
}
|
||||
|
||||
void BatchQueuePanel::startBatchProc () {
|
||||
|
||||
stopConnection.block (true);
|
||||
startConnection.block (true);
|
||||
stop->set_active (false);
|
||||
start->set_active (true);
|
||||
stopConnection.block (false);
|
||||
startConnection.block (false);
|
||||
|
||||
if (batchQueue->hasJobs()) {
|
||||
fdir->set_sensitive (false);
|
||||
fformat->set_sensitive (false);
|
||||
saveOptions();
|
||||
batchQueue->startProcessing ();
|
||||
}
|
||||
else
|
||||
stopBatchProc ();
|
||||
updateTab (batchQueue->getEntries().size());
|
||||
}
|
||||
|
||||
void BatchQueuePanel::stopBatchProc () {
|
||||
|
||||
stopConnection.block (true);
|
||||
startConnection.block (true);
|
||||
stop->set_active (true);
|
||||
start->set_active (false);
|
||||
stopConnection.block (false);
|
||||
startConnection.block (false);
|
||||
updateTab (batchQueue->getEntries().size());
|
||||
}
|
||||
|
||||
void BatchQueuePanel::addBatchQueueJob (BatchQueueEntry* bqe, bool head) {
|
||||
|
||||
batchQueue->addEntry (bqe, head);
|
||||
|
||||
if (stop->get_active () && autoStart->get_active ())
|
||||
startBatchProc ();
|
||||
}
|
||||
|
||||
void BatchQueuePanel::queueEmpty () {
|
||||
|
||||
stopBatchProc ();
|
||||
fdir->set_sensitive (true);
|
||||
fformat->set_sensitive (true);
|
||||
}
|
||||
|
||||
bool BatchQueuePanel::canStartNext () {
|
||||
|
||||
if (start->get_active ())
|
||||
return true;
|
||||
else {
|
||||
fdir->set_sensitive (true);
|
||||
fformat->set_sensitive (true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void BatchQueuePanel::saveOptions () {
|
||||
|
||||
options.savePathTemplate = outdirTemplate->get_text();
|
||||
options.saveUsePathTemplate = useTemplate->get_active();
|
||||
options.procQueueEnabled = autoStart->get_active ();
|
||||
}
|
||||
|
||||
// We only want to save the following when it changes, \
|
||||
// since these settings are shared with editorpanel :
|
||||
void BatchQueuePanel::pathFolderChanged () {
|
||||
|
||||
options.savePathFolder = outdirFolder->get_current_folder();
|
||||
}
|
||||
|
||||
void BatchQueuePanel::formatChanged (Glib::ustring f) {
|
||||
|
||||
options.saveFormat = saveFormatPanel->getFormat ();
|
||||
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ void BatchToolPanelCoordinator::initSession () {
|
||||
coarse->initBatchBehavior ();
|
||||
|
||||
curve->setAdjusterBehavior (options.baBehav[ADDSET_TC_EXPCOMP], options.baBehav[ADDSET_TC_BRIGHTNESS], options.baBehav[ADDSET_TC_BLACKLEVEL], options.baBehav[ADDSET_TC_CONTRAST]);
|
||||
lcurve->setAdjusterBehavior (options.baBehav[ADDSET_LC_BRIGHTNESS], options.baBehav[ADDSET_LC_CONTRAST]);
|
||||
lcurve->setAdjusterBehavior (options.baBehav[ADDSET_LC_BRIGHTNESS], options.baBehav[ADDSET_LC_CONTRAST], options.baBehav[ADDSET_LC_SATURATION]);
|
||||
whitebalance->setAdjusterBehavior (options.baBehav[ADDSET_WB_TEMPERATURE], options.baBehav[ADDSET_WB_GREEN]);
|
||||
vignetting->setAdjusterBehavior (options.baBehav[ADDSET_VIGN_AMOUNT]);
|
||||
rotate->setAdjusterBehavior (options.baBehav[ADDSET_ROTATE_DEGREE]);
|
||||
@ -143,9 +143,10 @@ void BatchToolPanelCoordinator::initSession () {
|
||||
if (options.baBehav[ADDSET_SH_SHADOWS]) pparams.sh.shadows = 0;
|
||||
if (options.baBehav[ADDSET_SH_LOCALCONTRAST]) pparams.sh.localcontrast = 0;
|
||||
|
||||
if (options.baBehav[ADDSET_LC_BRIGHTNESS]) pparams.lumaCurve.brightness = 0;
|
||||
if (options.baBehav[ADDSET_LC_CONTRAST]) pparams.lumaCurve.contrast = 0;
|
||||
|
||||
if (options.baBehav[ADDSET_LC_BRIGHTNESS]) pparams.labCurve.brightness = 0;
|
||||
if (options.baBehav[ADDSET_LC_CONTRAST]) pparams.labCurve.contrast = 0;
|
||||
if (options.baBehav[ADDSET_LC_SATURATION]) pparams.labCurve.saturation = 0;
|
||||
|
||||
if (options.baBehav[ADDSET_SHARP_AMOUNT]) pparams.sharpening.amount = 0;
|
||||
if (options.baBehav[ADDSET_LD_EDGETOLERANCE]) pparams.lumaDenoise.edgetolerance = 0;
|
||||
|
||||
|
@ -57,9 +57,10 @@ void BatchQueueEntryUpdater::add (guint8* oimg, int ow, int oh, int newh, BQEntr
|
||||
|
||||
void BatchQueueEntryUpdater::process () {
|
||||
|
||||
if (stopped)
|
||||
#undef THREAD_PRIORITY_NORMAL
|
||||
thread = Glib::Thread::create(sigc::mem_fun(*this, &BatchQueueEntryUpdater::process_), (unsigned long int)0, true, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
if (stopped){
|
||||
#undef THREAD_PRIORITY_LOW
|
||||
thread = Glib::Thread::create(sigc::mem_fun(*this, &BatchQueueEntryUpdater::process_), (unsigned long int)0, true, true, Glib::THREAD_PRIORITY_LOW);
|
||||
}
|
||||
}
|
||||
|
||||
void BatchQueueEntryUpdater::process_ () {
|
||||
@ -93,7 +94,7 @@ void BatchQueueEntryUpdater::stop () {
|
||||
tostop = true;
|
||||
Glib::Thread::self()->yield();
|
||||
if (!stopped)
|
||||
thread->join ();
|
||||
thread->join ();
|
||||
gdk_threads_enter();
|
||||
}
|
||||
|
||||
|
@ -24,10 +24,26 @@
|
||||
#include <procparamchangers.h>
|
||||
#include <safegtk.h>
|
||||
|
||||
CacheManager cacheMgr;
|
||||
CacheManager*
|
||||
CacheManager::getInstance(void)
|
||||
{
|
||||
static CacheManager* instance_ = 0;
|
||||
if ( instance_ == 0 )
|
||||
{
|
||||
static Glib::Mutex smutex_;
|
||||
Glib::Mutex::Lock lock(smutex_);
|
||||
if ( instance_ == 0 )
|
||||
{
|
||||
instance_ = new CacheManager();
|
||||
}
|
||||
}
|
||||
return instance_;
|
||||
}
|
||||
|
||||
void CacheManager::init () {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
openEntries.clear ();
|
||||
baseDir = options.cacheBaseDir;
|
||||
|
||||
@ -49,12 +65,18 @@ Thumbnail* CacheManager::getEntry (const Glib::ustring& fname) {
|
||||
|
||||
Thumbnail* res = NULL;
|
||||
|
||||
std::map<std::string, Thumbnail*>::iterator r = openEntries.find (fname);
|
||||
// if it is open, return it
|
||||
if (r!=openEntries.end()) {
|
||||
r->second->increaseRef ();
|
||||
return r->second;
|
||||
}
|
||||
// take manager lock and search for entry, if found return it else release
|
||||
// lock and create it
|
||||
{
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
string_thumb_map::iterator r = openEntries.find (fname);
|
||||
// if it is open, return it
|
||||
if (r!=openEntries.end()) {
|
||||
r->second->increaseRef ();
|
||||
return r->second;
|
||||
}
|
||||
}
|
||||
|
||||
// compute the md5
|
||||
std::string md5 = getMD5 (fname);
|
||||
@ -78,6 +100,7 @@ Thumbnail* CacheManager::getEntry (const Glib::ustring& fname) {
|
||||
}
|
||||
// if not, create a new one
|
||||
if (!res) {
|
||||
|
||||
res = new Thumbnail (this, fname, md5);
|
||||
if (!res->isSupported ()) {
|
||||
delete res;
|
||||
@ -85,20 +108,45 @@ Thumbnail* CacheManager::getEntry (const Glib::ustring& fname) {
|
||||
}
|
||||
}
|
||||
|
||||
// retake the lock and see if it was added while we we're unlocked, if it
|
||||
// was use it over our version. if not added we create the cache entry
|
||||
if (res)
|
||||
openEntries[fname] = res;
|
||||
{
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
string_thumb_map::iterator r = openEntries.find (fname);
|
||||
if (r!=openEntries.end()) {
|
||||
delete res;
|
||||
r->second->increaseRef ();
|
||||
return r->second;
|
||||
}
|
||||
|
||||
// it wasn't, create a new entry
|
||||
openEntries[fname] = res;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
void CacheManager::deleteEntry (const Glib::ustring& fname) {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
// check if it is opened
|
||||
std::map<std::string, Thumbnail*>::iterator r = openEntries.find (fname);
|
||||
string_thumb_map::iterator r = openEntries.find (fname);
|
||||
// if it is open, dont delete it
|
||||
if (r!=openEntries.end()) {
|
||||
std::string md5 = r->second->getMD5 ();
|
||||
r->second->decreaseRef ();
|
||||
|
||||
// decrease reference count; this will call back into CacheManager so
|
||||
// we release the lock for it.
|
||||
{
|
||||
lock.release();
|
||||
r->second->decreaseRef ();
|
||||
lock.acquire();
|
||||
}
|
||||
|
||||
// if in the editor, the thumbnail still exists. If not, delete it:
|
||||
r = openEntries.find (fname);
|
||||
if (r==openEntries.end() && md5!="") {
|
||||
@ -126,6 +174,8 @@ void CacheManager::deleteEntry (const Glib::ustring& fname) {
|
||||
|
||||
void CacheManager::renameEntry (const std::string& oldfilename, const std::string& oldmd5, const std::string& newfilename) {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
std::string newmd5 = getMD5 (newfilename);
|
||||
|
||||
::g_rename ((getCacheFileName ("profiles", oldfilename, oldmd5) + paramFileExtension).c_str(), (getCacheFileName ("profiles", newfilename, newmd5) + paramFileExtension).c_str());
|
||||
@ -136,7 +186,7 @@ void CacheManager::renameEntry (const std::string& oldfilename, const std::strin
|
||||
::g_rename ((getCacheFileName ("data", oldfilename, oldmd5) + ".txt").c_str(), (getCacheFileName ("data", newfilename, newmd5) + ".txt").c_str());
|
||||
|
||||
// check if it is opened
|
||||
std::map<std::string, Thumbnail*>::iterator r = openEntries.find (oldfilename);
|
||||
string_thumb_map::iterator r = openEntries.find (oldfilename);
|
||||
// if it is open, update md5
|
||||
if (r!=openEntries.end()) {
|
||||
Thumbnail* t = r->second;
|
||||
@ -144,14 +194,16 @@ void CacheManager::renameEntry (const std::string& oldfilename, const std::strin
|
||||
t->setFileName (newfilename);
|
||||
openEntries[newfilename] = t;
|
||||
t->updateCache ();
|
||||
t->reSaveThumbnail ();
|
||||
t->saveThumbnail ();
|
||||
}
|
||||
}
|
||||
|
||||
void CacheManager::closeThumbnail (Thumbnail* t) {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
t->updateCache ();
|
||||
std::map<std::string, Thumbnail*>::iterator r = openEntries.find (t->getFileName());
|
||||
string_thumb_map::iterator r = openEntries.find (t->getFileName());
|
||||
if (r!=openEntries.end())
|
||||
openEntries.erase (r);
|
||||
delete t;
|
||||
@ -159,11 +211,15 @@ void CacheManager::closeThumbnail (Thumbnail* t) {
|
||||
|
||||
void CacheManager::closeCache () {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
applyCacheSizeLimitation ();
|
||||
}
|
||||
|
||||
void CacheManager::clearAll () {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
deleteDir ("images");
|
||||
deleteDir ("aehistograms");
|
||||
deleteDir ("embprofiles");
|
||||
@ -171,30 +227,34 @@ void CacheManager::clearAll () {
|
||||
deleteDir ("data");
|
||||
|
||||
// re-generate thumbnail images and clear profiles of open thumbnails
|
||||
std::map<std::string, Thumbnail*>::iterator i;
|
||||
for (i=openEntries.begin(); i!=openEntries.end(); i++) {
|
||||
i->second->clearProcParams (CACHEMGR);
|
||||
i->second->generateThumbnailImage ();
|
||||
i->second->updateCache ();
|
||||
}
|
||||
//string_thumb_map::iterator i;
|
||||
//for (i=openEntries.begin(); i!=openEntries.end(); i++) {
|
||||
// i->second->clearProcParams (CACHEMGR);
|
||||
// i->second->generateThumbnailImage ();
|
||||
// i->second->updateCache ();
|
||||
//}
|
||||
}
|
||||
void CacheManager::clearThumbImages () {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
deleteDir ("images");
|
||||
deleteDir ("aehistograms");
|
||||
deleteDir ("embprofiles");
|
||||
|
||||
// re-generate thumbnail images of open thumbnails
|
||||
std::map<std::string, Thumbnail*>::iterator i;
|
||||
for (i=openEntries.begin(); i!=openEntries.end(); i++)
|
||||
i->second->generateThumbnailImage ();
|
||||
//string_thumb_map::iterator i;
|
||||
//for (i=openEntries.begin(); i!=openEntries.end(); i++)
|
||||
// i->second->generateThumbnailImage ();
|
||||
}
|
||||
|
||||
void CacheManager::clearProfiles () {
|
||||
|
||||
Glib::Mutex::Lock lock(mutex_);
|
||||
|
||||
deleteDir ("profiles");
|
||||
// clear profiles of open thumbnails
|
||||
std::map<std::string, Thumbnail*>::iterator i;
|
||||
string_thumb_map::iterator i;
|
||||
for (i=openEntries.begin(); i!=openEntries.end(); i++)
|
||||
i->second->clearProcParams (CACHEMGR);
|
||||
}
|
||||
@ -234,9 +294,9 @@ void CacheManager::applyCacheSizeLimitation () {
|
||||
std::vector<FileMTimeInfo> flist;
|
||||
Glib::ustring dataDir = Glib::build_filename (baseDir, "data");
|
||||
Glib::RefPtr<Gio::File> dir = Gio::File::create_for_path (dataDir);
|
||||
|
||||
safe_build_file_list (dir, flist);
|
||||
|
||||
|
||||
safe_build_file_list (dir, flist);
|
||||
|
||||
if (flist.size() > options.maxCacheEntries) {
|
||||
std::sort (flist.begin(), flist.end());
|
||||
while (flist.size() > options.maxCacheEntries) {
|
||||
@ -245,7 +305,7 @@ void CacheManager::applyCacheSizeLimitation () {
|
||||
::g_remove ((Glib::build_filename (Glib::build_filename (baseDir, "images"), flist.front().fname) + ".jpg").c_str());
|
||||
::g_remove ((Glib::build_filename (Glib::build_filename (baseDir, "aehistograms"), flist.front().fname)).c_str());
|
||||
::g_remove ((Glib::build_filename (Glib::build_filename (baseDir, "embprofiles"), flist.front().fname) + ".icc").c_str());
|
||||
// ::g_remove ((Glib::build_filename (Glib::build_filename (baseDir, "profiles"), flist.front().fname) + paramFileExtension).c_str());
|
||||
// ::g_remove ((Glib::build_filename (Glib::build_filename (baseDir, "profiles"), flist.front().fname) + paramFileExtension).c_str());
|
||||
flist.erase (flist.begin());
|
||||
}
|
||||
}
|
||||
|
@ -29,14 +29,21 @@ class Thumbnail;
|
||||
|
||||
class CacheManager {
|
||||
|
||||
std::map<std::string, Thumbnail*> openEntries;
|
||||
Glib::ustring baseDir;
|
||||
typedef std::pair<std::string, Thumbnail*> string_thumb_pair;
|
||||
typedef std::map<std::string, Thumbnail*> string_thumb_map;
|
||||
|
||||
string_thumb_map openEntries;
|
||||
Glib::ustring baseDir;
|
||||
Glib::Mutex mutex_;
|
||||
|
||||
void deleteDir (const Glib::ustring& dirName);
|
||||
|
||||
public:
|
||||
CacheManager () {}
|
||||
|
||||
public:
|
||||
|
||||
static CacheManager* getInstance(void);
|
||||
|
||||
void init ();
|
||||
Thumbnail* getEntry (const Glib::ustring& fname);
|
||||
void deleteEntry (const Glib::ustring& fname);
|
||||
@ -44,7 +51,7 @@ class CacheManager {
|
||||
|
||||
void closeThumbnail (Thumbnail* t);
|
||||
|
||||
const Glib::ustring& getBaseDir () { return baseDir; }
|
||||
const Glib::ustring& getBaseDir () { Glib::Mutex::Lock lock(mutex_); return baseDir; }
|
||||
void closeCache ();
|
||||
|
||||
static std::string getMD5 (const Glib::ustring& fname);
|
||||
@ -58,7 +65,7 @@ class CacheManager {
|
||||
Glib::ustring getCacheFileName (const Glib::ustring& subdir, const Glib::ustring& fname, const Glib::ustring& md5);
|
||||
};
|
||||
|
||||
extern CacheManager cacheMgr;
|
||||
#define cacheMgr CacheManager::getInstance()
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -268,7 +268,7 @@ void CropHandler::update () {
|
||||
// crop->setWindow (cropX, cropY, cropW, cropH, zoom>=1000 ? 1 : zoom); --> we use the "getWindow" hook instead of setting the size before
|
||||
crop->setListener (this);
|
||||
cropPixbuf.clear ();
|
||||
Glib::Thread::create(sigc::mem_fun(*crop, &DetailedCrop::fullUpdate), 0, false, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
Glib::Thread::create(sigc::mem_fun(*crop, &DetailedCrop::fullUpdate), 0, false, true, Glib::THREAD_PRIORITY_LOW);
|
||||
}
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user