diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index eda2ad2ad..756df1be3 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -1319,6 +1319,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1661,14 +1663,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1915,6 +1917,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified)
index 51aed581d..fccf5f847 100644
--- a/rtdata/languages/Chinese (Simplified)
+++ b/rtdata/languages/Chinese (Simplified)
@@ -1427,6 +1427,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1607,14 +1609,14 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!TP_COLORAPP_TCMODE_LABEL1;Curve mode 1
!TP_COLORAPP_TCMODE_LABEL2;Curve mode 2
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1886,6 +1888,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Chinese (Traditional) b/rtdata/languages/Chinese (Traditional)
index 2476aeb41..09439c2e4 100644
--- a/rtdata/languages/Chinese (Traditional)
+++ b/rtdata/languages/Chinese (Traditional)
@@ -979,6 +979,8 @@ TP_WBALANCE_TEMPERATURE;色溫
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1462,14 +1464,14 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1842,6 +1844,7 @@ TP_WBALANCE_TEMPERATURE;色溫
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 29cf45b3d..8c965e74d 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -2184,6 +2184,8 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!LENSPROFILE_CORRECTION_AUTOMATCH;Auto-matched correction parameters
!LENSPROFILE_CORRECTION_LCPFILE;LCP File
!LENSPROFILE_CORRECTION_MANUAL;Manual correction parameters
@@ -2209,10 +2211,11 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
+!TP_RAW_RCD;RCD
!TP_TM_FATTAL_AMOUNT;Amount
!TP_TM_FATTAL_LABEL;HDR Tone Mapping
!TP_TM_FATTAL_THRESHOLD;Threshold
diff --git a/rtdata/languages/Dansk b/rtdata/languages/Dansk
index 0b619b706..079d4d6d8 100644
--- a/rtdata/languages/Dansk
+++ b/rtdata/languages/Dansk
@@ -975,6 +975,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1460,14 +1462,14 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1838,6 +1840,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index 08da90847..cf2f43c95 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -764,6 +764,9 @@ HISTORY_MSG_484;(CIECAM02) - Szene\nAuto Yb%
HISTORY_MSG_485;(Objektivkorrektur)\nProfil
HISTORY_MSG_486;(Objektivkorrektur)\nProfil - Kamera
HISTORY_MSG_487;(Objektivkorrektur)\nProfil - Objektiv
+HISTORY_MSG_488;(HDR-Dynamikkompression)
+HISTORY_MSG_489;(HDR-Dynamikkompression)\nSchwelle
+HISTORY_MSG_490;(HDR-Dynamikkompression)\nIntensität
HISTORY_NEWSNAPSHOT;Hinzufügen
HISTORY_NEWSNAPSHOT_TOOLTIP;Taste: Alt + s
HISTORY_SNAPSHOT;Schnappschuss
@@ -970,6 +973,7 @@ PARTIALPASTE_SHADOWSHIGHLIGHTS;Schatten/Lichter
PARTIALPASTE_SHARPENEDGE;Kantenschärfung
PARTIALPASTE_SHARPENING;Schärfung
PARTIALPASTE_SHARPENMICRO;Mikrokontrast
+PARTIALPASTE_TM_FATTAL;HDR-Dynamikkompression
PARTIALPASTE_VIBRANCE;Dynamik
PARTIALPASTE_VIGNETTING;Vignettierungskorrektur
PARTIALPASTE_WAVELETGROUP;Wavelet
@@ -1970,6 +1974,9 @@ TP_SHARPENMICRO_AMOUNT;Intensität
TP_SHARPENMICRO_LABEL;Mikrokontrast
TP_SHARPENMICRO_MATRIX;3×3-Matrix statt 5×5-Matrix
TP_SHARPENMICRO_UNIFORMITY;Gleichmäßigkeit
+TP_TM_FATTAL_AMOUNT;Intensität
+TP_TM_FATTAL_LABEL;HDR-Dynamikkompression
+TP_TM_FATTAL_THRESHOLD;Schwelle
TP_VIBRANCE_AVOIDCOLORSHIFT;Farbverschiebungen vermeiden
TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH
TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Hautfarbtöne
@@ -2217,10 +2224,6 @@ ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
-HISTORY_MSG_488;(HDR-Dynamikkompression)
-HISTORY_MSG_489;(HDR-Dynamikkompression)\nSchwelle
-HISTORY_MSG_490;(HDR-Dynamikkompression)\nIntensität
-PARTIALPASTE_TM_FATTAL;HDR-Dynamikkompression
-TP_TM_FATTAL_AMOUNT;Intensität
-TP_TM_FATTAL_LABEL;HDR-Dynamikkompression
-TP_TM_FATTAL_THRESHOLD;Schwelle
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
+!TP_RAW_RCD;RCD
diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK)
index e4bbcacd8..ac956b114 100644
--- a/rtdata/languages/English (UK)
+++ b/rtdata/languages/English (UK)
@@ -805,6 +805,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT;Add
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!HISTORY_SNAPSHOT;Snapshot
@@ -1414,14 +1416,14 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1799,6 +1801,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US)
index 31093bc2b..f251950ee 100644
--- a/rtdata/languages/English (US)
+++ b/rtdata/languages/English (US)
@@ -723,6 +723,8 @@
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT;Add
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!HISTORY_SNAPSHOT;Snapshot
@@ -1373,14 +1375,14 @@
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1789,6 +1791,7 @@
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index ec6dcfb37..f27d211db 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -1711,6 +1711,8 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1864,10 +1866,10 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
@@ -1990,6 +1992,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_VNG4;VNG4
!TP_RETINEX_CONTEDIT_HSL;Histogram equalizer HSL
!TP_RETINEX_CONTEDIT_LAB;Histogram equalizer L*a*b*
diff --git a/rtdata/languages/Euskara b/rtdata/languages/Euskara
index 8718554f5..57cdc631a 100644
--- a/rtdata/languages/Euskara
+++ b/rtdata/languages/Euskara
@@ -975,6 +975,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1460,14 +1462,14 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1838,6 +1840,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais
index e9efe4005..293ddd6be 100644
--- a/rtdata/languages/Francais
+++ b/rtdata/languages/Francais
@@ -2174,3 +2174,10 @@ ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: f
ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: +
ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
+!!!!!!!!!!!!!!!!!!!!!!!!!
+! Untranslated keys follow; remove the ! prefix after an entry is translated.
+!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
+!TP_RAW_RCD;RCD
diff --git a/rtdata/languages/Greek b/rtdata/languages/Greek
index 4ffc14338..57cd9d0b3 100644
--- a/rtdata/languages/Greek
+++ b/rtdata/languages/Greek
@@ -974,6 +974,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1459,14 +1461,14 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1837,6 +1839,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Hebrew b/rtdata/languages/Hebrew
index ef8717fa3..ed89ba392 100644
--- a/rtdata/languages/Hebrew
+++ b/rtdata/languages/Hebrew
@@ -975,6 +975,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1460,14 +1462,14 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1838,6 +1840,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index 034d16928..f532f3270 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -1585,6 +1585,8 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1735,10 +1737,10 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1928,6 +1930,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index ae9ff5b7f..33b81ce8f 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -1962,6 +1962,8 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -2045,10 +2047,10 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_DIRPYRDENOISE_3X3;3×3
!TP_DIRPYRDENOISE_3X3_SOFT;3×3 soft
!TP_DIRPYRDENOISE_5X5;5×5
@@ -2124,6 +2126,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_VNG4;VNG4
!TP_RETINEX_CONTEDIT_HSL;Histogram equalizer HSL
!TP_RETINEX_CONTEDIT_LAB;Histogram equalizer L*a*b*
diff --git a/rtdata/languages/Latvian b/rtdata/languages/Latvian
index 56e1fabb7..cbfa1d6ae 100644
--- a/rtdata/languages/Latvian
+++ b/rtdata/languages/Latvian
@@ -975,6 +975,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1460,14 +1462,14 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1838,6 +1840,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index abddd957a..da38b0c4c 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -1248,6 +1248,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1612,14 +1614,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1908,6 +1910,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands
index 0ea147eb8..6aaa8ce28 100644
--- a/rtdata/languages/Nederlands
+++ b/rtdata/languages/Nederlands
@@ -2156,6 +2156,8 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!LENSPROFILE_CORRECTION_AUTOMATCH;Auto-matched correction parameters
!LENSPROFILE_CORRECTION_LCPFILE;LCP File
!LENSPROFILE_CORRECTION_MANUAL;Manual correction parameters
@@ -2184,13 +2186,14 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_RAW_IMAGENUM_TOOLTIP;Some raw files consist of several sub-images (Pentax Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel).\n\nWhen using any demosaicing method other than Pixel Shift, this selects which sub-image is used.\n\nWhen using the Pixel Shift demosaicing method on a Pixel Shift raw, all sub-images are used, and this selects which sub-image should be used for moving parts.
!TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Equalize per channel
!TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Enabled: Equalize the RGB channels individually.\nDisabled: Use same equalization factor for all channels.
+!TP_RAW_RCD;RCD
!TP_RETINEX_GAINOFFS;Gain and Offset (brightness)
!TP_RETINEX_GAINTRANSMISSION;Gain transmission
!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce transmission map to achieve luminance.\nAbscissa: transmission -min from 0, mean, and values (max).\nOrdinate: gain.
diff --git a/rtdata/languages/Norsk BM b/rtdata/languages/Norsk BM
index 7e68880b8..6a483966c 100644
--- a/rtdata/languages/Norsk BM
+++ b/rtdata/languages/Norsk BM
@@ -974,6 +974,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1459,14 +1461,14 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1837,6 +1839,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish
index 3c54cc184..7af8c1404 100644
--- a/rtdata/languages/Polish
+++ b/rtdata/languages/Polish
@@ -1668,6 +1668,8 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1812,10 +1814,10 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
@@ -1937,6 +1939,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_VNG4;VNG4
!TP_RETINEX_CONTEDIT_HSL;Histogram equalizer HSL
!TP_RETINEX_CONTEDIT_LAB;Histogram equalizer L*a*b*
diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters)
index 85b9e3f0b..4064a96a2 100644
--- a/rtdata/languages/Polish (Latin Characters)
+++ b/rtdata/languages/Polish (Latin Characters)
@@ -1668,6 +1668,8 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1812,10 +1814,10 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_CROP_GTHARMMEANS;Harmonic Means
!TP_CROP_GTTRIANGLE1;Golden Triangles 1
!TP_CROP_GTTRIANGLE2;Golden Triangles 2
@@ -1937,6 +1939,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_VNG4;VNG4
!TP_RETINEX_CONTEDIT_HSL;Histogram equalizer HSL
!TP_RETINEX_CONTEDIT_LAB;Histogram equalizer L*a*b*
diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil)
index 661f24483..894e5405e 100644
--- a/rtdata/languages/Portugues (Brasil)
+++ b/rtdata/languages/Portugues (Brasil)
@@ -975,6 +975,8 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1460,14 +1462,14 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1838,6 +1840,7 @@ TP_WBALANCE_TEMPERATURE;Temperatura
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index a67674975..150ca91e3 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -1528,6 +1528,8 @@ ZOOMPANEL_ZOOMOUT;Удалить -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1725,14 +1727,14 @@ ZOOMPANEL_ZOOMOUT;Удалить -
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1930,6 +1932,7 @@ ZOOMPANEL_ZOOMOUT;Удалить -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index b6f614cce..bdc693b54 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -1561,6 +1561,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1727,10 +1729,10 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1929,6 +1931,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters)
index 6feba1bf3..58bcc871d 100644
--- a/rtdata/languages/Serbian (Latin Characters)
+++ b/rtdata/languages/Serbian (Latin Characters)
@@ -1561,6 +1561,8 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -1727,10 +1729,10 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1929,6 +1931,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak
index f589c3ee1..c42c22637 100644
--- a/rtdata/languages/Slovak
+++ b/rtdata/languages/Slovak
@@ -1037,6 +1037,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1499,14 +1501,14 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1849,6 +1851,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Suomi b/rtdata/languages/Suomi
index ecdcfff8a..1f14fad7c 100644
--- a/rtdata/languages/Suomi
+++ b/rtdata/languages/Suomi
@@ -976,6 +976,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1460,14 +1462,14 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1838,6 +1840,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index 0f3ddaafd..989207c05 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -1955,6 +1955,8 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
!IPTCPANEL_COPYRIGHT;Copyright notice
@@ -2027,10 +2029,10 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output]
!TP_COLORAPP_NEUTRAL;Reset
!TP_COLORAPP_NEUTRAL_TIP;Reset all sliders checkbox and curves to their default values
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L)
!TP_COLORTONING_LABEL;Color Toning
!TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* blending", "RGB sliders" and "RGB curves" use interpolated color blending.\n"Color balance (Shadows/Midtones/Highlights)" and "Saturation 2 colors" use direct colors.\n\nThe Black-and-White tool can be enabled when using any color toning method, which allows for color toning.
@@ -2115,6 +2117,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_VNG4;VNG4
!TP_RETINEX_CONTEDIT_MAP;Mask equalizer
!TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts.
diff --git a/rtdata/languages/Turkish b/rtdata/languages/Turkish
index 937e0dabb..ac3fa70a0 100644
--- a/rtdata/languages/Turkish
+++ b/rtdata/languages/Turkish
@@ -975,6 +975,8 @@ TP_WBALANCE_TEMPERATURE;Isı
!HISTORY_MSG_488;HDR Tone Mapping
!HISTORY_MSG_489;HDR TM - Threshold
!HISTORY_MSG_490;HDR TM - Amount
+!HISTORY_MSG_491;White Balance
+!HISTORY_MSG_492;RGB Curves
!HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
!IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider.
!IPTCPANEL_CITYHINT;Enter the name of the city pictured in this image.
@@ -1459,14 +1461,14 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode
!TP_COLORAPP_TCMODE_LIGHTNESS;Lightness
!TP_COLORAPP_TCMODE_SATUR;Saturation
-!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
+!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504
!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02
!TP_COLORAPP_TONECIE_TOOLTIP;If this option is disabled, tone mapping is done in L*a*b* space.\nIf this option is enabled, tone mapping is done using CIECAM02.\nThe Tone Mapping tool must be enabled for this setting to take effect.
!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output]
!TP_COLORAPP_WBRT;WB [RT] + [output]
!TP_COLORAPP_YB;Yb% (mean luminance)
!TP_COLORAPP_YBSCENE;Yb% (mean luminance)
-!TP_COLORAPP_YBSCENE_TOOLTIP;if auto enable, Yb is calculated from the mean value of actual image luminance
+!TP_COLORAPP_YBSCENE_TOOLTIP;if auto is enabled, Yb is calculated from the mean value of the actual image's luminance
!TP_COLORTONING_AB;o C/L
!TP_COLORTONING_AUTOSAT;Automatic
!TP_COLORTONING_BALANCE;Balance
@@ -1837,6 +1839,7 @@ TP_WBALANCE_TEMPERATURE;Isı
!TP_RAW_PIXELSHIFTSTDDEVFACTORBLUE;StdDev factor Blue
!TP_RAW_PIXELSHIFTSTDDEVFACTORGREEN;StdDev factor Green
!TP_RAW_PIXELSHIFTSTDDEVFACTORRED;StdDev factor Red
+!TP_RAW_RCD;RCD
!TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix
!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.
!TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix
diff --git a/rtdata/languages/default b/rtdata/languages/default
index 25cdd5a76..ecaff0909 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -738,105 +738,107 @@ HISTORY_MSG_487;Lens Correction - Lens
HISTORY_MSG_488;HDR Tone Mapping
HISTORY_MSG_489;HDR TM - Threshold
HISTORY_MSG_490;HDR TM - Amount
-HISTORY_MSG_491;Local L*a*b*
-HISTORY_MSG_492;Local - Bottom
-HISTORY_MSG_493;Local - Right
-HISTORY_MSG_494;Local - Center
-HISTORY_MSG_495;Local - Lightness/
-HISTORY_MSG_496;Local - Lightness
-HISTORY_MSG_497;Local - Contrast
-HISTORY_MSG_498;Local - Chrominance
-HISTORY_MSG_499;Local - Transition
-HISTORY_MSG_500;Local - Avoid color shift
-HISTORY_MSG_501;Local - Top
-HISTORY_MSG_502;Local - Left
-HISTORY_MSG_503;Local - Method
-HISTORY_MSG_504;Local - Color Inverse
-HISTORY_MSG_505;Local - Radius
-HISTORY_MSG_506;Local - Blur Inverse
-HISTORY_MSG_507;Local - Noise
-HISTORY_MSG_508;Local - Scope
-HISTORY_MSG_509;Local - Retinex method
-HISTORY_MSG_510;Local - Retinex strength
-HISTORY_MSG_511;Local - Retinex radius
-HISTORY_MSG_512;Local - Retinex contrast
-HISTORY_MSG_513;Local - Retinex Gain curve
-HISTORY_MSG_514;Local - Retinex chroma
-HISTORY_MSG_515;Local - Retinex Inverse
-HISTORY_MSG_516;Local - Hue scope
-HISTORY_MSG_517;Local - Spot
-HISTORY_MSG_518;Local - Blur Luminance only
-HISTORY_MSG_519;Local - Update GUI and Mip -1
-HISTORY_MSG_520;Local - Sh Radius
-HISTORY_MSG_521;Local - Sh Amount
-HISTORY_MSG_522;Local - Sh Damping
-HISTORY_MSG_523;Local - Sh Iterations
-HISTORY_MSG_524;Local - Sh Scope
-HISTORY_MSG_525;Local - Sh Inverse
-HISTORY_MSG_526;Local - Spot size
-HISTORY_MSG_527;Local - artifacts theshold
-HISTORY_MSG_528;Local - artifacts iterations
-HISTORY_MSG_529;Local - Quality
-HISTORY_MSG_530;Local - Noise lum f
-HISTORY_MSG_531;Local - Noise lum c
-HISTORY_MSG_532;Local - Noise chro f
-HISTORY_MSG_533;Local - Noise chro c
-HISTORY_MSG_534;Local - cbdl threshold
-HISTORY_MSG_535;Local - cbdl mult
-HISTORY_MSG_536;Local - cbdl scope
-HISTORY_MSG_537;Local - Blur scope
-HISTORY_MSG_538;Local - TM strength
-HISTORY_MSG_539;Local - TM gamma
-HISTORY_MSG_540;Local - TM edge stopping
-HISTORY_MSG_541;Local - TM scale
-HISTORY_MSG_542;Local - TM Reweighting
-HISTORY_MSG_543;Local - TM scope
-HISTORY_MSG_544;Local - Update GUI and Mip -2
-HISTORY_MSG_545;Local - Update GUI and Mip -3
-HISTORY_MSG_546;Local - LL Curve
-HISTORY_MSG_547;Local - Color and light
-HISTORY_MSG_548;Local - Blur and noise
-HISTORY_MSG_549;Local - Tone mapping
-HISTORY_MSG_550;Local - Retinex
-HISTORY_MSG_551;Local - Sharpening
-HISTORY_MSG_552;Local - CBDL
-HISTORY_MSG_553;Local - Denoise
-HISTORY_MSG_554;Local - LH Curve
-HISTORY_MSG_555;Local - Enable super
-HISTORY_MSG_556;Local - CC curve
-HISTORY_MSG_557;Local - curve method
-HISTORY_MSG_558;Local - hueref
-HISTORY_MSG_559;Local - chromaref
-HISTORY_MSG_560;Local - lumaref
-HISTORY_MSG_561;Local - H curve
-HISTORY_MSG_562;Local - Vibrance
-HISTORY_MSG_563;Local - Vib H curve
-HISTORY_MSG_564;Local - Vib Protect skin tones
-HISTORY_MSG_565;Local - Vib avoid colorshift
-HISTORY_MSG_566;Local - Vib link
-HISTORY_MSG_567;Local - Vib Pastel
-HISTORY_MSG_568;Local - Vib Saturated
-HISTORY_MSG_569;Local - Vib Threshold
-HISTORY_MSG_570;Local - Vib Scope
-HISTORY_MSG_571;Local - Exposure
-HISTORY_MSG_572;Local - Exp Compensation
-HISTORY_MSG_573;Local - Exp Hlcompr
-HISTORY_MSG_574;Local - Exp hlcomprthresh
-HISTORY_MSG_575;Local - Exp black
-HISTORY_MSG_576;Local - Exp Shcompr
-HISTORY_MSG_577;Local - Exp Scope
-HISTORY_MSG_578;Local - Exp Contrast curve
-HISTORY_MSG_579;Local - Centerbuf
-HISTORY_MSG_580;Local - adjblur
-HISTORY_MSG_581;Local - cut past
-HISTORY_MSG_582;Local - cbdl chroma
-HISTORY_MSG_583;Local - Blur method
-HISTORY_MSG_584;Local - D method
-HISTORY_MSG_585;Local - LD
-HISTORY_MSG_587;Local - Spot method
-HISTORY_MSG_588;Local - Spot Excluding scope
-HISTORY_MSG_589;Local - Spot Excluding struc
-HISTORY_MSG_590;Local - Warm Cool
+HISTORY_MSG_491;White Balance
+HISTORY_MSG_492;RGB Curves
+HISTORY_MSG_493;Local L*a*b*
+HISTORY_MSG_494;Local - Bottom
+HISTORY_MSG_495;Local - Right
+HISTORY_MSG_496;Local - Center
+HISTORY_MSG_497;Local - Lightness/
+HISTORY_MSG_498;Local - Lightness
+HISTORY_MSG_499;Local - Contrast
+HISTORY_MSG_500;Local - Chrominance
+HISTORY_MSG_501;Local - Transition
+HISTORY_MSG_502;Local - Avoid color shift
+HISTORY_MSG_503;Local - Top
+HISTORY_MSG_504;Local - Left
+HISTORY_MSG_505;Local - Method
+HISTORY_MSG_506;Local - Color Inverse
+HISTORY_MSG_507;Local - Radius
+HISTORY_MSG_508;Local - Blur Inverse
+HISTORY_MSG_509;Local - Noise
+HISTORY_MSG_510;Local - Scope
+HISTORY_MSG_511;Local - Retinex method
+HISTORY_MSG_512;Local - Retinex strength
+HISTORY_MSG_513;Local - Retinex radius
+HISTORY_MSG_514;Local - Retinex contrast
+HISTORY_MSG_515;Local - Retinex Gain curve
+HISTORY_MSG_516;Local - Retinex chroma
+HISTORY_MSG_517;Local - Retinex Inverse
+HISTORY_MSG_518;Local - Hue scope
+HISTORY_MSG_519;Local - Spot
+HISTORY_MSG_520;Local - Blur Luminance only
+HISTORY_MSG_521;Local - Update GUI and Mip -1
+HISTORY_MSG_522;Local - Sh Radius
+HISTORY_MSG_523;Local - Sh Amount
+HISTORY_MSG_524;Local - Sh Damping
+HISTORY_MSG_525;Local - Sh Iterations
+HISTORY_MSG_526;Local - Sh Scope
+HISTORY_MSG_527;Local - Sh Inverse
+HISTORY_MSG_528;Local - Spot size
+HISTORY_MSG_529;Local - artifacts theshold
+HISTORY_MSG_530;Local - artifacts iterations
+HISTORY_MSG_531;Local - Quality
+HISTORY_MSG_532;Local - Noise lum f
+HISTORY_MSG_533;Local - Noise lum c
+HISTORY_MSG_534;Local - Noise chro f
+HISTORY_MSG_535;Local - Noise chro c
+HISTORY_MSG_536;Local - cbdl threshold
+HISTORY_MSG_537;Local - cbdl mult
+HISTORY_MSG_538;Local - cbdl scope
+HISTORY_MSG_539;Local - Blur scope
+HISTORY_MSG_540;Local - TM strength
+HISTORY_MSG_541;Local - TM gamma
+HISTORY_MSG_542;Local - TM edge stopping
+HISTORY_MSG_543;Local - TM scale
+HISTORY_MSG_544;Local - TM Reweighting
+HISTORY_MSG_545;Local - TM scope
+HISTORY_MSG_546;Local - Update GUI and Mip -2
+HISTORY_MSG_547;Local - Update GUI and Mip -3
+HISTORY_MSG_548;Local - LL Curve
+HISTORY_MSG_549;Local - Color and light
+HISTORY_MSG_550;Local - Blur and noise
+HISTORY_MSG_551;Local - Tone mapping
+HISTORY_MSG_552;Local - Retinex
+HISTORY_MSG_553;Local - Sharpening
+HISTORY_MSG_554;Local - CBDL
+HISTORY_MSG_555;Local - Denoise
+HISTORY_MSG_556;Local - LH Curve
+HISTORY_MSG_557;Local - Enable super
+HISTORY_MSG_558;Local - CC curve
+HISTORY_MSG_559;Local - curve method
+HISTORY_MSG_560;Local - hueref
+HISTORY_MSG_561;Local - chromaref
+HISTORY_MSG_562;Local - lumaref
+HISTORY_MSG_563;Local - H curve
+HISTORY_MSG_564;Local - Vibrance
+HISTORY_MSG_565;Local - Vib H curve
+HISTORY_MSG_566;Local - Vib Protect skin tones
+HISTORY_MSG_567;Local - Vib avoid colorshift
+HISTORY_MSG_568;Local - Vib link
+HISTORY_MSG_569;Local - Vib Pastel
+HISTORY_MSG_570;Local - Vib Saturated
+HISTORY_MSG_571;Local - Vib Threshold
+HISTORY_MSG_572;Local - Vib Scope
+HISTORY_MSG_573;Local - Exposure
+HISTORY_MSG_574;Local - Exp Compensation
+HISTORY_MSG_575;Local - Exp Hlcompr
+HISTORY_MSG_576;Local - Exp hlcomprthresh
+HISTORY_MSG_577;Local - Exp black
+HISTORY_MSG_578;Local - Exp Shcompr
+HISTORY_MSG_579;Local - Exp Scope
+HISTORY_MSG_580;Local - Exp Contrast curve
+HISTORY_MSG_581;Local - Centerbuf
+HISTORY_MSG_582;Local - adjblur
+HISTORY_MSG_583;Local - cut past
+HISTORY_MSG_584;Local - cbdl chroma
+HISTORY_MSG_585;Local - Blur method
+HISTORY_MSG_586;Local - D method
+HISTORY_MSG_587;Local - LD
+HISTORY_MSG_589;Local - Spot method
+HISTORY_MSG_590;Local - Spot Excluding scope
+HISTORY_MSG_591;Local - Spot Excluding struc
+HISTORY_MSG_592;Local - Warm Cool
HISTORY_NEWSNAPSHOT;Add
HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
HISTORY_SNAPSHOT;Snapshot
diff --git a/rtengine/demosaic_algos.cc b/rtengine/demosaic_algos.cc
index d83b90cef..16c0204dd 100644
--- a/rtengine/demosaic_algos.cc
+++ b/rtengine/demosaic_algos.cc
@@ -4213,7 +4213,7 @@ void RawImageSource::rcd_demosaic()
}
}
- border_interpolate2(width, height, 4);
+ border_interpolate2(width, height, 8);
if (plistener) {
plistener->setProgress(1);
diff --git a/rtengine/image16.cc b/rtengine/image16.cc
index e0f7470a6..426fc289c 100644
--- a/rtengine/image16.cc
+++ b/rtengine/image16.cc
@@ -137,17 +137,22 @@ void Image16::getStdImage (ColorTemp ctemp, int tran, Imagefloat* image, Preview
{
// compute channel multipliers
- double drm, dgm, dbm;
- ctemp.getMultipliers (drm, dgm, dbm);
- float rm = drm, gm = dgm, bm = dbm;
+ float rm = 1.f, gm = 1.f, bm = 1.f;
+ if (ctemp.getTemp() >= 0) {
+ double drm, dgm, dbm;
+ ctemp.getMultipliers (drm, dgm, dbm);
+ rm = drm;
+ gm = dgm;
+ bm = dbm;
- rm = 1.0 / rm;
- gm = 1.0 / gm;
- bm = 1.0 / bm;
- float mul_lum = 0.299 * rm + 0.587 * gm + 0.114 * bm;
- rm /= mul_lum;
- gm /= mul_lum;
- bm /= mul_lum;
+ rm = 1.0 / rm;
+ gm = 1.0 / gm;
+ bm = 1.0 / bm;
+ float mul_lum = 0.299 * rm + 0.587 * gm + 0.114 * bm;
+ rm /= mul_lum;
+ gm /= mul_lum;
+ bm /= mul_lum;
+ }
int sx1, sy1, sx2, sy2;
diff --git a/rtengine/image8.cc b/rtengine/image8.cc
index 56c2a63ee..86294236b 100644
--- a/rtengine/image8.cc
+++ b/rtengine/image8.cc
@@ -97,17 +97,22 @@ Image8* Image8::copy ()
void Image8::getStdImage (ColorTemp ctemp, int tran, Imagefloat* image, PreviewProps pp, bool first, procparams::ToneCurveParams hrp)
{
// compute channel multipliers
- double drm, dgm, dbm;
- ctemp.getMultipliers (drm, dgm, dbm);
- float rm = drm, gm = dgm, bm = dbm;
+ float rm = 1.f, gm = 1.f, bm = 1.f;
+ if (ctemp.getTemp() >= 0) {
+ double drm, dgm, dbm;
+ ctemp.getMultipliers (drm, dgm, dbm);
+ rm = drm;
+ gm = dgm;
+ bm = dbm;
- rm = 1.0 / rm;
- gm = 1.0 / gm;
- bm = 1.0 / bm;
- float mul_lum = 0.299 * rm + 0.587 * gm + 0.114 * bm;
- rm /= mul_lum;
- gm /= mul_lum;
- bm /= mul_lum;
+ rm = 1.0 / rm;
+ gm = 1.0 / gm;
+ bm = 1.0 / bm;
+ float mul_lum = 0.299 * rm + 0.587 * gm + 0.114 * bm;
+ rm /= mul_lum;
+ gm /= mul_lum;
+ bm /= mul_lum;
+ }
int sx1, sy1, sx2, sy2;
diff --git a/rtengine/imagefloat.cc b/rtengine/imagefloat.cc
index 30871c9b1..d5b17ed80 100644
--- a/rtengine/imagefloat.cc
+++ b/rtengine/imagefloat.cc
@@ -175,17 +175,22 @@ void Imagefloat::getStdImage (ColorTemp ctemp, int tran, Imagefloat* image, Prev
{
// compute channel multipliers
- double drm, dgm, dbm;
- ctemp.getMultipliers (drm, dgm, dbm);
- float rm = drm, gm = dgm, bm = dbm;
+ float rm = 1.f, gm = 1.f, bm = 1.f;
+ if (ctemp.getTemp() >= 0) {
+ double drm, dgm, dbm;
+ ctemp.getMultipliers (drm, dgm, dbm);
+ rm = drm;
+ gm = dgm;
+ bm = dbm;
- rm = 1.0 / rm;
- gm = 1.0 / gm;
- bm = 1.0 / bm;
- float mul_lum = 0.299 * rm + 0.587 * gm + 0.114 * bm;
- rm /= mul_lum;
- gm /= mul_lum;
- bm /= mul_lum;
+ rm = 1.0 / rm;
+ gm = 1.0 / gm;
+ bm = 1.0 / bm;
+ float mul_lum = 0.299 * rm + 0.587 * gm + 0.114 * bm;
+ rm /= mul_lum;
+ gm /= mul_lum;
+ bm /= mul_lum;
+ }
int sx1, sy1, sx2, sy2;
diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc
index 2a59332b2..819f78935 100644
--- a/rtengine/improccoordinator.cc
+++ b/rtengine/improccoordinator.cc
@@ -96,7 +96,6 @@ ImProcCoordinator::ImProcCoordinator()
fw(0), fh(0), tr(0),
fullw(1), fullh(1),
pW(-1), pH(-1),
-//<<<<<<< HEAD
plistener(nullptr), awbListener(nullptr), imageListener(nullptr), aeListener(nullptr), acListener(nullptr), abwListener(nullptr), aloListener(nullptr), actListener(nullptr), adnListener(nullptr), awavListener(nullptr), dehaListener(nullptr), frameCountListener(nullptr), imageTypeListener(nullptr), hListener(nullptr),
resultValid(false), lastOutputProfile("BADFOOD"), lastOutputIntent(RI__COUNT), lastOutputBPC(false), thread(nullptr), changeSinceLast(0), updaterRunning(false), destroying(false), utili(false), autili(false),
butili(false), ccutili(false), cclutili(false), clcutili(false), opautili(false), wavcontlutili(false),
@@ -414,32 +413,34 @@ void ImProcCoordinator::updatePreviewImage(int todo, Crop* cropCall)
}
if (todo & (M_INIT | M_LINDENOISE | M_HDR)) {
- MyMutex::MyLock initLock(minit); // Also used in crop window
+ MyMutex::MyLock initLock (minit); // Also used in crop window
- imgsrc->HLRecovery_Global(params.toneCurve); // this handles Color HLRecovery
+ imgsrc->HLRecovery_Global ( params.toneCurve); // this handles Color HLRecovery
if (settings->verbose) {
- printf("Applying white balance, color correction & sRBG conversion...\n");
+ printf ("Applying white balance, color correction & sRBG conversion...\n");
}
- currWB = ColorTemp(params.wb.temperature, params.wb.green, params.wb.equal, params.wb.method);
+ currWB = ColorTemp (params.wb.temperature, params.wb.green, params.wb.equal, params.wb.method);
- if (params.wb.method == "Camera") {
- currWB = imgsrc->getWB();
+ if (!params.wb.enabled) {
+ currWB = ColorTemp();
+ } else if (params.wb.method == "Camera") {
+ currWB = imgsrc->getWB ();
} else if (params.wb.method == "Auto") {
if (lastAwbEqual != params.wb.equal || lastAwbTempBias != params.wb.tempBias) {
double rm, gm, bm;
- imgsrc->getAutoWBMultipliers(rm, gm, bm);
+ imgsrc->getAutoWBMultipliers (rm, gm, bm);
if (rm != -1.) {
- autoWB.update(rm, gm, bm, params.wb.equal, params.wb.tempBias);
+ autoWB.update (rm, gm, bm, params.wb.equal, params.wb.tempBias);
lastAwbEqual = params.wb.equal;
lastAwbTempBias = params.wb.tempBias;
} else {
lastAwbEqual = -1.;
lastAwbTempBias = 0.0;
- autoWB.useDefaults(params.wb.equal);
+ autoWB.useDefaults (params.wb.equal);
}
//double rr,gg,bb;
@@ -449,24 +450,26 @@ void ImProcCoordinator::updatePreviewImage(int todo, Crop* cropCall)
currWB = autoWB;
}
- params.wb.temperature = currWB.getTemp();
- params.wb.green = currWB.getGreen();
-
- if (params.wb.method == "Auto" && awbListener) {
- awbListener->WBChanged(params.wb.temperature, params.wb.green);
+ if (params.wb.enabled) {
+ params.wb.temperature = currWB.getTemp ();
+ params.wb.green = currWB.getGreen ();
}
- int tr = getCoarseBitMask(params.coarse);
+ if (params.wb.method == "Auto" && awbListener && params.wb.enabled) {
+ awbListener->WBChanged (params.wb.temperature, params.wb.green);
+ }
- imgsrc->getFullSize(fw, fh, tr);
+ int tr = getCoarseBitMask (params.coarse);
+
+ imgsrc->getFullSize (fw, fh, tr);
// Will (re)allocate the preview's buffers
- setScale(scale);
- PreviewProps pp(0, 0, fw, fh, scale);
+ setScale (scale);
+ PreviewProps pp (0, 0, fw, fh, scale);
// Tells to the ImProcFunctions' tools what is the preview scale, which may lead to some simplifications
- ipf.setScale(scale);
+ ipf.setScale (scale);
- imgsrc->getImage(currWB, tr, orig_prev, pp, params.toneCurve, params.raw);
+ imgsrc->getImage (currWB, tr, orig_prev, pp, params.toneCurve, params.raw);
denoiseInfoStore.valid = false;
//ColorTemp::CAT02 (orig_prev, ¶ms) ;
// printf("orig_prevW=%d\n scale=%d",orig_prev->width, scale);
@@ -511,9 +514,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, Crop* cropCall)
}
}
*/
- imgsrc->convertColorSpace(orig_prev, params.icm, currWB);
+ imgsrc->convertColorSpace (orig_prev, params.icm, currWB);
- ipf.firstAnalysis(orig_prev, params, vhist16);
+ ipf.firstAnalysis (orig_prev, params, vhist16);
}
readyphase++;
@@ -728,12 +731,6 @@ void ImProcCoordinator::updatePreviewImage(int todo, Crop* cropCall)
lhist16(32768);
if (todo & (M_LUMACURVE | M_CROP)) {
- /*
- <<<<<<< HEAD
- =======
- LUTu lhist16 (32768);
- >>>>>>> dev
- */
lhist16.clear();
#ifdef _OPENMP
const int numThreads = min(max(pW * pH / (int)lhist16.getSize(), 1), omp_get_max_threads());
@@ -3009,7 +3006,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, Crop* cropCall)
sizellcs[sp] = sizl;
std::vector cllend;
- llstr[sp] = llstr[0];
+ llstr[sp] = llstr[0];
for (int j = 0; j < sizl; j++) {
llcurvs[sp * 500 + j] = s_datcl[j];
diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc
index 56dfbc15a..49968ba0b 100644
--- a/rtengine/improcfun.cc
+++ b/rtengine/improcfun.cc
@@ -3157,11 +3157,8 @@ void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer
{wprof[2][0], wprof[2][1], wprof[2][2]}
};
- // For tonecurve histogram
-// float lumimulf[3] = {static_cast (lumimul[0]), static_cast (lumimul[1]), static_cast (lumimul[2])};
-
-
- bool mixchannels = (params->chmixer.red[0] != 100 || params->chmixer.red[1] != 0 || params->chmixer.red[2] != 0 ||
+ bool mixchannels = params->chmixer.enabled &&
+ (params->chmixer.red[0] != 100 || params->chmixer.red[1] != 0 || params->chmixer.red[2] != 0 ||
params->chmixer.green[0] != 0 || params->chmixer.green[1] != 100 || params->chmixer.green[2] != 0 ||
params->chmixer.blue[0] != 0 || params->chmixer.blue[1] != 0 || params->chmixer.blue[2] != 100);
@@ -3170,13 +3167,13 @@ void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer
FlatCurve* vCurve = nullptr;
FlatCurve* bwlCurve = nullptr;
- FlatCurveType hCurveType = (FlatCurveType)params->hsvequalizer.hcurve.at(0);
- FlatCurveType sCurveType = (FlatCurveType)params->hsvequalizer.scurve.at(0);
- FlatCurveType vCurveType = (FlatCurveType)params->hsvequalizer.vcurve.at(0);
- FlatCurveType bwlCurveType = (FlatCurveType)params->blackwhite.luminanceCurve.at(0);
- bool hCurveEnabled = hCurveType > FCT_Linear;
- bool sCurveEnabled = sCurveType > FCT_Linear;
- bool vCurveEnabled = vCurveType > FCT_Linear;
+ FlatCurveType hCurveType = (FlatCurveType)params->hsvequalizer.hcurve.at (0);
+ FlatCurveType sCurveType = (FlatCurveType)params->hsvequalizer.scurve.at (0);
+ FlatCurveType vCurveType = (FlatCurveType)params->hsvequalizer.vcurve.at (0);
+ FlatCurveType bwlCurveType = (FlatCurveType)params->blackwhite.luminanceCurve.at (0);
+ bool hCurveEnabled = params->hsvequalizer.enabled && hCurveType > FCT_Linear;
+ bool sCurveEnabled = params->hsvequalizer.enabled && sCurveType > FCT_Linear;
+ bool vCurveEnabled = params->hsvequalizer.enabled && vCurveType > FCT_Linear;
bool bwlCurveEnabled = bwlCurveType > FCT_Linear;
// TODO: We should create a 'skip' value like for CurveFactory::complexsgnCurve (rtengine/curves.cc)
@@ -3775,7 +3772,7 @@ void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer
}
}
- if (rCurve || gCurve || bCurve) { // if any of the RGB curves is engaged
+ if (params->rgbCurves.enabled && (rCurve || gCurve || bCurve)) { // if any of the RGB curves is engaged
if (!params->rgbCurves.lumamode) { // normal RGB mode
for (int i = istart, ti = 0; i < tH; i++, ti++) {
diff --git a/rtengine/procevents.h b/rtengine/procevents.h
index 6980e3ce5..479374b08 100644
--- a/rtengine/procevents.h
+++ b/rtengine/procevents.h
@@ -514,110 +514,111 @@ enum ProcEvent {
EvLensCorrMode = 484,
EvLensCorrLensfunCamera = 485,
EvLensCorrLensfunLens = 486,
- // Fattal tone mapping
EvTMFattalEnabled = 487,
EvTMFattalThreshold = 488,
EvTMFattalAmount = 489,
- EvlocallabEnabled = 490,
- EvlocallablocY = 491,
- EvlocallablocX = 492,
- EvlocallabCenter = 493,
- EvlocallabDegree = 494,
- Evlocallablightness = 495,
- Evlocallabcontrast = 496,
- Evlocallabchroma = 497,
- Evlocallabtransit = 498,
- Evlocallabavoid = 499,
- EvlocallablocYT = 500,
- EvlocallablocXL = 501,
- EvlocallabSmet = 502,
- Evlocallabinvers = 503,
- Evlocallabradius = 504,
- Evlocallabinversrad = 505,
- Evlocallabstrength = 506,
- Evlocallabsensi = 507,
- EvlocallabretinexMethod = 508,
- Evlocallabstr = 509,
- Evlocallabneigh = 510,
- Evlocallabvart = 511,
- EvlocallabCTgainCurve = 512,
- Evlocallabchrrt = 513,
- Evlocallabinversret = 514,
- Evlocallabsensih = 515,
- Evlocallabnbspot = 516,
- Evlocallabactivlum = 517,
- Evlocallabanbspot = 518,
- Evlocallabsharradius = 519,
- Evlocallabsharamount = 520,
- Evlocallabshardamping = 521,
- Evlocallabshariter = 522,
- Evlocallabsensis = 523,
- Evlocallabinverssha = 524,
- Evlocallabcircrad = 525,
- Evlocallabthres = 526,
- Evlocallabproxi = 527,
- EvlocallabqualityMethod = 528,
- Evlocallabnoiselumf = 529,
- Evlocallabnoiselumc = 530,
- Evlocallabnoisechrof = 531,
- Evlocallabnoisechroc = 532,
- EvlocallabThresho = 533,
- EvlocallabEqualizer = 534,
- Evlocallabsensicb = 535,
- Evlocallabsensibn = 536,
- Evlocallabstren = 537,
- Evlocallabgamma = 538,
- Evlocallabestop = 539,
- Evlocallabscaltm = 540,
- Evlocallabrewei = 541,
- Evlocallabsensitm = 542,
- EvlocallabCTgainCurverab = 543,
- Evlocallabretrab = 544,
- Evlocallabllshape = 545,
- EvLocenacolor = 546,
- EvLocenablur = 547,
- EvLocenatonemap = 548,
- EvLocenareti = 549,
- EvLocenasharp = 550,
- EvLocenacbdl = 551,
- EvLocenadenoi = 552,
- EvlocallabLHshape = 553,
- Evlocallabcurvactiv = 554,
- Evlocallabccshape = 555,
- EvlocallabqualitycurveMethod = 556,
- Evlocallabhueref = 557,
- Evlocallabchromaref = 558,
- Evlocallablumaref = 559,
- EvlocallabHHshape = 560,
- EvLocenavibrance = 561,
- EvlocallabSkinTonesCurve = 562,
- EvlocallabProtectSkins = 563,
- EvlocallabAvoidColorShift = 564,
- EvlocallabPastSatTog = 565,
- EvlocallabPastels = 566,
- EvlocallabSaturated = 567,
- EvlocallabPastSatThreshold = 568,
- Evlocallabsensiv = 569,
- EvLocenaexpose = 570,
- Evlocallabexpcomp = 571,
- Evlocallabhlcompr = 572,
- Evlocallabhlcomprthresh = 573,
- Evlocallabblack = 574,
- Evlocallabshcompr = 575,
- Evlocallabsensiex = 576,
- Evlocallabshape = 577,
- EvlocallabCenterbuf = 578,
- Evlocallabadjblur = 579,
- Evlocallabcutpast = 580,
- Evlocallabchromacbdl = 581,
- EvlocallabblurMethod = 582,
- EvlocallabdustMethod = 583,
- Evlocallablastdust = 584,
- Evlocallabsobelref = 585,
- Evlocallabexclumethod = 586,
- Evlocallabsensiexclu = 587,
- Evlocallabstruc = 588,
- Evlocallabwarm = 589,
+ EvWBEnabled = 490,
+ EvRGBEnabled = 491,
+ EvlocallabEnabled = 492,
+ EvlocallablocY = 493,
+ EvlocallablocX = 494,
+ EvlocallabCenter = 495,
+ EvlocallabDegree = 496,
+ Evlocallablightness = 497,
+ Evlocallabcontrast = 498,
+ Evlocallabchroma = 499,
+ Evlocallabtransit = 500,
+ Evlocallabavoid = 501,
+ EvlocallablocYT = 502,
+ EvlocallablocXL = 503,
+ EvlocallabSmet = 504,
+ Evlocallabinvers = 505,
+ Evlocallabradius = 506,
+ Evlocallabinversrad = 507,
+ Evlocallabstrength = 508,
+ Evlocallabsensi = 509,
+ EvlocallabretinexMethod = 510,
+ Evlocallabstr = 511,
+ Evlocallabneigh = 512,
+ Evlocallabvart = 513,
+ EvlocallabCTgainCurve = 514,
+ Evlocallabchrrt = 515,
+ Evlocallabinversret = 516,
+ Evlocallabsensih = 517,
+ Evlocallabnbspot = 518,
+ Evlocallabactivlum = 519,
+ Evlocallabanbspot = 520,
+ Evlocallabsharradius = 521,
+ Evlocallabsharamount = 522,
+ Evlocallabshardamping = 523,
+ Evlocallabshariter = 524,
+ Evlocallabsensis = 525,
+ Evlocallabinverssha = 526,
+ Evlocallabcircrad = 527,
+ Evlocallabthres = 528,
+ Evlocallabproxi = 529,
+ EvlocallabqualityMethod = 530,
+ Evlocallabnoiselumf = 531,
+ Evlocallabnoiselumc = 532,
+ Evlocallabnoisechrof = 533,
+ Evlocallabnoisechroc = 534,
+ EvlocallabThresho = 535,
+ EvlocallabEqualizer = 536,
+ Evlocallabsensicb = 537,
+ Evlocallabsensibn = 538,
+ Evlocallabstren = 539,
+ Evlocallabgamma = 540,
+ Evlocallabestop = 541,
+ Evlocallabscaltm = 542,
+ Evlocallabrewei = 543,
+ Evlocallabsensitm = 544,
+ EvlocallabCTgainCurverab = 545,
+ Evlocallabretrab = 546,
+ Evlocallabllshape = 547,
+ EvLocenacolor = 548,
+ EvLocenablur = 549,
+ EvLocenatonemap = 550,
+ EvLocenareti = 551,
+ EvLocenasharp = 552,
+ EvLocenacbdl = 553,
+ EvLocenadenoi = 554,
+ EvlocallabLHshape = 555,
+ Evlocallabcurvactiv = 556,
+ Evlocallabccshape = 557,
+ EvlocallabqualitycurveMethod = 558,
+ Evlocallabhueref = 559,
+ Evlocallabchromaref = 560,
+ Evlocallablumaref = 561,
+ EvlocallabHHshape = 562,
+ EvLocenavibrance = 563,
+ EvlocallabSkinTonesCurve = 564,
+ EvlocallabProtectSkins = 565,
+ EvlocallabAvoidColorShift = 566,
+ EvlocallabPastSatTog = 567,
+ EvlocallabPastels = 568,
+ EvlocallabSaturated = 569,
+ EvlocallabPastSatThreshold = 570,
+ Evlocallabsensiv = 571,
+ EvLocenaexpose = 572,
+ Evlocallabexpcomp = 573,
+ Evlocallabhlcompr = 574,
+ Evlocallabhlcomprthresh = 575,
+ Evlocallabblack = 576,
+ Evlocallabshcompr = 577,
+ Evlocallabsensiex = 578,
+ Evlocallabshape = 579,
+ EvlocallabCenterbuf = 580,
+ Evlocallabadjblur = 581,
+ Evlocallabcutpast = 582,
+ Evlocallabchromacbdl = 583,
+ EvlocallabblurMethod = 584,
+ EvlocallabdustMethod = 585,
+ Evlocallablastdust = 586,
+ Evlocallabsobelref = 587,
+ Evlocallabexclumethod = 588,
+ Evlocallabsensiexclu = 589,
+ Evlocallabstruc = 590,
+ Evlocallabwarm = 591,
NUMOFEVENTS
diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc
index e596cdb51..fb2a0c998 100644
--- a/rtengine/procparams.cc
+++ b/rtengine/procparams.cc
@@ -563,6 +563,7 @@ bool LCurveParams::operator !=(const LCurveParams& other) const
}
RGBCurvesParams::RGBCurvesParams() :
+ enabled(false),
lumamode(false),
rcurve{
DCT_Linear
@@ -579,7 +580,8 @@ bcurve{
bool RGBCurvesParams::operator ==(const RGBCurvesParams& other) const
{
return
- lumamode == other.lumamode
+ enabled == other.enabled
+ && lumamode == other.lumamode
&& rcurve == other.rcurve
&& gcurve == other.gcurve
&& bcurve == other.bcurve;
@@ -1098,6 +1100,7 @@ bool VibranceParams::operator !=(const VibranceParams& other) const
}
WBParams::WBParams() :
+ enabled(true),
method("Camera"),
temperature(6504),
green(1.0),
@@ -1109,7 +1112,8 @@ WBParams::WBParams() :
bool WBParams::operator ==(const WBParams& other) const
{
return
- method == other.method
+ enabled == other.enabled
+ && method == other.method
&& temperature == other.temperature
&& green == other.green
&& equal == other.equal
@@ -1756,6 +1760,7 @@ bool VignettingParams::operator !=(const VignettingParams& other) const
}
ChannelMixerParams::ChannelMixerParams() :
+ enabled(false),
red{
100,
0,
@@ -1776,6 +1781,9 @@ blue{
bool ChannelMixerParams::operator ==(const ChannelMixerParams& other) const
{
+ if (enabled != other.enabled) {
+ return false;
+ }
for (unsigned int i = 0; i < 3; ++i) {
if (
red[i] != other.red[i]
@@ -2618,6 +2626,7 @@ bool DirPyrEqualizerParams::operator !=(const DirPyrEqualizerParams& other) cons
}
HSVEqualizerParams::HSVEqualizerParams() :
+ enabled(false),
hcurve{
FCT_Linear
},
@@ -2633,7 +2642,8 @@ vcurve{
bool HSVEqualizerParams::operator ==(const HSVEqualizerParams& other) const
{
return
- hcurve == other.hcurve
+ enabled == other.enabled
+ && hcurve == other.hcurve
&& scurve == other.scurve
&& vcurve == other.vcurve;
}
@@ -3105,6 +3115,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
saveToKeyfile(!pedited || pedited->retinex.gaintransmissionCurve, "Retinex", "GainTransmissionCurve", retinex.gaintransmissionCurve, keyFile);
// Channel mixer
+ saveToKeyfile(!pedited || pedited->chmixer.enabled, "Channel Mixer", "Enabled", chmixer.enabled, keyFile);
if (!pedited || pedited->chmixer.red[0] || pedited->chmixer.red[1] || pedited->chmixer.red[2]) {
Glib::ArrayHandle rmix(chmixer.red, 3, Glib::OWNERSHIP_NONE);
keyFile.set_integer_list("Channel Mixer", "Red", rmix);
@@ -3223,6 +3234,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
saveToKeyfile(!pedited || pedited->sharpenMicro.uniformity, "SharpenMicro", "Uniformity", sharpenMicro.uniformity, keyFile);
// WB
+ saveToKeyfile(!pedited || pedited->wb.enabled, "White Balance", "Enabled", wb.enabled, keyFile);
saveToKeyfile(!pedited || pedited->wb.method, "White Balance", "Setting", wb.method, keyFile);
saveToKeyfile(!pedited || pedited->wb.temperature, "White Balance", "Temperature", wb.temperature, keyFile);
saveToKeyfile(!pedited || pedited->wb.green, "White Balance", "Green", wb.green, keyFile);
@@ -3698,6 +3710,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
saveToKeyfile(!pedited || pedited->dirpyrequalizer.hueskin, "Directional Pyramid Equalizer", "Hueskin", dirpyrequalizer.hueskin.toVector(), keyFile);
// HSV Equalizer
+ saveToKeyfile(!pedited || pedited->hsvequalizer.enabled, "HSV Equalizer", "Enabled", hsvequalizer.enabled, keyFile);
saveToKeyfile(!pedited || pedited->hsvequalizer.hcurve, "HSV Equalizer", "HCurve", hsvequalizer.hcurve, keyFile);
saveToKeyfile(!pedited || pedited->hsvequalizer.scurve, "HSV Equalizer", "SCurve", hsvequalizer.scurve, keyFile);
saveToKeyfile(!pedited || pedited->hsvequalizer.vcurve, "HSV Equalizer", "VCurve", hsvequalizer.vcurve, keyFile);
@@ -3707,6 +3720,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
saveToKeyfile(!pedited || pedited->filmSimulation.clutFilename, "Film Simulation", "ClutFilename", filmSimulation.clutFilename, keyFile);
saveToKeyfile(!pedited || pedited->filmSimulation.strength, "Film Simulation", "Strength", filmSimulation.strength, keyFile);
+ saveToKeyfile(!pedited || pedited->rgbCurves.enabled, "RGB Curves", "Enabled", rgbCurves.enabled, keyFile);
saveToKeyfile(!pedited || pedited->rgbCurves.lumamode, "RGB Curves", "LumaMode", rgbCurves.lumamode, keyFile);
saveToKeyfile(!pedited || pedited->rgbCurves.rcurve, "RGB Curves", "rCurve", rgbCurves.rcurve, keyFile);
saveToKeyfile(!pedited || pedited->rgbCurves.gcurve, "RGB Curves", "gCurve", rgbCurves.gcurve, keyFile);
@@ -3927,11 +3941,19 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
assignFromKeyfile(keyFile, "HLRecovery", "Method", pedited, toneCurve.method, pedited->toneCurve.method);
}
- if (keyFile.has_group("Channel Mixer")) {
- if (keyFile.has_key("Channel Mixer", "Red") && keyFile.has_key("Channel Mixer", "Green") && keyFile.has_key("Channel Mixer", "Blue")) {
- const std::vector rmix = keyFile.get_integer_list("Channel Mixer", "Red");
- const std::vector gmix = keyFile.get_integer_list("Channel Mixer", "Green");
- const std::vector bmix = keyFile.get_integer_list("Channel Mixer", "Blue");
+ if (keyFile.has_group ("Channel Mixer")) {
+ if (ppVersion >= 329) {
+ assignFromKeyfile(keyFile, "Channel Mixer", "Enabled", pedited, chmixer.enabled, pedited->chmixer.enabled);
+ } else {
+ chmixer.enabled = true;
+ if (pedited) {
+ pedited->chmixer.enabled = true;
+ }
+ }
+ if (keyFile.has_key ("Channel Mixer", "Red") && keyFile.has_key ("Channel Mixer", "Green") && keyFile.has_key ("Channel Mixer", "Blue")) {
+ const std::vector rmix = keyFile.get_integer_list ("Channel Mixer", "Red");
+ const std::vector gmix = keyFile.get_integer_list ("Channel Mixer", "Green");
+ const std::vector bmix = keyFile.get_integer_list ("Channel Mixer", "Blue");
if (rmix.size() == 3 && gmix.size() == 3 && bmix.size() == 3) {
memcpy(chmixer.red, rmix.data(), 3 * sizeof(int));
@@ -4170,7 +4192,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
assignFromKeyfile(keyFile, "Vibrance", "SkinTonesCurve", pedited, vibrance.skintonescurve, pedited->vibrance.skintonescurve);
}
- if (keyFile.has_group("White Balance")) {
+ if (keyFile.has_group ("White Balance")) {
+ assignFromKeyfile(keyFile, "White Balance", "Enabled", pedited, wb.enabled, pedited->wb.enabled);
assignFromKeyfile(keyFile, "White Balance", "Setting", pedited, wb.method, pedited->wb.method);
assignFromKeyfile(keyFile, "White Balance", "Temperature", pedited, wb.temperature, pedited->wb.temperature);
assignFromKeyfile(keyFile, "White Balance", "Green", pedited, wb.green, pedited->wb.green);
@@ -5000,7 +5023,15 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
}
}
- if (keyFile.has_group("HSV Equalizer")) {
+ if (keyFile.has_group ("HSV Equalizer")) {
+ if (ppVersion >= 329) {
+ assignFromKeyfile(keyFile, "HSV Equalizer", "Enabled", pedited, hsvequalizer.enabled, pedited->hsvequalizer.enabled);
+ } else {
+ hsvequalizer.enabled = true;
+ if (pedited) {
+ pedited->hsvequalizer.enabled = true;
+ }
+ }
if (ppVersion >= 300) {
assignFromKeyfile(keyFile, "HSV Equalizer", "HCurve", pedited, hsvequalizer.hcurve, pedited->hsvequalizer.hcurve);
assignFromKeyfile(keyFile, "HSV Equalizer", "SCurve", pedited, hsvequalizer.scurve, pedited->hsvequalizer.scurve);
@@ -5008,7 +5039,15 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
}
}
- if (keyFile.has_group("RGB Curves")) {
+ if (keyFile.has_group ("RGB Curves")) {
+ if (ppVersion >= 329) {
+ assignFromKeyfile(keyFile, "RGB Curves", "Enabled", pedited, rgbCurves.enabled, pedited->rgbCurves.enabled);
+ } else {
+ rgbCurves.enabled = true;
+ if (pedited) {
+ pedited->rgbCurves.enabled = true;
+ }
+ }
assignFromKeyfile(keyFile, "RGB Curves", "LumaMode", pedited, rgbCurves.lumamode, pedited->rgbCurves.lumamode);
assignFromKeyfile(keyFile, "RGB Curves", "rCurve", pedited, rgbCurves.rcurve, pedited->rgbCurves.rcurve);
assignFromKeyfile(keyFile, "RGB Curves", "gCurve", pedited, rgbCurves.gcurve, pedited->rgbCurves.gcurve);
diff --git a/rtengine/procparams.h b/rtengine/procparams.h
index 6ed1562c8..924352dfe 100644
--- a/rtengine/procparams.h
+++ b/rtengine/procparams.h
@@ -370,6 +370,7 @@ struct LCurveParams {
* Parameters of the RGB curves
*/
struct RGBCurvesParams {
+ bool enabled;
bool lumamode;
std::vector rcurve;
std::vector gcurve;
@@ -543,6 +544,7 @@ struct WBEntry {
};
struct WBParams {
+ bool enabled;
Glib::ustring method;
int temperature;
double green;
@@ -1026,6 +1028,7 @@ struct VignettingParams {
* Parameters of the color mixer
*/
struct ChannelMixerParams {
+ bool enabled;
int red[3];
int green[3];
int blue[3];
@@ -1268,6 +1271,7 @@ struct DirPyrEqualizerParams {
* HSV equalizer params
*/
struct HSVEqualizerParams {
+ bool enabled;
std::vector hcurve;
std::vector scurve;
std::vector vcurve;
diff --git a/rtengine/refreshmap.cc b/rtengine/refreshmap.cc
index e49903cd3..cdb5449d7 100644
--- a/rtengine/refreshmap.cc
+++ b/rtengine/refreshmap.cc
@@ -516,7 +516,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
DARKFRAME, // EvLensCorrLensfunLens
ALLNORAW, // EvTMFattalEnabled
HDR, // EvTMFattalThreshold
- HDR, // EvTMFattalAmount
+ HDR, // EvTMFattalAmount
+ ALLNORAW, // EvWBEnabled
+ RGBCURVE, // EvRGBEnabled
LUMINANCECURVE, // EvlocallabEnabled
LUMINANCECURVE, // EvlocallablocY
LUMINANCECURVE, // EvlocallablocX
@@ -617,6 +619,5 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
LUMINANCECURVE, // Evlocallabsensiexclu
LUMINANCECURVE, // Evlocallabstruc
LUMINANCECURVE // Evlocallabwarm
-
};
diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc
index fa23a90dd..8ae966c9c 100644
--- a/rtengine/rtthumbnail.cc
+++ b/rtengine/rtthumbnail.cc
@@ -944,7 +944,9 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT
// compute WB multipliers
ColorTemp currWB = ColorTemp (params.wb.temperature, params.wb.green, params.wb.equal, params.wb.method);
- if (params.wb.method == "Camera") {
+ if (!params.wb.enabled) {
+ currWB = ColorTemp();
+ } else if (params.wb.method == "Camera") {
//recall colorMatrix is rgb_cam
double cam_r = colorMatrix[0][0] * camwbRed + colorMatrix[0][1] * camwbGreen + colorMatrix[0][2] * camwbBlue;
double cam_g = colorMatrix[1][0] * camwbRed + colorMatrix[1][1] * camwbGreen + colorMatrix[1][2] * camwbBlue;
@@ -954,12 +956,19 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT
currWB = ColorTemp (autoWBTemp, autoWBGreen, wbEqual, "Custom");
}
- double r, g, b;
- currWB.getMultipliers (r, g, b);
- //iColorMatrix is cam_rgb
- double rm = iColorMatrix[0][0] * r + iColorMatrix[0][1] * g + iColorMatrix[0][2] * b;
- double gm = iColorMatrix[1][0] * r + iColorMatrix[1][1] * g + iColorMatrix[1][2] * b;
- double bm = iColorMatrix[2][0] * r + iColorMatrix[2][1] * g + iColorMatrix[2][2] * b;
+ double rm, gm, bm;
+ if (currWB.getTemp() < 0) {
+ rm = redMultiplier;
+ gm = greenMultiplier;
+ bm = blueMultiplier;
+ } else {
+ double r, g, b;
+ currWB.getMultipliers (r, g, b);
+ //iColorMatrix is cam_rgb
+ rm = iColorMatrix[0][0] * r + iColorMatrix[0][1] * g + iColorMatrix[0][2] * b;
+ gm = iColorMatrix[1][0] * r + iColorMatrix[1][1] * g + iColorMatrix[1][2] * b;
+ bm = iColorMatrix[2][0] * r + iColorMatrix[2][1] * g + iColorMatrix[2][2] * b;
+ }
rm = camwbRed / rm;
gm = camwbGreen / gm;
bm = camwbBlue / bm;
diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc
index 4bb3ff33b..83d8ab09e 100644
--- a/rtengine/simpleprocess.cc
+++ b/rtengine/simpleprocess.cc
@@ -230,8 +230,10 @@ private:
// set the color temperature
currWB = ColorTemp(params.wb.temperature, params.wb.green, params.wb.equal, params.wb.method);
- if (params.wb.method == "Camera") {
- currWB = imgsrc->getWB();
+ if (!params.wb.enabled) {
+ currWB = ColorTemp();
+ } else if (params.wb.method == "Camera") {
+ currWB = imgsrc->getWB ();
} else if (params.wb.method == "Auto") {
double rm, gm, bm;
imgsrc->getAutoWBMultipliers(rm, gm, bm);
diff --git a/rtgui/chmixer.cc b/rtgui/chmixer.cc
index 7d71da9a9..c6c098883 100644
--- a/rtgui/chmixer.cc
+++ b/rtgui/chmixer.cc
@@ -22,7 +22,7 @@
using namespace rtengine;
using namespace rtengine::procparams;
-ChMixer::ChMixer (): FoldableToolPanel(this, "chmixer", M("TP_CHMIXER_LABEL"))
+ChMixer::ChMixer (): FoldableToolPanel(this, "chmixer", M("TP_CHMIXER_LABEL"), false, true)
{
imgIcon[0] = Gtk::manage (new RTImage ("Chanmixer-RR.png"));
@@ -99,12 +99,16 @@ void ChMixer::read (const ProcParams* pp, const ParamsEdited* pedited)
disableListener ();
- if (pedited)
+ setEnabled(pp->chmixer.enabled);
+
+ if (pedited) {
for (int i = 0; i < 3; i++) {
red[i]->setEditedState (pedited->chmixer.red[i] ? Edited : UnEdited);
green[i]->setEditedState (pedited->chmixer.green[i] ? Edited : UnEdited);
blue[i]->setEditedState (pedited->chmixer.blue[i] ? Edited : UnEdited);
}
+ set_inconsistent(multiImage && !pedited->chmixer.enabled);
+ }
for (int i = 0; i < 3; i++) {
red[i]->setValue (pp->chmixer.red[i]);
@@ -123,13 +127,16 @@ void ChMixer::write (ProcParams* pp, ParamsEdited* pedited)
pp->chmixer.green[i] = (int) green[i]->getValue ();
pp->chmixer.blue[i] = (int) blue[i]->getValue ();
}
+ pp->chmixer.enabled = getEnabled();
- if (pedited)
+ if (pedited) {
for (int i = 0; i < 3; i++) {
pedited->chmixer.red[i] = red[i]->getEditedState ();
pedited->chmixer.green[i] = green[i]->getEditedState ();
pedited->chmixer.blue[i] = blue[i]->getEditedState ();
}
+ pedited->chmixer.enabled = !get_inconsistent();
+ }
}
void ChMixer::setDefaults (const ProcParams* defParams, const ParamsEdited* pedited)
@@ -158,7 +165,7 @@ void ChMixer::setDefaults (const ProcParams* defParams, const ParamsEdited* pedi
void ChMixer::adjusterChanged (Adjuster* a, double newval)
{
- if (listener) {
+ if (listener && getEnabled()) {
Glib::ustring descr = Glib::ustring::compose ("R=%1,%2,%3\nG=%4,%5,%6\nB=%7,%8,%9",
(int)red[0]->getValue(), (int)red[1]->getValue(), (int)red[2]->getValue(),
(int)green[0]->getValue(), (int)green[1]->getValue(), (int)green[2]->getValue(),
@@ -167,6 +174,21 @@ void ChMixer::adjusterChanged (Adjuster* a, double newval)
}
}
+
+void ChMixer::enabledChanged()
+{
+ if (listener) {
+ if (get_inconsistent()) {
+ listener->panelChanged(EvChMixer, M("GENERAL_UNCHANGED"));
+ } else if (getEnabled()) {
+ listener->panelChanged(EvChMixer, M("GENERAL_ENABLED"));
+ } else {
+ listener->panelChanged(EvChMixer, M("GENERAL_DISABLED"));
+ }
+ }
+}
+
+
void ChMixer::setBatchMode (bool batchMode)
{
diff --git a/rtgui/chmixer.h b/rtgui/chmixer.h
index bd85517de..410ac0d16 100644
--- a/rtgui/chmixer.h
+++ b/rtgui/chmixer.h
@@ -44,6 +44,7 @@ public:
void adjusterChanged (Adjuster* a, double newval);
void setAdjusterBehavior (bool rgbadd);
void trimValues (rtengine::procparams::ProcParams* pp);
+ void enabledChanged();
};
#endif
diff --git a/rtgui/hsvequalizer.cc b/rtgui/hsvequalizer.cc
index e74848cf3..1dfb017a7 100644
--- a/rtgui/hsvequalizer.cc
+++ b/rtgui/hsvequalizer.cc
@@ -25,7 +25,7 @@ using namespace rtengine::procparams;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-HSVEqualizer::HSVEqualizer () : FoldableToolPanel(this, "hsvequalizer", M("TP_HSVEQUALIZER_LABEL"))
+HSVEqualizer::HSVEqualizer () : FoldableToolPanel(this, "hsvequalizer", M("TP_HSVEQUALIZER_LABEL"), false, true)
{
std::vector bottomMilestones;
@@ -84,11 +84,13 @@ void HSVEqualizer::read (const ProcParams* pp, const ParamsEdited* pedited)
hshape->setUnChanged (!pedited->hsvequalizer.hcurve);
sshape->setUnChanged (!pedited->hsvequalizer.scurve);
vshape->setUnChanged (!pedited->hsvequalizer.vcurve);
+ set_inconsistent(multiImage && !pedited->hsvequalizer.enabled);
}
hshape->setCurve (pp->hsvequalizer.hcurve);
sshape->setCurve (pp->hsvequalizer.scurve);
vshape->setCurve (pp->hsvequalizer.vcurve);
+ setEnabled(pp->hsvequalizer.enabled);
enableListener ();
}
@@ -116,7 +118,7 @@ void HSVEqualizer::autoOpenCurve ()
void HSVEqualizer::write (ProcParams* pp, ParamsEdited* pedited)
{
-
+ pp->hsvequalizer.enabled = getEnabled();
pp->hsvequalizer.hcurve = hshape->getCurve ();
pp->hsvequalizer.scurve = sshape->getCurve ();
pp->hsvequalizer.vcurve = vshape->getCurve ();
@@ -126,6 +128,7 @@ void HSVEqualizer::write (ProcParams* pp, ParamsEdited* pedited)
pedited->hsvequalizer.hcurve = !hshape->isUnChanged ();
pedited->hsvequalizer.scurve = !sshape->isUnChanged ();
pedited->hsvequalizer.vcurve = !vshape->isUnChanged ();
+ pedited->hsvequalizer.enabled = !get_inconsistent();
}
}
@@ -138,7 +141,7 @@ void HSVEqualizer::write (ProcParams* pp, ParamsEdited* pedited)
void HSVEqualizer::curveChanged (CurveEditor* ce)
{
- if (listener) {
+ if (listener && getEnabled()) {
if (ce == hshape) {
listener->panelChanged (EvHSVEqualizerH, M("HISTORY_CUSTOMCURVE"));
}
@@ -199,3 +202,17 @@ void HSVEqualizer::setBatchMode (bool batchMode)
curveEditorG->setBatchMode (batchMode);
}
+
+
+void HSVEqualizer::enabledChanged()
+{
+ if (listener) {
+ if (get_inconsistent()) {
+ listener->panelChanged (EvHSVEqEnabled, M("GENERAL_UNCHANGED"));
+ } else if (getEnabled()) {
+ listener->panelChanged (EvHSVEqEnabled, M("GENERAL_ENABLED"));
+ } else {
+ listener->panelChanged (EvHSVEqEnabled, M("GENERAL_DISABLED"));
+ }
+ }
+}
diff --git a/rtgui/hsvequalizer.h b/rtgui/hsvequalizer.h
index d02cc378c..fc3d22984 100644
--- a/rtgui/hsvequalizer.h
+++ b/rtgui/hsvequalizer.h
@@ -54,6 +54,7 @@ public:
virtual void colorForValue (double valX, double valY, enum ColorCaller::ElemType elemType, int callerId, ColorCaller* caller);
//void adjusterChanged (Adjuster* a, double newval);
+ void enabledChanged();
};
#endif
diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc
index 95efd51ec..7adcea9a3 100644
--- a/rtgui/paramsedited.cc
+++ b/rtgui/paramsedited.cc
@@ -97,6 +97,7 @@ void ParamsEdited::set(bool v)
labCurve.avoidcolorshift = v;
labCurve.rstprotection = v;
labCurve.lcredsk = v;
+ rgbCurves.enabled = v;
rgbCurves.lumamode = v;
rgbCurves.rcurve = v;
rgbCurves.gcurve = v;
@@ -219,6 +220,7 @@ void ParamsEdited::set(bool v)
//colorBoost.avoidclip = v;
//colorBoost.enable_saturationlimiter = v;
//colorBoost.saturationlimit = v;
+ wb.enabled = v;
wb.method = v;
wb.green = v;
wb.temperature = v;
@@ -428,6 +430,7 @@ void ParamsEdited::set(bool v)
vignetting.strength = v;
vignetting.centerX = v;
vignetting.centerY = v;
+ chmixer.enabled = v;
chmixer.red[0] = v;
chmixer.red[1] = v;
chmixer.red[2] = v;
@@ -656,6 +659,7 @@ void ParamsEdited::set(bool v)
dirpyrequalizer.skinprotect = v;
dirpyrequalizer.hueskin = v;
//dirpyrequalizer.algo = v;
+ hsvequalizer.enabled = v;
hsvequalizer.hcurve = v;
hsvequalizer.scurve = v;
hsvequalizer.vcurve = v;
@@ -746,6 +750,7 @@ void ParamsEdited::initFrom(const std::vector&
labCurve.avoidcolorshift = labCurve.avoidcolorshift && p.labCurve.avoidcolorshift == other.labCurve.avoidcolorshift;
labCurve.rstprotection = labCurve.rstprotection && p.labCurve.rstprotection == other.labCurve.rstprotection;
labCurve.lcredsk = labCurve.lcredsk && p.labCurve.lcredsk == other.labCurve.lcredsk;
+ rgbCurves.enabled = rgbCurves.enabled && p.rgbCurves.enabled == other.rgbCurves.enabled;
rgbCurves.lumamode = rgbCurves.lumamode && p.rgbCurves.lumamode == other.rgbCurves.lumamode;
rgbCurves.rcurve = rgbCurves.rcurve && p.rgbCurves.rcurve == other.rgbCurves.rcurve;
rgbCurves.gcurve = rgbCurves.gcurve && p.rgbCurves.gcurve == other.rgbCurves.gcurve;
@@ -867,6 +872,7 @@ void ParamsEdited::initFrom(const std::vector&
//colorBoost.avoidclip = colorBoost.avoidclip && p.colorBoost.avoidclip == other.colorBoost.avoidclip;
//colorBoost.enable_saturationlimiter = colorBoost.enable_saturationlimiter && p.colorBoost.enable_saturationlimiter == other.colorBoost.enable_saturationlimiter;
//colorBoost.saturationlimit = colorBoost.saturationlimit && p.colorBoost.saturationlimit == other.colorBoost.saturationlimit;
+ wb.enabled = wb.enabled && p.wb.enabled == other.wb.enabled;
wb.method = wb.method && p.wb.method == other.wb.method;
wb.green = wb.green && p.wb.green == other.wb.green;
wb.equal = wb.equal && p.wb.equal == other.wb.equal;
@@ -1080,6 +1086,7 @@ void ParamsEdited::initFrom(const std::vector&
vignetting.strength = vignetting.strength && p.vignetting.strength == other.vignetting.strength;
vignetting.centerX = vignetting.centerX && p.vignetting.centerX == other.vignetting.centerX;
vignetting.centerY = vignetting.centerY && p.vignetting.centerY == other.vignetting.centerY;
+ chmixer.enabled = chmixer.enabled && p.chmixer.enabled == other.chmixer.enabled;
chmixer.red[0] = chmixer.red[0] && p.chmixer.red[0] == other.chmixer.red[0];
chmixer.red[1] = chmixer.red[1] && p.chmixer.red[1] == other.chmixer.red[1];
chmixer.red[2] = chmixer.red[2] && p.chmixer.red[2] == other.chmixer.red[2];
@@ -1301,6 +1308,7 @@ void ParamsEdited::initFrom(const std::vector&
dirpyrequalizer.skinprotect = dirpyrequalizer.skinprotect && p.dirpyrequalizer.skinprotect == other.dirpyrequalizer.skinprotect;
// dirpyrequalizer.algo = dirpyrequalizer.algo && p.dirpyrequalizer.algo == other.dirpyrequalizer.algo;
dirpyrequalizer.hueskin = dirpyrequalizer.hueskin && p.dirpyrequalizer.hueskin == other.dirpyrequalizer.hueskin;
+ hsvequalizer.enabled = hsvequalizer.enabled && p.hsvequalizer.enabled == other.hsvequalizer.enabled;
hsvequalizer.hcurve = hsvequalizer.hcurve && p.hsvequalizer.hcurve == other.hsvequalizer.hcurve;
hsvequalizer.scurve = hsvequalizer.scurve && p.hsvequalizer.scurve == other.hsvequalizer.scurve;
hsvequalizer.vcurve = hsvequalizer.vcurve && p.hsvequalizer.vcurve == other.hsvequalizer.vcurve;
@@ -1573,6 +1581,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.labCurve.lcredsk = mods.labCurve.lcredsk;
}
+ if (rgbCurves.enabled) {
+ toEdit.rgbCurves.enabled = mods.rgbCurves.enabled;
+ }
+
if (rgbCurves.lumamode) {
toEdit.rgbCurves.lumamode = mods.rgbCurves.lumamode;
}
@@ -1881,6 +1893,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
//if (colorBoost.avoidclip) toEdit.colorBoost.avoidclip = mods.colorBoost.avoidclip;
//if (colorBoost.enable_saturationlimiter)toEdit.colorBoost.enable_saturationlimiter = mods.colorBoost.enable_saturationlimiter;
//if (colorBoost.saturationlimit) toEdit.colorBoost.saturationlimit = mods.colorBoost.saturationlimit;
+ if (wb.enabled) {
+ toEdit.wb.enabled = mods.wb.enabled;
+ }
+
if (wb.method) {
toEdit.wb.method = mods.wb.method;
}
@@ -2818,6 +2834,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.vignetting.centerY = dontforceSet && options.baBehav[ADDSET_VIGN_CENTER] ? toEdit.vignetting.centerY + mods.vignetting.centerY : mods.vignetting.centerY;
}
+ if (chmixer.enabled) {
+ toEdit.chmixer.enabled = mods.chmixer.enabled;
+ }
+
for (int i = 0; i < 3; i++) {
if (chmixer.red[i]) {
toEdit.chmixer.red[i] = dontforceSet && options.baBehav[ADDSET_CHMIXER] ? toEdit.chmixer.red[i] + mods.chmixer.red[i] : mods.chmixer.red[i];
@@ -3637,6 +3657,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
}
// if (dirpyrequalizer.algo) toEdit.dirpyrequalizer.algo = mods.dirpyrequalizer.algo;
+ if (hsvequalizer.enabled) {
+ toEdit.hsvequalizer.enabled = mods.hsvequalizer.enabled;
+ }
+
if (hsvequalizer.hcurve) {
toEdit.hsvequalizer.hcurve = mods.hsvequalizer.hcurve;
}
diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h
index c37324b1d..84d02c1a0 100644
--- a/rtgui/paramsedited.h
+++ b/rtgui/paramsedited.h
@@ -123,6 +123,7 @@ class RGBCurvesParamsEdited
{
public:
+ bool enabled;
bool lumamode;
bool rcurve;
bool gcurve;
@@ -229,6 +230,7 @@ class WBParamsEdited
{
public:
+ bool enabled;
bool method;
bool temperature;
bool green;
@@ -598,6 +600,7 @@ class ChannelMixerParamsEdited
{
public:
+ bool enabled;
bool red[3];
bool green[3];
bool blue[3];
@@ -788,6 +791,7 @@ class HSVEqualizerParamsEdited
{
public:
+ bool enabled;
bool hcurve;
bool scurve;
bool vcurve;
diff --git a/rtgui/ppversion.h b/rtgui/ppversion.h
index d799be406..c6f2598b0 100644
--- a/rtgui/ppversion.h
+++ b/rtgui/ppversion.h
@@ -1,11 +1,13 @@
#pragma once
// This number has to be incremented whenever the PP3 file format is modified or the behaviour of a tool changes
-#define PPVERSION 328
+#define PPVERSION 329
#define PPVERSION_AEXP 301 //value of PPVERSION when auto exposure algorithm was modified
/*
Log of version changes
+ 329 2017-12-09
+ Added 'Enabled' flag for Channel Mixer, RGB Curves and HSV Equalizer
328 2017-11-22
Fix wrong type of ff_clipControl
327 2017-09-15
diff --git a/rtgui/rgbcurves.cc b/rtgui/rgbcurves.cc
index d9c970f7a..d32633bf4 100644
--- a/rtgui/rgbcurves.cc
+++ b/rtgui/rgbcurves.cc
@@ -21,7 +21,7 @@
using namespace rtengine;
using namespace rtengine::procparams;
-RGBCurves::RGBCurves () : FoldableToolPanel(this, "rgbcurves", M("TP_RGBCURVES_LABEL"))
+RGBCurves::RGBCurves () : FoldableToolPanel(this, "rgbcurves", M("TP_RGBCURVES_LABEL"), false, true)
{
lumamode = Gtk::manage (new Gtk::CheckButton (M("TP_RGBCURVES_LUMAMODE")));
@@ -84,6 +84,7 @@ void RGBCurves::read (const ProcParams* pp, const ParamsEdited* pedited)
Gshape->setUnChanged (!pedited->rgbCurves.gcurve);
Bshape->setUnChanged (!pedited->rgbCurves.bcurve);
lumamode->set_inconsistent (!pedited->rgbCurves.lumamode);
+ set_inconsistent(multiImage && !pedited->rgbCurves.enabled);
}
lumamodeConn.block (true);
@@ -96,6 +97,8 @@ void RGBCurves::read (const ProcParams* pp, const ParamsEdited* pedited)
Gshape->setCurve (pp->rgbCurves.gcurve);
Bshape->setCurve (pp->rgbCurves.bcurve);
+ setEnabled(pp->rgbCurves.enabled);
+
enableListener ();
}
@@ -122,13 +125,14 @@ void RGBCurves::autoOpenCurve ()
void RGBCurves::write (ProcParams* pp, ParamsEdited* pedited)
{
-
+ pp->rgbCurves.enabled = getEnabled();
pp->rgbCurves.rcurve = Rshape->getCurve ();
pp->rgbCurves.gcurve = Gshape->getCurve ();
pp->rgbCurves.bcurve = Bshape->getCurve ();
pp->rgbCurves.lumamode = lumamode->get_active();
if (pedited) {
+ pedited->rgbCurves.enabled = !get_inconsistent();
pedited->rgbCurves.rcurve = !Rshape->isUnChanged ();
pedited->rgbCurves.gcurve = !Gshape->isUnChanged ();
pedited->rgbCurves.bcurve = !Bshape->isUnChanged ();
@@ -146,7 +150,7 @@ void RGBCurves::write (ProcParams* pp, ParamsEdited* pedited)
void RGBCurves::curveChanged (CurveEditor* ce)
{
- if (listener) {
+ if (listener && getEnabled()) {
if (ce == Rshape) {
listener->panelChanged (EvRGBrCurve, M("HISTORY_CUSTOMCURVE"));
}
@@ -177,7 +181,7 @@ void RGBCurves::lumamodeChanged ()
lastLumamode = lumamode->get_active ();
}
- if (listener) {
+ if (listener && getEnabled()) {
if (lumamode->get_active ()) {
listener->panelChanged (EvRGBrCurveLumamode, M("GENERAL_ENABLED"));
} else {
@@ -202,3 +206,16 @@ void RGBCurves::updateCurveBackgroundHistogram (LUTu & histToneCurve, LUTu & his
// Bshape->updateBackgroundHistogram (histBlue);
}
+
+void RGBCurves::enabledChanged()
+{
+ if (listener) {
+ if (get_inconsistent()) {
+ listener->panelChanged(EvRGBEnabled, M("GENERAL_UNCHANGED"));
+ } else if (getEnabled()) {
+ listener->panelChanged(EvRGBEnabled, M("GENERAL_ENABLED"));
+ } else {
+ listener->panelChanged(EvRGBEnabled, M("GENERAL_DISABLED"));
+ }
+ }
+}
diff --git a/rtgui/rgbcurves.h b/rtgui/rgbcurves.h
index efca76422..dfcba71f9 100644
--- a/rtgui/rgbcurves.h
+++ b/rtgui/rgbcurves.h
@@ -53,6 +53,7 @@ public:
void curveChanged (CurveEditor* ce);
void updateCurveBackgroundHistogram (LUTu & histToneCurve, LUTu & histLCurve, LUTu & histCCurve, /*LUTu & histCLurve, LUTu & histLLCurve,*/ LUTu & histLCAM, LUTu & histCCAM, LUTu & histRed, LUTu & histGreen, LUTu & histBlue, LUTu & histLuma, LUTu & histLRETI);
void lumamodeChanged ();
+ void enabledChanged();
};
#endif
diff --git a/rtgui/whitebalance.cc b/rtgui/whitebalance.cc
index 7dbc02b4e..57d73b15f 100644
--- a/rtgui/whitebalance.cc
+++ b/rtgui/whitebalance.cc
@@ -147,7 +147,7 @@ static double wbTemp2Slider(double temp)
return sval;
}
-WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WBALANCE_LABEL")), wbp(nullptr), wblistener(nullptr)
+WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WBALANCE_LABEL"), false, true), wbp(nullptr), wblistener(nullptr)
{
Gtk::HBox* hbox = Gtk::manage (new Gtk::HBox ());
@@ -349,9 +349,23 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB
spotsize->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::spotSizeChanged) );
}
+
+void WhiteBalance::enabledChanged()
+{
+ if (listener) {
+ if (get_inconsistent()) {
+ listener->panelChanged(EvWBEnabled, M("GENERAL_UNCHANGED"));
+ } else if (getEnabled()) {
+ listener->panelChanged(EvWBEnabled, M("GENERAL_ENABLED"));
+ } else {
+ listener->panelChanged(EvWBEnabled, M("GENERAL_DISABLED"));
+ }
+ }
+}
+
+
void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
{
-
int tVal = (int)temp->getValue();
double gVal = green->getValue();
double eVal = equal->getValue();
@@ -400,7 +414,7 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
// Recomputing AutoWB if it's the current method will happen in improccoordinator.cc
- if (listener) {
+ if (listener && getEnabled()) {
if (a == temp) {
listener->panelChanged (EvWBTemp, Glib::ustring::format ((int)a->getValue()));
} else if (a == green) {
@@ -415,7 +429,6 @@ void WhiteBalance::adjusterChanged (Adjuster* a, double newval)
void WhiteBalance::optChanged ()
{
-
Gtk::TreeModel::Row row = getActiveMethod();
if (row == refTreeModel->children().end()) {
@@ -520,7 +533,7 @@ void WhiteBalance::optChanged ()
}
}
- if (listener) {
+ if (listener && getEnabled()) {
listener->panelChanged (EvWBMethod, row[methodColumns.colLabel]);
}
}
@@ -528,7 +541,6 @@ void WhiteBalance::optChanged ()
void WhiteBalance::spotPressed ()
{
-
if (wblistener) {
wblistener->spotWBRequested (getSize());
}
@@ -667,6 +679,11 @@ void WhiteBalance::read (const ProcParams* pp, const ParamsEdited* pedited)
tempBias->set_sensitive(wbValues.type == WBEntry::Type::AUTO);
}
+ setEnabled(pp->wb.enabled);
+ if (pedited) {
+ set_inconsistent(multiImage && !pedited->wb.enabled);
+ }
+
methconn.block (false);
enableListener ();
}
@@ -682,8 +699,11 @@ void WhiteBalance::write (ProcParams* pp, ParamsEdited* pedited)
pedited->wb.equal = equal->getEditedState ();
pedited->wb.tempBias = tempBias->getEditedState ();
pedited->wb.method = row[methodColumns.colLabel] != M("GENERAL_UNCHANGED");
+ pedited->wb.enabled = !get_inconsistent();
}
+ pp->wb.enabled = getEnabled();
+
const std::pair ppMethod = findWBEntry (row[methodColumns.colLabel], WBLT_GUI);
if (ppMethod.first) {
@@ -756,6 +776,7 @@ void WhiteBalance::setWB (int vtemp, double vgreen)
methconn.block(true);
const std::pair wbValues = findWBEntry("Custom", WBLT_PP);
+ setEnabled(true);
temp->setValue (vtemp);
green->setValue (vgreen);
opt = setActiveMethod(wbValues.second.GUILabel);
@@ -876,6 +897,7 @@ void WhiteBalance::WBChanged(double temperature, double greenVal)
{
GThreadLock lock;
disableListener();
+ setEnabled(true);
temp->setValue(temperature);
green->setValue(greenVal);
temp->setDefault(temperature);
diff --git a/rtgui/whitebalance.h b/rtgui/whitebalance.h
index d1fafcea3..ecf65f476 100644
--- a/rtgui/whitebalance.h
+++ b/rtgui/whitebalance.h
@@ -119,6 +119,7 @@ public:
void setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd);
void trimValues (rtengine::procparams::ProcParams* pp);
+ void enabledChanged();
};
#endif