Merge with branch 'dev/newlocallab'...
This commit is contained in:
commit
8c90b560d7
@ -1358,6 +1358,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1442,6 +1443,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
|
|||||||
!MAIN_MSG_WRITEFAILED;Failed to write\n<b>"%1"</b>\n\nMake sure that the folder exists and that you have write permission to it.
|
!MAIN_MSG_WRITEFAILED;Failed to write\n<b>"%1"</b>\n\nMake sure that the folder exists and that you have write permission to it.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
@ -2132,6 +2135,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: <b>-</b>
|
|||||||
!TP_RGBCURVES_LUMAMODE_TOOLTIP;<b>Luminosity mode</b> allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image color.
|
!TP_RGBCURVES_LUMAMODE_TOOLTIP;<b>Luminosity mode</b> allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image color.
|
||||||
!TP_SAVEDIALOG_OK_TIP;Shortcut: <b>Ctrl-Enter</b>
|
!TP_SAVEDIALOG_OK_TIP;Shortcut: <b>Ctrl-Enter</b>
|
||||||
!TP_SHADOWSHLIGHTS_SHARPMASK;Sharp mask
|
!TP_SHADOWSHLIGHTS_SHARPMASK;Sharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -1429,6 +1429,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1511,6 +1512,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
|
|||||||
!MAIN_MSG_WRITEFAILED;Failed to write\n<b>"%1"</b>\n\nMake sure that the folder exists and that you have write permission to it.
|
!MAIN_MSG_WRITEFAILED;Failed to write\n<b>"%1"</b>\n\nMake sure that the folder exists and that you have write permission to it.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: <b>theme-based</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: <b>theme-based</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: <b>black</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: <b>black</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: <b>white</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: <b>white</b>\nShortcut: <b>9</b>
|
||||||
@ -2102,6 +2105,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_LABEL;Microcontrast
|
!TP_SHARPENMICRO_LABEL;Microcontrast
|
||||||
|
@ -1026,6 +1026,7 @@ TP_WBALANCE_TEMPERATURE;色溫
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1125,6 +1126,8 @@ TP_WBALANCE_TEMPERATURE;色溫
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2067,6 +2070,7 @@ TP_WBALANCE_TEMPERATURE;色溫
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -2344,3 +2344,11 @@ ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit celý obrázek obrazovce\nZkratka: <b>Alt<
|
|||||||
ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: <b>+</b>
|
ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: <b>+</b>
|
||||||
ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: <b>-</b>
|
ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: <b>-</b>
|
||||||
|
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
|
@ -1021,6 +1021,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1121,6 +1122,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2065,6 +2068,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -2408,3 +2408,11 @@ ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen.\nTaste: <b>Alt</b> + <b>f</b>
|
|||||||
ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: <b>+</b>
|
ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: <b>+</b>
|
||||||
ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: <b>-</b>
|
ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: <b>-</b>
|
||||||
|
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
|
@ -865,6 +865,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
|
|||||||
!HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations
|
!HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
|
!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength
|
||||||
@ -1002,6 +1003,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
|
|||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE;Exposure
|
!MAIN_TAB_EXPOSURE;Exposure
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_FILTER; Filter
|
!MAIN_TAB_FILTER; Filter
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_IPTC;IPTC
|
!MAIN_TAB_IPTC;IPTC
|
||||||
@ -2044,6 +2047,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
|
|||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
!TP_SHARPENING_AMOUNT;Amount
|
!TP_SHARPENING_AMOUNT;Amount
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENING_EDRADIUS;Radius
|
!TP_SHARPENING_EDRADIUS;Radius
|
||||||
!TP_SHARPENING_EDTOLERANCE;Edge tolerance
|
!TP_SHARPENING_EDTOLERANCE;Edge tolerance
|
||||||
|
@ -776,6 +776,7 @@
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -915,6 +916,8 @@
|
|||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE;Exposure
|
!MAIN_TAB_EXPOSURE;Exposure
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_FILTER; Filter
|
!MAIN_TAB_FILTER; Filter
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_IPTC;IPTC
|
!MAIN_TAB_IPTC;IPTC
|
||||||
@ -2034,6 +2037,7 @@
|
|||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
!TP_SHARPENING_AMOUNT;Amount
|
!TP_SHARPENING_AMOUNT;Amount
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENING_EDRADIUS;Radius
|
!TP_SHARPENING_EDRADIUS;Radius
|
||||||
!TP_SHARPENING_EDTOLERANCE;Edge tolerance
|
!TP_SHARPENING_EDTOLERANCE;Edge tolerance
|
||||||
|
@ -2459,3 +2459,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: <b>-</b>
|
|||||||
!!!!!!!!!!!!!!!!!!!!!!!!!
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
!CURVEEDITOR_CATMULLROM;Flexible
|
!CURVEEDITOR_CATMULLROM;Flexible
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
|
@ -1022,6 +1022,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1122,6 +1123,8 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2066,6 +2069,7 @@ TP_WBALANCE_TEMPERATURE;Tenperatura
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -2333,3 +2333,11 @@ ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: <b>Alt</b>-<b>f</b>
|
|||||||
ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: <b>+</b>
|
ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: <b>+</b>
|
||||||
ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: <b>-</b>
|
ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: <b>-</b>
|
||||||
|
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
|
@ -1021,6 +1021,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1121,6 +1122,8 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2065,6 +2068,7 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -1022,6 +1022,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1122,6 +1123,8 @@ TP_WBALANCE_TEMPERATURE;מידת חום
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2066,6 +2069,7 @@ TP_WBALANCE_TEMPERATURE;מידת חום
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -1605,6 +1605,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1681,6 +1682,8 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
@ -2141,6 +2144,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -2337,3 +2337,11 @@ ZOOMPANEL_ZOOMFITSCREEN;画像全体を画面に合わせる\nショートカッ
|
|||||||
ZOOMPANEL_ZOOMIN;ズームイン\nショートカット: <b>+</b>
|
ZOOMPANEL_ZOOMIN;ズームイン\nショートカット: <b>+</b>
|
||||||
ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
|
ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: <b>-</b>
|
||||||
|
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
! Untranslated keys follow; remove the ! prefix after an entry is translated.
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
|
@ -1022,6 +1022,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1122,6 +1123,8 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2066,6 +2069,7 @@ TP_WBALANCE_TEMPERATURE;Temperatūra
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -1291,6 +1291,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1375,6 +1376,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
|
|||||||
!MAIN_MSG_WRITEFAILED;Failed to write\n<b>"%1"</b>\n\nMake sure that the folder exists and that you have write permission to it.
|
!MAIN_MSG_WRITEFAILED;Failed to write\n<b>"%1"</b>\n\nMake sure that the folder exists and that you have write permission to it.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: <b>theme-based</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: <b>theme-based</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: <b>black</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: <b>black</b>\nShortcut: <b>9</b>
|
||||||
@ -2124,6 +2127,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés <b>-</b>
|
|||||||
!TP_RGBCURVES_LUMAMODE_TOOLTIP;<b>Luminosity mode</b> allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image color.
|
!TP_RGBCURVES_LUMAMODE_TOOLTIP;<b>Luminosity mode</b> allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image color.
|
||||||
!TP_SAVEDIALOG_OK_TIP;Shortcut: <b>Ctrl-Enter</b>
|
!TP_SAVEDIALOG_OK_TIP;Shortcut: <b>Ctrl-Enter</b>
|
||||||
!TP_SHADOWSHLIGHTS_SHARPMASK;Sharp mask
|
!TP_SHADOWSHLIGHTS_SHARPMASK;Sharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -2135,6 +2135,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -2185,6 +2186,8 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
!OPTIONS_BUNDLED_MISSING;The bundled profile "<b>%1</b>" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
|
!OPTIONS_BUNDLED_MISSING;The bundled profile "<b>%1</b>" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
|
||||||
@ -2343,6 +2346,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: <b>-</b>
|
|||||||
!TP_RETINEX_GAINTRANSMISSION;Gain transmission
|
!TP_RETINEX_GAINTRANSMISSION;Gain transmission
|
||||||
!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain.
|
!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain.
|
||||||
!TP_RETINEX_MAP;Method
|
!TP_RETINEX_MAP;Method
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -1021,6 +1021,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1121,6 +1122,8 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2065,6 +2068,7 @@ TP_WBALANCE_TEMPERATURE;Temperatur
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -1687,6 +1687,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1763,6 +1764,8 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
@ -2147,6 +2150,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -1687,6 +1687,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1763,6 +1764,8 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
@ -2147,6 +2150,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -2248,8 +2248,11 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: <b>-</b>
|
|||||||
!HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries
|
!HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries
|
||||||
!HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations
|
!HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations
|
||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description
|
!ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!PARTIALPASTE_DEHAZE;Haze removal
|
!PARTIALPASTE_DEHAZE;Haze removal
|
||||||
!PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift
|
!PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift
|
||||||
!PREFERENCES_APPEARANCE;Appearance
|
!PREFERENCES_APPEARANCE;Appearance
|
||||||
@ -2313,5 +2316,6 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: <b>-</b>
|
|||||||
!TP_RETINEX_CONTEDIT_MAP;Equalizer
|
!TP_RETINEX_CONTEDIT_MAP;Equalizer
|
||||||
!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain.
|
!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain.
|
||||||
!TP_RETINEX_MAP;Method
|
!TP_RETINEX_MAP;Method
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_TM_FATTAL_THRESHOLD;Detail
|
!TP_TM_FATTAL_THRESHOLD;Detail
|
||||||
!TP_WBALANCE_PICKER;Pick
|
!TP_WBALANCE_PICKER;Pick
|
||||||
|
@ -1770,6 +1770,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!ICCPROFCREATOR_COPYRIGHT;Copyright:
|
!ICCPROFCREATOR_COPYRIGHT;Copyright:
|
||||||
@ -1814,6 +1815,8 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: <b>-</b>
|
|||||||
!IPTCPANEL_TRANSREFERENCEHINT;Enter a number or identifier needed for workflow control or tracking.
|
!IPTCPANEL_TRANSREFERENCEHINT;Enter a number or identifier needed for workflow control or tracking.
|
||||||
!MAIN_BUTTON_ICCPROFCREATOR;ICC Profile Creator
|
!MAIN_BUTTON_ICCPROFCREATOR;ICC Profile Creator
|
||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
!MONITOR_PROFILE_SYSTEM;System default
|
!MONITOR_PROFILE_SYSTEM;System default
|
||||||
@ -2158,6 +2161,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_WAVELET_1;Level 1
|
!TP_WAVELET_1;Level 1
|
||||||
!TP_WAVELET_2;Level 2
|
!TP_WAVELET_2;Level 2
|
||||||
!TP_WAVELET_3;Level 3
|
!TP_WAVELET_3;Level 3
|
||||||
|
@ -1581,6 +1581,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1656,6 +1657,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
@ -2142,6 +2145,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -1581,6 +1581,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1656,6 +1657,8 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
@ -2142,6 +2145,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike <b>-</b>
|
|||||||
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
!TP_RETINEX_VIEW_TRAN;Transmission - Auto
|
||||||
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
!TP_RETINEX_VIEW_TRAN2;Transmission - Fixed
|
||||||
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
!TP_RETINEX_VIEW_UNSHARP;Unsharp mask
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -1083,6 +1083,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1177,6 +1178,8 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2075,6 +2078,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť <b>-</b>
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -1023,6 +1023,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1123,6 +1124,8 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2066,6 +2069,7 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K]
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -1940,6 +1940,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -2015,6 +2016,8 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
|
|||||||
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue.
|
||||||
!MAIN_TAB_ADVANCED;Advanced
|
!MAIN_TAB_ADVANCED;Advanced
|
||||||
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: <b>middle grey</b>\nShortcut: <b>9</b>
|
||||||
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
!MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the <b>sharpening contrast mask</b>.\nShortcut: <b>p</b>\n\nOnly works when sharpening is enabled and zoom >= 100%.
|
||||||
!OPTIONS_BUNDLED_MISSING;The bundled profile "<b>%1</b>" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
|
!OPTIONS_BUNDLED_MISSING;The bundled profile "<b>%1</b>" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
|
||||||
@ -2271,6 +2274,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: <b>-</b>
|
|||||||
!TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction.
|
!TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction.
|
||||||
!TP_RETINEX_VIEW_MASK;Mask
|
!TP_RETINEX_VIEW_MASK;Mask
|
||||||
!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible.
|
!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible.
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
!TP_SOFTLIGHT_LABEL;Soft Light
|
!TP_SOFTLIGHT_LABEL;Soft Light
|
||||||
|
@ -1022,6 +1022,7 @@ TP_WBALANCE_TEMPERATURE;Isı
|
|||||||
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
!HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift
|
||||||
!HISTORY_MSG_RAW_BORDER;Raw border
|
!HISTORY_MSG_RAW_BORDER;Raw border
|
||||||
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
!HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling
|
||||||
|
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
|
||||||
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
!HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold
|
||||||
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
!HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace
|
||||||
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light
|
||||||
@ -1122,6 +1123,8 @@ TP_WBALANCE_TEMPERATURE;Isı
|
|||||||
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
!MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
!MAIN_TAB_EXPORT; Fast Export
|
!MAIN_TAB_EXPORT; Fast Export
|
||||||
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
!MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
!MAIN_TAB_FAVORITES;Favorites
|
||||||
|
!MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
!MAIN_TAB_INSPECT; Inspect
|
!MAIN_TAB_INSPECT; Inspect
|
||||||
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
!MAIN_TAB_METADATA_TOOLTIP;Shortcut: <b>Alt-m</b>
|
||||||
!MAIN_TAB_RAW;Raw
|
!MAIN_TAB_RAW;Raw
|
||||||
@ -2065,6 +2068,7 @@ TP_WBALANCE_TEMPERATURE;Isı
|
|||||||
!TP_SHARPENEDGE_LABEL;Edges
|
!TP_SHARPENEDGE_LABEL;Edges
|
||||||
!TP_SHARPENEDGE_PASSES;Iterations
|
!TP_SHARPENEDGE_PASSES;Iterations
|
||||||
!TP_SHARPENEDGE_THREE;Luminance only
|
!TP_SHARPENEDGE_THREE;Luminance only
|
||||||
|
!TP_SHARPENING_BLUR;Blur radius
|
||||||
!TP_SHARPENING_CONTRAST;Contrast threshold
|
!TP_SHARPENING_CONTRAST;Contrast threshold
|
||||||
!TP_SHARPENMICRO_AMOUNT;Quantity
|
!TP_SHARPENMICRO_AMOUNT;Quantity
|
||||||
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
!TP_SHARPENMICRO_CONTRAST;Contrast threshold
|
||||||
|
@ -864,8 +864,14 @@ HISTORY_MSG_608;Local - Color Mask L
|
|||||||
HISTORY_MSG_609;Local - Exp Mask C
|
HISTORY_MSG_609;Local - Exp Mask C
|
||||||
HISTORY_MSG_610;Local - Exp Mask L
|
HISTORY_MSG_610;Local - Exp Mask L
|
||||||
HISTORY_MSG_611;Local - Color Mask H
|
HISTORY_MSG_611;Local - Color Mask H
|
||||||
HISTORY_MSG_612;Local - Use Color Mask
|
HISTORY_MSG_612;Local - Color Structure
|
||||||
HISTORY_MSG_613;Local - Use Exp Mask
|
HISTORY_MSG_613;Local - Exp Structure
|
||||||
|
HISTORY_MSG_614;Local - Exp Mask H
|
||||||
|
HISTORY_MSG_615;Local - Blend color
|
||||||
|
HISTORY_MSG_616;Local - Blend Exp
|
||||||
|
HISTORY_MSG_617;Local - Blur Exp
|
||||||
|
HISTORY_MSG_618;Local - Use Color Mask
|
||||||
|
HISTORY_MSG_619;Local - Use Exp Mask
|
||||||
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
||||||
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
||||||
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
||||||
@ -1042,8 +1048,6 @@ MAIN_TAB_ADVANCED;Advanced
|
|||||||
MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: <b>Alt-w</b>
|
||||||
MAIN_TAB_COLOR;Color
|
MAIN_TAB_COLOR;Color
|
||||||
MAIN_TAB_COLOR_TOOLTIP;Shortcut: <b>Alt-c</b>
|
MAIN_TAB_COLOR_TOOLTIP;Shortcut: <b>Alt-c</b>
|
||||||
MAIN_TAB_FAVORITES;Favorites
|
|
||||||
MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
|
||||||
MAIN_TAB_DETAIL;Detail
|
MAIN_TAB_DETAIL;Detail
|
||||||
MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
MAIN_TAB_DETAIL_TOOLTIP;Shortcut: <b>Alt-d</b>
|
||||||
MAIN_TAB_DEVELOP; Batch Edit
|
MAIN_TAB_DEVELOP; Batch Edit
|
||||||
@ -1051,6 +1055,8 @@ MAIN_TAB_EXIF;Exif
|
|||||||
MAIN_TAB_EXPORT; Fast Export
|
MAIN_TAB_EXPORT; Fast Export
|
||||||
MAIN_TAB_EXPOSURE;Exposure
|
MAIN_TAB_EXPOSURE;Exposure
|
||||||
MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
MAIN_TAB_EXPOSURE_TOOLTIP;Shortcut: <b>Alt-e</b>
|
||||||
|
MAIN_TAB_FAVORITES;Favorites
|
||||||
|
MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: <b>Alt-u</b>
|
||||||
MAIN_TAB_FILTER; Filter
|
MAIN_TAB_FILTER; Filter
|
||||||
MAIN_TAB_INSPECT; Inspect
|
MAIN_TAB_INSPECT; Inspect
|
||||||
MAIN_TAB_IPTC;IPTC
|
MAIN_TAB_IPTC;IPTC
|
||||||
@ -1934,8 +1940,10 @@ TP_LOCALLAB_ARTIF;Reduce artifacts - Improve algoritm
|
|||||||
TP_LOCALLAB_ARTIF_TOOLTIP;Only active for Color-light, Exposure, Retinex, Vibrance, ToneMapping, CBDL.
|
TP_LOCALLAB_ARTIF_TOOLTIP;Only active for Color-light, Exposure, Retinex, Vibrance, ToneMapping, CBDL.
|
||||||
TP_LOCALLAB_AVOID;Avoid color shift
|
TP_LOCALLAB_AVOID;Avoid color shift
|
||||||
TP_LOCALLAB_BILATERAL;Bilateral filter
|
TP_LOCALLAB_BILATERAL;Bilateral filter
|
||||||
|
TP_LOCALLAB_BLENDMASKCOL;Blend
|
||||||
TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direct blur and noise with all settings.\nInverse - Inverse blur and noise without scope and whithout enhanced algorithm.\nSymmetric - inverse blur and noise with all settings. Be careful some results may be curious
|
TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direct blur and noise with all settings.\nInverse - Inverse blur and noise without scope and whithout enhanced algorithm.\nSymmetric - inverse blur and noise with all settings. Be careful some results may be curious
|
||||||
TP_LOCALLAB_BLUFR;Blur & Noise
|
TP_LOCALLAB_BLUFR;Blur & Noise
|
||||||
|
TP_LOCALLAB_BLURDE;Blur Shape detection
|
||||||
TP_LOCALLAB_BLNORM;Normal
|
TP_LOCALLAB_BLNORM;Normal
|
||||||
TP_LOCALLAB_BLINV;Inverse
|
TP_LOCALLAB_BLINV;Inverse
|
||||||
TP_LOCALLAB_BLSYM;Symmetric
|
TP_LOCALLAB_BLSYM;Symmetric
|
||||||
@ -2038,10 +2046,12 @@ TP_LOCALLAB_SHOWMNONE;None
|
|||||||
TP_LOCALLAB_SHOWMODIF;Show modifications whithout mask
|
TP_LOCALLAB_SHOWMODIF;Show modifications whithout mask
|
||||||
TP_LOCALLAB_SHOWMODIFMASK;Show modifications whith mask
|
TP_LOCALLAB_SHOWMODIFMASK;Show modifications whith mask
|
||||||
TP_LOCALLAB_SHOWMASK;Show mask
|
TP_LOCALLAB_SHOWMASK;Show mask
|
||||||
|
TP_LOCALLAB_SHOWSTRUC;Show structure
|
||||||
TP_LOCALLAB_USEMASK;Use mask
|
TP_LOCALLAB_USEMASK;Use mask
|
||||||
TP_LOCALLAB_SOFT;Soft Light
|
TP_LOCALLAB_SOFT;Soft Light
|
||||||
TP_LOCALLAB_STRENG;Strength
|
TP_LOCALLAB_STRENG;Strength
|
||||||
TP_LOCALLAB_STRENGTH;Noise
|
TP_LOCALLAB_STRENGTH;Noise
|
||||||
|
TP_LOCALLAB_STRUCCOL;Structure
|
||||||
TP_LOCALLAB_STYPE;Shape method
|
TP_LOCALLAB_STYPE;Shape method
|
||||||
TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent.
|
TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent.
|
||||||
TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders)
|
TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders)
|
||||||
|
@ -1054,8 +1054,8 @@ void CurveFactory::complexCurve(double ecomp, double black, double hlcompr, doub
|
|||||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
void CurveFactory::complexCurvelocal(double ecomp, double black, double hlcompr, double hlcomprthresh,
|
void CurveFactory::complexCurvelocal(double ecomp, double black, double hlcompr, double hlcomprthresh,
|
||||||
double shcompr, double br, double cont, LUTu & histogram,
|
double shcompr, double br, double cont, LUTu & histogram, double lumare,
|
||||||
LUTf & hlCurve, LUTf & shCurve, LUTf & outCurve, LUTf & lightCurveloc,
|
LUTf & hlCurve, LUTf & shCurve, LUTf & outCurve, LUTf & lightCurveloc, float avg,
|
||||||
int skip)
|
int skip)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -1124,19 +1124,22 @@ void CurveFactory::complexCurvelocal(double ecomp, double black, double hlcompr,
|
|||||||
if (cont > 0.00001 || cont < -0.00001) {
|
if (cont > 0.00001 || cont < -0.00001) {
|
||||||
|
|
||||||
// compute mean luminance of the image with the curve applied
|
// compute mean luminance of the image with the curve applied
|
||||||
int sum = 0;
|
// int sum = 0;
|
||||||
float avg = 0;
|
// float avg = 0;
|
||||||
|
|
||||||
for (int i = 0; i < 32768; i++) {
|
// for (int i = 0; i < 32768; i++) {
|
||||||
avg += lightCurveloc[i] * histogram[i];
|
// avg += lightCurveloc[i] * histogram[i];
|
||||||
sum += histogram[i];
|
// sum += histogram[i];
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
int k = avg * 32768;
|
||||||
|
avg = lightCurveloc[k];
|
||||||
|
// printf("avg=%f lumaref=%f\n", avg, lumare/100.f);
|
||||||
std::vector<double> contrastcurvePoints;
|
std::vector<double> contrastcurvePoints;
|
||||||
|
bool lumm = true;
|
||||||
if (sum) {
|
if (lumm) {
|
||||||
avg /= sum;
|
// avg /= sum;
|
||||||
|
// avg = lumare / 100.f;
|
||||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
contrastcurvePoints.resize(9);
|
contrastcurvePoints.resize(9);
|
||||||
contrastcurvePoints.at(0) = double (DCT_NURBS);
|
contrastcurvePoints.at(0) = double (DCT_NURBS);
|
||||||
@ -1570,6 +1573,55 @@ void LocretigainCurverab::Set(const std::vector<double> &curvePoints)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LocHHmaskexpCurve::LocHHmaskexpCurve() : sum(0.f) {};
|
||||||
|
|
||||||
|
void LocHHmaskexpCurve::Reset()
|
||||||
|
{
|
||||||
|
lutLocHHmaskexpCurve.reset();
|
||||||
|
sum = 0.f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LocHHmaskexpCurve::Set(const Curve &pCurve)
|
||||||
|
{
|
||||||
|
if (pCurve.isIdentity()) {
|
||||||
|
Reset(); // raise this value if the quality suffers from this number of samples
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lutLocHHmaskexpCurve(501); // raise this value if the quality suffers from this number of samples
|
||||||
|
sum = 0.f;
|
||||||
|
|
||||||
|
for (int i = 0; i < 501; i++) {
|
||||||
|
lutLocHHmaskexpCurve[i] = pCurve.getVal(double (i) / 500.);
|
||||||
|
|
||||||
|
if (lutLocHHmaskexpCurve[i] < 0.02f) {
|
||||||
|
lutLocHHmaskexpCurve[i] = 0.02f;
|
||||||
|
}
|
||||||
|
|
||||||
|
sum += lutLocHHmaskexpCurve[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
//lutLocHHCurve.dump("wav");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void LocHHmaskexpCurve::Set(const std::vector<double> &curvePoints, bool & lhmasexputili)
|
||||||
|
{
|
||||||
|
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
|
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
|
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
||||||
|
ttcurve.setIdentityValue(0.);
|
||||||
|
lhmasexputili = true;
|
||||||
|
Set(ttcurve);
|
||||||
|
} else {
|
||||||
|
Reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LocLLmaskexpCurve::LocLLmaskexpCurve() : sum(0.f) {};
|
LocLLmaskexpCurve::LocLLmaskexpCurve() : sum(0.f) {};
|
||||||
|
|
||||||
void LocLLmaskexpCurve::Reset()
|
void LocLLmaskexpCurve::Reset()
|
||||||
@ -1603,12 +1655,13 @@ void LocLLmaskexpCurve::Set(const Curve &pCurve)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void LocLLmaskexpCurve::Set(const std::vector<double> &curvePoints)
|
void LocLLmaskexpCurve::Set(const std::vector<double> &curvePoints, bool & llmasexputili)
|
||||||
{
|
{
|
||||||
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
||||||
ttcurve.setIdentityValue(0.);
|
ttcurve.setIdentityValue(0.);
|
||||||
|
llmasexputili = true;
|
||||||
Set(ttcurve);
|
Set(ttcurve);
|
||||||
} else {
|
} else {
|
||||||
Reset();
|
Reset();
|
||||||
@ -1651,12 +1704,13 @@ void LocCCmaskexpCurve::Set(const Curve &pCurve)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void LocCCmaskexpCurve::Set(const std::vector<double> &curvePoints)
|
void LocCCmaskexpCurve::Set(const std::vector<double> &curvePoints, bool & lcmasexputili)
|
||||||
{
|
{
|
||||||
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
||||||
ttcurve.setIdentityValue(0.);
|
ttcurve.setIdentityValue(0.);
|
||||||
|
lcmasexputili = true;
|
||||||
Set(ttcurve);
|
Set(ttcurve);
|
||||||
} else {
|
} else {
|
||||||
Reset();
|
Reset();
|
||||||
@ -1697,12 +1751,13 @@ void LocHHmaskCurve::Set(const Curve &pCurve)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void LocHHmaskCurve::Set(const std::vector<double> &curvePoints)
|
void LocHHmaskCurve::Set(const std::vector<double> &curvePoints, bool & lhmasutili)
|
||||||
{
|
{
|
||||||
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
||||||
ttcurve.setIdentityValue(0.);
|
ttcurve.setIdentityValue(0.);
|
||||||
|
lhmasutili = true;
|
||||||
Set(ttcurve);
|
Set(ttcurve);
|
||||||
} else {
|
} else {
|
||||||
Reset();
|
Reset();
|
||||||
@ -1746,12 +1801,13 @@ void LocCCmaskCurve::Set(const Curve &pCurve)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void LocCCmaskCurve::Set(const std::vector<double> &curvePoints)
|
void LocCCmaskCurve::Set(const std::vector<double> &curvePoints, bool & lcmasutili)
|
||||||
{
|
{
|
||||||
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
||||||
ttcurve.setIdentityValue(0.);
|
ttcurve.setIdentityValue(0.);
|
||||||
|
lcmasutili = true;
|
||||||
Set(ttcurve);
|
Set(ttcurve);
|
||||||
} else {
|
} else {
|
||||||
Reset();
|
Reset();
|
||||||
@ -1791,12 +1847,13 @@ void LocLLmaskCurve::Set(const Curve &pCurve)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void LocLLmaskCurve::Set(const std::vector<double> &curvePoints)
|
void LocLLmaskCurve::Set(const std::vector<double> &curvePoints, bool & llmasutili)
|
||||||
{
|
{
|
||||||
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
// if (HHutili && !curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
if (!curvePoints.empty() && curvePoints[0] > FCT_Linear && curvePoints[0] < FCT_Unchanged) {
|
||||||
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
FlatCurve ttcurve(curvePoints, false, CURVES_MIN_POLY_POINTS / 2);
|
||||||
ttcurve.setIdentityValue(0.);
|
ttcurve.setIdentityValue(0.);
|
||||||
|
llmasutili = true;
|
||||||
Set(ttcurve);
|
Set(ttcurve);
|
||||||
} else {
|
} else {
|
||||||
Reset();
|
Reset();
|
||||||
|
@ -345,8 +345,8 @@ public:
|
|||||||
|
|
||||||
int skip = 1);
|
int skip = 1);
|
||||||
|
|
||||||
static void complexCurvelocal(double ecomp, double black, double hlcompr, double hlcomprthresh, double shcompr, double br, double cont, LUTu & histogram,
|
static void complexCurvelocal(double ecomp, double black, double hlcompr, double hlcomprthresh, double shcompr, double br, double cont, LUTu & histogram, double lumare,
|
||||||
LUTf & hlCurve, LUTf & shCurve, LUTf & outCurve, LUTf & lightCurveloc,
|
LUTf & hlCurve, LUTf & shCurve, LUTf & outCurve, LUTf & lightCurveloc, float avg,
|
||||||
int skip = 1);
|
int skip = 1);
|
||||||
|
|
||||||
static void curveBW(const std::vector<double>& curvePointsbw, const std::vector<double>& curvePointsbw2, const LUTu & histogrambw, LUTu & outBeforeCCurveHistogrambw,
|
static void curveBW(const std::vector<double>& curvePointsbw, const std::vector<double>& curvePointsbw2, const LUTu & histogrambw, LUTu & outBeforeCCurveHistogrambw,
|
||||||
@ -632,6 +632,35 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class LocHHmaskexpCurve
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
LUTf lutLocHHmaskexpCurve; // 0xffff range
|
||||||
|
void Set(const Curve &pCurve);
|
||||||
|
|
||||||
|
public:
|
||||||
|
float sum;
|
||||||
|
|
||||||
|
virtual ~LocHHmaskexpCurve() {};
|
||||||
|
LocHHmaskexpCurve();
|
||||||
|
void Reset();
|
||||||
|
void Set(const std::vector<double> &curvePoints, bool & lhmasexputili);
|
||||||
|
float getSum() const
|
||||||
|
{
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
float operator[](float index) const
|
||||||
|
{
|
||||||
|
return lutLocHHmaskexpCurve[index];
|
||||||
|
}
|
||||||
|
operator bool (void) const
|
||||||
|
{
|
||||||
|
return lutLocHHmaskexpCurve;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class LocCCmaskexpCurve
|
class LocCCmaskexpCurve
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@ -644,7 +673,7 @@ public:
|
|||||||
virtual ~LocCCmaskexpCurve() {};
|
virtual ~LocCCmaskexpCurve() {};
|
||||||
LocCCmaskexpCurve();
|
LocCCmaskexpCurve();
|
||||||
void Reset();
|
void Reset();
|
||||||
void Set(const std::vector<double> &curvePoints);
|
void Set(const std::vector<double> &curvePoints, bool & lcmasexputili);
|
||||||
float getSum() const
|
float getSum() const
|
||||||
{
|
{
|
||||||
return sum;
|
return sum;
|
||||||
@ -672,7 +701,7 @@ public:
|
|||||||
virtual ~LocLLmaskexpCurve() {};
|
virtual ~LocLLmaskexpCurve() {};
|
||||||
LocLLmaskexpCurve();
|
LocLLmaskexpCurve();
|
||||||
void Reset();
|
void Reset();
|
||||||
void Set(const std::vector<double> &curvePoints);
|
void Set(const std::vector<double> &curvePoints, bool & llmasexputili);
|
||||||
float getSum() const
|
float getSum() const
|
||||||
{
|
{
|
||||||
return sum;
|
return sum;
|
||||||
@ -700,7 +729,7 @@ public:
|
|||||||
virtual ~LocHHmaskCurve() {};
|
virtual ~LocHHmaskCurve() {};
|
||||||
LocHHmaskCurve();
|
LocHHmaskCurve();
|
||||||
void Reset();
|
void Reset();
|
||||||
void Set(const std::vector<double> &curvePoints);
|
void Set(const std::vector<double> &curvePoints, bool & lhmasutili);
|
||||||
float getSum() const
|
float getSum() const
|
||||||
{
|
{
|
||||||
return sum;
|
return sum;
|
||||||
@ -729,7 +758,7 @@ public:
|
|||||||
virtual ~LocCCmaskCurve() {};
|
virtual ~LocCCmaskCurve() {};
|
||||||
LocCCmaskCurve();
|
LocCCmaskCurve();
|
||||||
void Reset();
|
void Reset();
|
||||||
void Set(const std::vector<double> &curvePoints);
|
void Set(const std::vector<double> &curvePoints, bool & lcmasutili);
|
||||||
float getSum() const
|
float getSum() const
|
||||||
{
|
{
|
||||||
return sum;
|
return sum;
|
||||||
@ -757,7 +786,7 @@ public:
|
|||||||
virtual ~LocLLmaskCurve() {};
|
virtual ~LocLLmaskCurve() {};
|
||||||
LocLLmaskCurve();
|
LocLLmaskCurve();
|
||||||
void Reset();
|
void Reset();
|
||||||
void Set(const std::vector<double> &curvePoints);
|
void Set(const std::vector<double> &curvePoints, bool & llmasutili);
|
||||||
float getSum() const
|
float getSum() const
|
||||||
{
|
{
|
||||||
return sum;
|
return sum;
|
||||||
|
@ -895,6 +895,14 @@ void Crop::update(int todo)
|
|||||||
LUTu lhist16loc2(32770, 0);
|
LUTu lhist16loc2(32770, 0);
|
||||||
bool LHutili = parent->LHutili;
|
bool LHutili = parent->LHutili;
|
||||||
bool HHutili = parent->HHutili;
|
bool HHutili = parent->HHutili;
|
||||||
|
bool llmasutili = parent->llmasutili;
|
||||||
|
bool lhmasutili = parent->lhmasutili;
|
||||||
|
bool lcmasutili = parent->lcmasutili;
|
||||||
|
bool lhmasexputili = parent->lhmasexputili;
|
||||||
|
bool lcmasexputili = parent->lcmasexputili;
|
||||||
|
bool llmasexputili = parent->llmasexputili;
|
||||||
|
|
||||||
|
float avg = parent->avg;
|
||||||
LUTu dummy;
|
LUTu dummy;
|
||||||
bool needslocal = params.locallab.enabled;
|
bool needslocal = params.locallab.enabled;
|
||||||
LocretigainCurve locRETgainCurve;
|
LocretigainCurve locRETgainCurve;
|
||||||
@ -905,6 +913,7 @@ void Crop::update(int todo)
|
|||||||
LocHHmaskCurve lochhmasCurve;
|
LocHHmaskCurve lochhmasCurve;
|
||||||
LocCCmaskexpCurve locccmasexpCurve;
|
LocCCmaskexpCurve locccmasexpCurve;
|
||||||
LocLLmaskexpCurve locllmasexpCurve;
|
LocLLmaskexpCurve locllmasexpCurve;
|
||||||
|
LocHHmaskexpCurve lochhmasexpCurve;
|
||||||
|
|
||||||
LocretigainCurverab locRETgainCurverab;
|
LocretigainCurverab locRETgainCurverab;
|
||||||
locallutili = false;
|
locallutili = false;
|
||||||
@ -918,11 +927,12 @@ void Crop::update(int todo)
|
|||||||
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
||||||
loclhCurve.Set(params.locallab.spots.at(sp).LHcurve, LHutili);
|
loclhCurve.Set(params.locallab.spots.at(sp).LHcurve, LHutili);
|
||||||
lochhCurve.Set(params.locallab.spots.at(sp).HHcurve, HHutili);
|
lochhCurve.Set(params.locallab.spots.at(sp).HHcurve, HHutili);
|
||||||
locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve);
|
locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve, lcmasutili);
|
||||||
locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve);
|
locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve, llmasutili);
|
||||||
lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve);
|
lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve, lhmasutili);
|
||||||
locccmasexpCurve.Set(params.locallab.spots.at(sp).CCmaskexpcurve);
|
locccmasexpCurve.Set(params.locallab.spots.at(sp).CCmaskexpcurve, lcmasexputili);
|
||||||
locllmasexpCurve.Set(params.locallab.spots.at(sp).LLmaskexpcurve);
|
locllmasexpCurve.Set(params.locallab.spots.at(sp).LLmaskexpcurve, llmasexputili);
|
||||||
|
lochhmasexpCurve.Set(params.locallab.spots.at(sp).HHmaskexpcurve, lhmasexputili);
|
||||||
locallutili = false;
|
locallutili = false;
|
||||||
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve2, sca);
|
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve2, sca);
|
||||||
localcutili = false;
|
localcutili = false;
|
||||||
@ -947,23 +957,32 @@ void Crop::update(int todo)
|
|||||||
chromare = parent->chromarefs[sp];
|
chromare = parent->chromarefs[sp];
|
||||||
lumare = parent->lumarefs[sp];
|
lumare = parent->lumarefs[sp];
|
||||||
sobelre = parent->sobelrefs[sp];
|
sobelre = parent->sobelrefs[sp];
|
||||||
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc2,
|
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc2, lumare,
|
||||||
hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2,
|
hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, avg,
|
||||||
sca);
|
sca);
|
||||||
|
|
||||||
// Locallab mask are only shown for selected spot
|
// Locallab mask are only shown for selected spot
|
||||||
if (sp == parent->params.locallab.selspot) {
|
if (sp == parent->params.locallab.selspot) {
|
||||||
parent->ipf.Lab_Local(1, sp, parent->sobelrefs, (float**)shbuffer, labnCrop, labnCrop, reservCrop, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, lllocalcurve2,
|
parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, lllocalcurve2,
|
||||||
loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve, LHutili, HHutili, cclocalcurve2, localskutili, sklocalcurve2, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, huere, chromare, lumare, sobelre, parent->locallColorMask, parent->locallExpMask);
|
loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, LHutili, HHutili, cclocalcurve2, localskutili, sklocalcurve2, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, huere, chromare, lumare, sobelre, parent->locallColorMask, parent->locallExpMask);
|
||||||
} else {
|
} else {
|
||||||
parent->ipf.Lab_Local(1, sp, parent->sobelrefs, (float**)shbuffer, labnCrop, labnCrop, reservCrop, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, lllocalcurve2,
|
parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, lllocalcurve2,
|
||||||
loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve, LHutili, HHutili, cclocalcurve2, localskutili, sklocalcurve2, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, huere, chromare, lumare, sobelre, 0, 0);
|
loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, LHutili, HHutili, cclocalcurve2, localskutili, sklocalcurve2, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, huere, chromare, lumare, sobelre, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
lllocalcurve2.clear();
|
lllocalcurve2.clear();
|
||||||
cclocalcurve2.clear();
|
cclocalcurve2.clear();
|
||||||
sklocalcurve2.clear();
|
sklocalcurve2.clear();
|
||||||
exlocalcurve2.clear();
|
exlocalcurve2.clear();
|
||||||
|
locRETgainCurve.Reset();
|
||||||
|
loclhCurve.Reset();
|
||||||
|
lochhCurve.Reset();
|
||||||
|
locccmasCurve.Reset();
|
||||||
|
locllmasCurve.Reset();
|
||||||
|
lochhmasCurve.Reset();
|
||||||
|
locllmasexpCurve.Reset();
|
||||||
|
locccmasexpCurve.Reset();
|
||||||
|
lochhmasexpCurve.Reset();
|
||||||
|
|
||||||
if (skip <= 2) {
|
if (skip <= 2) {
|
||||||
usleep(settings->cropsleep); //wait to avoid crash when crop 100% and move window
|
usleep(settings->cropsleep); //wait to avoid crash when crop 100% and move window
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include "jaggedarray.h"
|
||||||
|
|
||||||
#include "iccstore.h"
|
#include "iccstore.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@ -122,6 +123,7 @@ ImProcCoordinator::ImProcCoordinator()
|
|||||||
lastspotdup(false),
|
lastspotdup(false),
|
||||||
locallColorMask(0),
|
locallColorMask(0),
|
||||||
locallExpMask(0),
|
locallExpMask(0),
|
||||||
|
avg(0),
|
||||||
retistrsav(nullptr)
|
retistrsav(nullptr)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -774,6 +776,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
float **shbuffer = nullptr;
|
float **shbuffer = nullptr;
|
||||||
int sca = 1;
|
int sca = 1;
|
||||||
double huere, chromare, lumare, huerefblu, sobelre;
|
double huere, chromare, lumare, huerefblu, sobelre;
|
||||||
|
JaggedArray<float> blend(pW, pH);
|
||||||
|
|
||||||
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
|
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
|
||||||
// Set local curves of current spot to LUT
|
// Set local curves of current spot to LUT
|
||||||
@ -783,14 +786,21 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
localexutili = false;
|
localexutili = false;
|
||||||
localcutili = false;
|
localcutili = false;
|
||||||
localskutili = false;
|
localskutili = false;
|
||||||
|
llmasutili = false;
|
||||||
|
lcmasexputili = false;
|
||||||
|
lhmasexputili = false;
|
||||||
|
llmasexputili = false;
|
||||||
|
lhmasutili = false;
|
||||||
|
lcmasutili = false;
|
||||||
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
||||||
loclhCurve.Set(params.locallab.spots.at(sp).LHcurve, LHutili);
|
loclhCurve.Set(params.locallab.spots.at(sp).LHcurve, LHutili);
|
||||||
lochhCurve.Set(params.locallab.spots.at(sp).HHcurve, HHutili);
|
lochhCurve.Set(params.locallab.spots.at(sp).HHcurve, HHutili);
|
||||||
locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve);
|
locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve, lcmasutili);
|
||||||
locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve);
|
locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve, llmasutili);
|
||||||
lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve);
|
lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve, lhmasutili);
|
||||||
locllmasexpCurve.Set(params.locallab.spots.at(sp).LLmaskexpcurve);
|
locllmasexpCurve.Set(params.locallab.spots.at(sp).LLmaskexpcurve, llmasexputili);
|
||||||
locccmasexpCurve.Set(params.locallab.spots.at(sp).CCmaskexpcurve);
|
locccmasexpCurve.Set(params.locallab.spots.at(sp).CCmaskexpcurve, lcmasexputili);
|
||||||
|
lochhmasexpCurve.Set(params.locallab.spots.at(sp).HHmaskexpcurve, lhmasexputili);
|
||||||
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve, sca);
|
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve, sca);
|
||||||
CurveFactory::curveCCLocal(localcutili, params.locallab.spots.at(sp).cccurve, cclocalcurve, sca);
|
CurveFactory::curveCCLocal(localcutili, params.locallab.spots.at(sp).cccurve, cclocalcurve, sca);
|
||||||
CurveFactory::curveskLocal(localskutili, params.locallab.spots.at(sp).skintonescurve, sklocalcurve, sca);
|
CurveFactory::curveskLocal(localskutili, params.locallab.spots.at(sp).skintonescurve, sklocalcurve, sca);
|
||||||
@ -804,22 +814,22 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
double cont = params.locallab.spots.at(sp).contrast;
|
double cont = params.locallab.spots.at(sp).contrast;
|
||||||
lhist16loc.clear();
|
lhist16loc.clear();
|
||||||
|
|
||||||
|
|
||||||
// Reference parameters computation
|
// Reference parameters computation
|
||||||
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
||||||
ipf.calc_ref(sp, reserv, reserv, 0, 0, pW, pH, scale, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
|
ipf.calc_ref(sp, reserv, reserv, 0, 0, pW, pH, scale, huerefblu, huere, chromare, lumare, sobelre, lhist16loc, avg);
|
||||||
} else {
|
} else {
|
||||||
ipf.calc_ref(sp, nprevl, nprevl, 0, 0, pW, pH, scale, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
|
ipf.calc_ref(sp, nprevl, nprevl, 0, 0, pW, pH, scale, huerefblu, huere, chromare, lumare, sobelre, lhist16loc, avg);
|
||||||
}
|
}
|
||||||
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc,
|
|
||||||
hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc,
|
|
||||||
sca);
|
|
||||||
|
|
||||||
|
// printf("improc avg=%f\n", avg);
|
||||||
huerblu = huerefblurs[sp] = huerefblu;
|
huerblu = huerefblurs[sp] = huerefblu;
|
||||||
huer = huerefs[sp] = huere;
|
huer = huerefs[sp] = huere;
|
||||||
chromar = chromarefs[sp] = chromare;
|
chromar = chromarefs[sp] = chromare;
|
||||||
lumar = lumarefs[sp] = lumare ;
|
lumar = lumarefs[sp] = lumare ;
|
||||||
sobeler = sobelrefs[sp] = sobelre;
|
sobeler = sobelrefs[sp] = sobelre;
|
||||||
|
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc, lumar,
|
||||||
|
hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, avg,
|
||||||
|
sca);
|
||||||
|
|
||||||
if (locallListener) {
|
if (locallListener) {
|
||||||
locallListener->refChanged(huer, lumar, chromar);
|
locallListener->refChanged(huer, lumar, chromar);
|
||||||
@ -833,13 +843,28 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
*/
|
*/
|
||||||
// Locallab mask are only shown for selected spot
|
// Locallab mask are only shown for selected spot
|
||||||
if (sp == params.locallab.selspot) {
|
if (sp == params.locallab.selspot) {
|
||||||
ipf.Lab_Local(3, sp, sobelrefs, (float**)shbuffer, nprevl, nprevl, reserv, 0, 0, pW, pH, scale, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve,
|
ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv, 0, 0, pW, pH, scale, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, huer, chromar, lumar, sobeler, locallColorMask, locallExpMask);
|
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, huer, chromar, lumar, sobeler, locallColorMask, locallExpMask);
|
||||||
} else {
|
} else {
|
||||||
ipf.Lab_Local(3, sp, sobelrefs, (float**)shbuffer, nprevl, nprevl, reserv, 0, 0, pW, pH, scale, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve,
|
ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv, 0, 0, pW, pH, scale, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, huer, chromar, lumar, sobeler, 0, 0);
|
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerblu, huer, chromar, lumar, sobeler, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lllocalcurve.clear();
|
||||||
|
cclocalcurve.clear();
|
||||||
|
sklocalcurve.clear();
|
||||||
|
exlocalcurve.clear();
|
||||||
|
locRETgainCurve.Reset();
|
||||||
|
loclhCurve.Reset();
|
||||||
|
lochhCurve.Reset();
|
||||||
|
locccmasCurve.Reset();
|
||||||
|
locllmasCurve.Reset();
|
||||||
|
lochhmasCurve.Reset();
|
||||||
|
locllmasexpCurve.Reset();
|
||||||
|
locccmasexpCurve.Reset();
|
||||||
|
lochhmasexpCurve.Reset();
|
||||||
|
|
||||||
|
/*
|
||||||
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
||||||
ipf.calc_ref(sp, reserv, reserv, 0, 0, pW, pH, scale, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
|
ipf.calc_ref(sp, reserv, reserv, 0, 0, pW, pH, scale, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
|
||||||
} else {
|
} else {
|
||||||
@ -851,7 +876,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
cclocalcurve.clear();
|
cclocalcurve.clear();
|
||||||
sklocalcurve.clear();
|
sklocalcurve.clear();
|
||||||
exlocalcurve.clear();
|
exlocalcurve.clear();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
|
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
|
||||||
//update references after threatment
|
//update references after threatment
|
||||||
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
||||||
@ -864,7 +891,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
|
|||||||
chromar = chromarefs[sp] = chromare;
|
chromar = chromarefs[sp] = chromare;
|
||||||
lumar = lumarefs[sp] = lumare ;
|
lumar = lumarefs[sp] = lumare ;
|
||||||
sobeler = sobelrefs[sp] = sobelre;
|
sobeler = sobelrefs[sp] = sobelre;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
//*************************************************************
|
//*************************************************************
|
||||||
|
@ -240,11 +240,18 @@ protected:
|
|||||||
LocHHmaskCurve lochhmasCurve;
|
LocHHmaskCurve lochhmasCurve;
|
||||||
LocCCmaskexpCurve locccmasexpCurve;
|
LocCCmaskexpCurve locccmasexpCurve;
|
||||||
LocLLmaskexpCurve locllmasexpCurve;
|
LocLLmaskexpCurve locllmasexpCurve;
|
||||||
|
LocHHmaskexpCurve lochhmasexpCurve;
|
||||||
ProcParams nextParams2;
|
ProcParams nextParams2;
|
||||||
bool locallutili;
|
bool locallutili;
|
||||||
bool localcutili;
|
bool localcutili;
|
||||||
bool localskutili;
|
bool localskutili;
|
||||||
bool localexutili;
|
bool localexutili;
|
||||||
|
bool llmasutili;
|
||||||
|
bool lhmasutili;
|
||||||
|
bool lcmasutili;
|
||||||
|
bool lcmasexputili;
|
||||||
|
bool lhmasexputili;
|
||||||
|
bool llmasexputili;
|
||||||
bool LHutili;
|
bool LHutili;
|
||||||
bool HHutili;
|
bool HHutili;
|
||||||
LUTf huerefs;
|
LUTf huerefs;
|
||||||
@ -256,6 +263,7 @@ protected:
|
|||||||
bool lastspotdup;
|
bool lastspotdup;
|
||||||
int locallColorMask;
|
int locallColorMask;
|
||||||
int locallExpMask;
|
int locallExpMask;
|
||||||
|
float avg;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -286,10 +286,10 @@ public:
|
|||||||
//locallab
|
//locallab
|
||||||
void MSRLocal(int sp, float** luminance, float** templ, const float* const *originalLuminance, const int width, const int height, const LocallabParams &loc, const int skip, const LocretigainCurve &locRETgainCcurve, const int chrome, const int scall, const float krad, float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax);
|
void MSRLocal(int sp, float** luminance, float** templ, const float* const *originalLuminance, const int width, const int height, const LocallabParams &loc, const int skip, const LocretigainCurve &locRETgainCcurve, const int chrome, const int scall, const float krad, float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax);
|
||||||
// void calc_ref (LabImage* original, LabImage* transformed, int cx, int cy, int oW, int oH, int sk, double &huere, double &chromare, double &lumare, double &sobelref);
|
// void calc_ref (LabImage* original, LabImage* transformed, int cx, int cy, int oW, int oH, int sk, double &huere, double &chromare, double &lumare, double &sobelref);
|
||||||
void calc_ref(int sp, LabImage* original, LabImage* transformed, int cx, int cy, int oW, int oH, int sk, double &huerefblur, double &huere, double &chromare, double &lumare, double &sobelref, LUTu & histogram);
|
void calc_ref(int sp, LabImage* original, LabImage* transformed, int cx, int cy, int oW, int oH, int sk, double &huerefblur, double &huere, double &chromare, double &lumare, double &sobelref, LUTu & histogram, float &avg);
|
||||||
void copy_ref(LabImage* spotbuffer, LabImage* original, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp, double &huerefspot, double &chromarefspot, double &lumarefspot);
|
void copy_ref(LabImage* spotbuffer, LabImage* original, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp, double &huerefspot, double &chromarefspot, double &lumarefspot);
|
||||||
void paste_ref(LabImage* spotbuffer, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp);
|
void paste_ref(LabImage* spotbuffer, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp);
|
||||||
void Lab_Local(int call, int sp, LUTf & sobelrefs, float** shbuffer, LabImage* original, LabImage* transformed, LabImage* reserved, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve & locRETgainCcurve, LUTf & lllocalcurve, const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve, const LocCCmaskCurve & locccmasCurve, const LocLLmaskCurve & locllmasCurve, const LocHHmaskCurve & lochhmasCurve, const LocCCmaskexpCurve & locccmasexpCurve, const LocLLmaskexpCurve & locllmasexpCurve, bool &LHutili, bool &HHutili, LUTf & cclocalcurve, bool & localskutili, LUTf & sklocalcurve, bool & localexutili, LUTf & exlocalcurve, LUTf & hltonecurve, LUTf & shtonecurve, LUTf & tonecurve, LUTf & lightCurveloc, double & huerefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, int llColorMask, int llExpMask);
|
void Lab_Local(int call, int sp, float** shbuffer, LabImage* original, LabImage* transformed, LabImage* reserved, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve & locRETgainCcurve, LUTf & lllocalcurve, const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve, const LocCCmaskCurve & locccmasCurve, bool & lcmasutili, const LocLLmaskCurve & locllmasCurve, bool & llmasutili, const LocHHmaskCurve & lochhmasCurve, bool & lhmasutili, const LocCCmaskexpCurve & locccmasexpCurve, bool &lcmasexputili, const LocLLmaskexpCurve & locllmasexpCurve, bool &llmasexputili, const LocHHmaskexpCurve & lochhmasexpCurve, bool & lhmasexputili, bool &LHutili, bool &HHutili, LUTf & cclocalcurve, bool & localskutili, LUTf & sklocalcurve, bool & localexutili, LUTf & exlocalcurve, LUTf & hltonecurve, LUTf & shtonecurve, LUTf & tonecurve, LUTf & lightCurveloc, double & huerefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, int llColorMask, int llExpMask);
|
||||||
void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk);
|
void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk);
|
||||||
void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
||||||
void InverseBlurNoise_Local(const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
void InverseBlurNoise_Local(const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy);
|
||||||
@ -302,7 +302,7 @@ public:
|
|||||||
|
|
||||||
void vibrancelocal(int sp, int bfw, int bfh, LabImage* lab, LabImage* dest, bool & localskutili, LUTf & sklocalcurve);
|
void vibrancelocal(int sp, int bfw, int bfh, LabImage* lab, LabImage* dest, bool & localskutili, LUTf & sklocalcurve);
|
||||||
// void Expo_vibr_Local(float moddE, float powdE, int senstype, float **buflight, float **bufchro, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, const struct local_params & lp, LabImage * original, LabImage * transformed, const LabImage * const tmp1, int cx, int cy, int sk);
|
// void Expo_vibr_Local(float moddE, float powdE, int senstype, float **buflight, float **bufchro, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, const struct local_params & lp, LabImage * original, LabImage * transformed, const LabImage * const tmp1, int cx, int cy, int sk);
|
||||||
void Expo_vibr_Local(float moddE, float powdE, int senstype, LabImage * originalmask, float **buflight, float **bufchro, float **buf_a_cat, float ** buf_b_cat, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, const struct local_params & lp, LabImage * original, LabImage * transformed, LabImage * difLab, const LabImage * const tmp1, int cx, int cy, int sk);
|
void Expo_vibr_Local(int senstype, LabImage * bufexporig, LabImage * originalmask, float **buflight, float **bufchro, float **buf_a_cat, float ** buf_b_cat, const float hueref, const float chromaref, const float lumaref, float sobelref, float ** blend2, const struct local_params & lp, LabImage * original, LabImage * transformed, int cx, int cy, int sk);
|
||||||
void exlabLocal(const local_params& lp, int bfh, int bfw, LabImage* bufexporig, LabImage* lab, LUTf & hltonecurve, LUTf & shtonecurve, LUTf & tonecurve);
|
void exlabLocal(const local_params& lp, int bfh, int bfw, LabImage* bufexporig, LabImage* lab, LUTf & hltonecurve, LUTf & shtonecurve, LUTf & tonecurve);
|
||||||
void Exclude_Local(float moddE, float powdE, int sen, float **deltaso, float **buflight, float **bufchro, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, const struct local_params & lp, LabImage * original, LabImage * transformed, LabImage * rsv, LabImage * reserv, int cx, int cy, int sk);
|
void Exclude_Local(float moddE, float powdE, int sen, float **deltaso, float **buflight, float **bufchro, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, const struct local_params & lp, LabImage * original, LabImage * transformed, LabImage * rsv, LabImage * reserv, int cx, int cy, int sk);
|
||||||
|
|
||||||
@ -311,7 +311,7 @@ public:
|
|||||||
|
|
||||||
void fftw_denoise(int GW, int GH, int max_numblox_W, int min_numblox_W, float **tmp1, array2D<float> *Lin, int numThreads, const struct local_params & lp, int chrom);
|
void fftw_denoise(int GW, int GH, int max_numblox_W, int min_numblox_W, float **tmp1, array2D<float> *Lin, int numThreads, const struct local_params & lp, int chrom);
|
||||||
|
|
||||||
void ColorLight_Local(float moddE, float powdE, int call, LabImage * bufcolorig, LabImage * originalmask, float **buflight, float **bufchro, float **bufchroslid, float ** bufhh, float ** buflightslid, bool &LHutili, bool &HHutili, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, LUTf & lllocalcurve, const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve, LUTf & lightCurveloc, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
void ColorLight_Local(float moddE, float powdE, int call, LabImage * bufcolorig, LabImage * originalmask, float **buflight, float **bufchro, float **bufchroslid, float ** bufhh, float ** buflightslid, bool &LHutili, bool &HHutili, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, float sobelref, float ** blend2, LUTf & lllocalcurve, const LocLHCurve & loclhCurve, const LocHHCurve & lochhCurve, LUTf & lightCurveloc, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
||||||
void InverseColorLight_Local(const struct local_params& lp, LUTf & lightCurveloc, LabImage* original, LabImage* transformed, int cx, int cy, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, int sk);
|
void InverseColorLight_Local(const struct local_params& lp, LUTf & lightCurveloc, LabImage* original, LabImage* transformed, int cx, int cy, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const float lumaref, int sk);
|
||||||
|
|
||||||
void Sharp_Local(int call, float **loctemp, int senstype, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
void Sharp_Local(int call, float **loctemp, int senstype, const float hueplus, const float huemoins, const float hueref, const float dhue, const float chromaref, const local_params& lp, LabImage* original, LabImage* transformed, int cx, int cy, int sk);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -638,8 +638,14 @@ enum ProcEventCode {
|
|||||||
EvlocallabCCmaskexpshape = 608,
|
EvlocallabCCmaskexpshape = 608,
|
||||||
EvlocallabLLmaskexpshape = 609,
|
EvlocallabLLmaskexpshape = 609,
|
||||||
EvlocallabHHmaskshape = 610,
|
EvlocallabHHmaskshape = 610,
|
||||||
EvLocallabEnaColorMask = 611,
|
Evlocallabstructcol = 611,
|
||||||
EvLocallabEnaExpMask = 612,
|
Evlocallabstructexp = 612,
|
||||||
|
EvlocallabHHmaskexpshape = 613,
|
||||||
|
Evlocallabblendmaskcol = 614,
|
||||||
|
Evlocallabblendmaskexp = 615,
|
||||||
|
Evlocallabblurexpde = 616,
|
||||||
|
EvLocallabEnaColorMask = 617,
|
||||||
|
EvLocallabEnaExpMask = 618,
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2362,6 +2362,8 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
contrast(0),
|
contrast(0),
|
||||||
chroma(0),
|
chroma(0),
|
||||||
sensi(19),
|
sensi(19),
|
||||||
|
structcol(0),
|
||||||
|
blendmaskcol(0),
|
||||||
qualitycurveMethod("none"),
|
qualitycurveMethod("none"),
|
||||||
llcurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
llcurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||||
cccurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
cccurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||||
@ -2369,22 +2371,26 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
HHcurve{(double)FCT_MinMaxCPoints, 0.0, 0.50, 0.35, 0.35, 0.166, 0.50, 0.35, 0.35, 0.333, 0.50, 0.35, 0.35, 0.50, 0.50, 0.35, 0.35, 0.666, 0.50, 0.35, 0.35, 0.833, 0.50, 0.35, 0.35},
|
HHcurve{(double)FCT_MinMaxCPoints, 0.0, 0.50, 0.35, 0.35, 0.166, 0.50, 0.35, 0.35, 0.333, 0.50, 0.35, 0.35, 0.50, 0.50, 0.35, 0.35, 0.666, 0.50, 0.35, 0.35, 0.833, 0.50, 0.35, 0.35},
|
||||||
invers(false),
|
invers(false),
|
||||||
enaColorMask(false),
|
enaColorMask(false),
|
||||||
CCmaskcurve{(double)FCT_MinMaxCPoints, 0., 1., 0.35, 0.35, 1., 1., 0.35, 0.35},
|
CCmaskcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.00, 1.0, 0.35, 0.35 },
|
||||||
LLmaskcurve{(double)FCT_MinMaxCPoints, 0., 1., 0.35, 0.35, 1., 1., 0.35, 0.35},
|
LLmaskcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.00, 1.0, 0.35, 0.35 },
|
||||||
HHmaskcurve{(double)FCT_MinMaxCPoints, 0., 1., 0.35, 0.35, 1., 1., 0.35, 0.35},
|
HHmaskcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.00, 1.0, 0.35, 0.35 },
|
||||||
// Exposure
|
// Exposure
|
||||||
expexpose(false),
|
expexpose(false),
|
||||||
expcomp(0),
|
expcomp(0),
|
||||||
hlcompr(20),
|
hlcompr(60),
|
||||||
hlcomprthresh(33),
|
hlcomprthresh(33),
|
||||||
black(0),
|
black(0),
|
||||||
shcompr(50),
|
shcompr(50),
|
||||||
warm(0),
|
warm(0),
|
||||||
sensiex(19),
|
sensiex(15),
|
||||||
|
structexp(0),
|
||||||
|
blurexpde(5),
|
||||||
excurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
excurve{(double)DCT_NURBS, 0.0, 0.0, 1.0, 1.0},
|
||||||
enaExpMask(false),
|
enaExpMask(false),
|
||||||
CCmaskexpcurve{(double)FCT_MinMaxCPoints, 0., 1., 0.35, 0.35, 1., 1., 0.35, 0.35},
|
CCmaskexpcurve{(double)FCT_MinMaxCPoints,0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.0, 1.0, 0.35, 0.35 },
|
||||||
LLmaskexpcurve{(double)FCT_MinMaxCPoints, 0., 1., 0.35, 0.35, 1., 1., 0.35, 0.35},
|
LLmaskexpcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.0, 1.0, 0.35, 0.35},
|
||||||
|
HHmaskexpcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.0, 1.0, 0.35, 0.35},
|
||||||
|
blendmaskexp(0),
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance(false),
|
expvibrance(false),
|
||||||
saturated(0),
|
saturated(0),
|
||||||
@ -2497,6 +2503,8 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& contrast == other.contrast
|
&& contrast == other.contrast
|
||||||
&& chroma == other.chroma
|
&& chroma == other.chroma
|
||||||
&& sensi == other.sensi
|
&& sensi == other.sensi
|
||||||
|
&& structcol == other.structcol
|
||||||
|
&& blendmaskcol == other.blendmaskcol
|
||||||
&& qualitycurveMethod == other.qualitycurveMethod
|
&& qualitycurveMethod == other.qualitycurveMethod
|
||||||
&& llcurve == other.llcurve
|
&& llcurve == other.llcurve
|
||||||
&& cccurve == other.cccurve
|
&& cccurve == other.cccurve
|
||||||
@ -2516,10 +2524,14 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& shcompr == other.shcompr
|
&& shcompr == other.shcompr
|
||||||
&& warm == other.warm
|
&& warm == other.warm
|
||||||
&& sensiex == other.sensiex
|
&& sensiex == other.sensiex
|
||||||
|
&& structexp == other.structexp
|
||||||
|
&& blurexpde == other.blurexpde
|
||||||
&& excurve == other.excurve
|
&& excurve == other.excurve
|
||||||
&& enaExpMask == other.enaExpMask
|
&& enaExpMask == other.enaExpMask
|
||||||
&& CCmaskexpcurve == other.CCmaskexpcurve
|
&& CCmaskexpcurve == other.CCmaskexpcurve
|
||||||
&& LLmaskexpcurve == other.LLmaskexpcurve
|
&& LLmaskexpcurve == other.LLmaskexpcurve
|
||||||
|
&& HHmaskexpcurve == other.HHmaskexpcurve
|
||||||
|
&& blendmaskexp == other.blendmaskexp
|
||||||
// Vibrance
|
// Vibrance
|
||||||
&& expvibrance == other.expvibrance
|
&& expvibrance == other.expvibrance
|
||||||
&& saturated == other.saturated
|
&& saturated == other.saturated
|
||||||
@ -3585,6 +3597,8 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).contrast, "Locallab", "Contrast_" + std::to_string(i), spot.contrast, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).contrast, "Locallab", "Contrast_" + std::to_string(i), spot.contrast, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).chroma, "Locallab", "Chroma_" + std::to_string(i), spot.chroma, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).chroma, "Locallab", "Chroma_" + std::to_string(i), spot.chroma, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sensi, "Locallab", "Sensi_" + std::to_string(i), spot.sensi, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sensi, "Locallab", "Sensi_" + std::to_string(i), spot.sensi, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).structcol, "Locallab", "Structcol_" + std::to_string(i), spot.structcol, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blendmaskcol, "Locallab", "Blendmaskcol_" + std::to_string(i), spot.blendmaskcol, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).qualitycurveMethod, "Locallab", "QualityCurveMethod_" + std::to_string(i), spot.qualitycurveMethod, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).qualitycurveMethod, "Locallab", "QualityCurveMethod_" + std::to_string(i), spot.qualitycurveMethod, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).llcurve, "Locallab", "LLCurve_" + std::to_string(i), spot.llcurve, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).llcurve, "Locallab", "LLCurve_" + std::to_string(i), spot.llcurve, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).cccurve, "Locallab", "CCCurve_" + std::to_string(i), spot.cccurve, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).cccurve, "Locallab", "CCCurve_" + std::to_string(i), spot.cccurve, keyFile);
|
||||||
@ -3604,10 +3618,14 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).shcompr, "Locallab", "Shcompr_" + std::to_string(i), spot.shcompr, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).shcompr, "Locallab", "Shcompr_" + std::to_string(i), spot.shcompr, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).warm, "Locallab", "Warm_" + std::to_string(i), spot.warm, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).warm, "Locallab", "Warm_" + std::to_string(i), spot.warm, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sensiex, "Locallab", "Sensiex_" + std::to_string(i), spot.sensiex, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sensiex, "Locallab", "Sensiex_" + std::to_string(i), spot.sensiex, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).structexp, "Locallab", "Structexp_" + std::to_string(i), spot.structexp, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blurexpde, "Locallab", "Blurexpde_" + std::to_string(i), spot.blurexpde, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).excurve, "Locallab", "ExCurve_" + std::to_string(i), spot.excurve, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).excurve, "Locallab", "ExCurve_" + std::to_string(i), spot.excurve, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).enaExpMask, "Locallab", "EnaExpMask_" + std::to_string(i), spot.enaExpMask, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).enaExpMask, "Locallab", "EnaExpMask_" + std::to_string(i), spot.enaExpMask, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).CCmaskexpcurve, "Locallab", "CCmaskexpCurve_" + std::to_string(i), spot.CCmaskexpcurve, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).CCmaskexpcurve, "Locallab", "CCmaskexpCurve_" + std::to_string(i), spot.CCmaskexpcurve, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).LLmaskexpcurve, "Locallab", "LLmaskexpCurve_" + std::to_string(i), spot.LLmaskexpcurve, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).LLmaskexpcurve, "Locallab", "LLmaskexpCurve_" + std::to_string(i), spot.LLmaskexpcurve, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).HHmaskexpcurve, "Locallab", "HHmaskexpCurve_" + std::to_string(i), spot.HHmaskexpcurve, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blendmaskexp, "Locallab", "Blendmaskexp_" + std::to_string(i), spot.blendmaskexp, keyFile);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).expvibrance, "Locallab", "Expvibrance_" + std::to_string(i), spot.expvibrance, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).expvibrance, "Locallab", "Expvibrance_" + std::to_string(i), spot.expvibrance, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).saturated, "Locallab", "Saturated_" + std::to_string(i), spot.saturated, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).saturated, "Locallab", "Saturated_" + std::to_string(i), spot.saturated, keyFile);
|
||||||
@ -4800,6 +4818,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Contrast_" + std::to_string(i), pedited, spot.contrast, spotEdited.contrast);
|
assignFromKeyfile(keyFile, "Locallab", "Contrast_" + std::to_string(i), pedited, spot.contrast, spotEdited.contrast);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Chroma_" + std::to_string(i), pedited, spot.chroma, spotEdited.chroma);
|
assignFromKeyfile(keyFile, "Locallab", "Chroma_" + std::to_string(i), pedited, spot.chroma, spotEdited.chroma);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sensi_" + std::to_string(i), pedited, spot.sensi, spotEdited.sensi);
|
assignFromKeyfile(keyFile, "Locallab", "Sensi_" + std::to_string(i), pedited, spot.sensi, spotEdited.sensi);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Structcol_" + std::to_string(i), pedited, spot.structcol, spotEdited.structcol);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Blendmaskcol_" + std::to_string(i), pedited, spot.blendmaskcol, spotEdited.blendmaskcol);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "QualityCurveMethod_" + std::to_string(i), pedited, spot.qualitycurveMethod, spotEdited.qualitycurveMethod);
|
assignFromKeyfile(keyFile, "Locallab", "QualityCurveMethod_" + std::to_string(i), pedited, spot.qualitycurveMethod, spotEdited.qualitycurveMethod);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "LLCurve_" + std::to_string(i), pedited, spot.llcurve, spotEdited.llcurve);
|
assignFromKeyfile(keyFile, "Locallab", "LLCurve_" + std::to_string(i), pedited, spot.llcurve, spotEdited.llcurve);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "CCCurve_" + std::to_string(i), pedited, spot.cccurve, spotEdited.cccurve);
|
assignFromKeyfile(keyFile, "Locallab", "CCCurve_" + std::to_string(i), pedited, spot.cccurve, spotEdited.cccurve);
|
||||||
@ -4819,10 +4839,14 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Shcompr_" + std::to_string(i), pedited, spot.shcompr, spotEdited.shcompr);
|
assignFromKeyfile(keyFile, "Locallab", "Shcompr_" + std::to_string(i), pedited, spot.shcompr, spotEdited.shcompr);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Warm_" + std::to_string(i), pedited, spot.warm, spotEdited.warm);
|
assignFromKeyfile(keyFile, "Locallab", "Warm_" + std::to_string(i), pedited, spot.warm, spotEdited.warm);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Sensiex_" + std::to_string(i), pedited, spot.sensiex, spotEdited.sensiex);
|
assignFromKeyfile(keyFile, "Locallab", "Sensiex_" + std::to_string(i), pedited, spot.sensiex, spotEdited.sensiex);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Structexp_" + std::to_string(i), pedited, spot.structexp, spotEdited.structexp);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Blurexpde_" + std::to_string(i), pedited, spot.blurexpde, spotEdited.blurexpde);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "ExCurve_" + std::to_string(i), pedited, spot.excurve, spotEdited.excurve);
|
assignFromKeyfile(keyFile, "Locallab", "ExCurve_" + std::to_string(i), pedited, spot.excurve, spotEdited.excurve);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "EnaExpMask_" + std::to_string(i), pedited, spot.enaExpMask, spotEdited.enaExpMask);
|
assignFromKeyfile(keyFile, "Locallab", "EnaExpMask_" + std::to_string(i), pedited, spot.enaExpMask, spotEdited.enaExpMask);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "CCmaskexpCurve_" + std::to_string(i), pedited, spot.CCmaskexpcurve, spotEdited.CCmaskexpcurve);
|
assignFromKeyfile(keyFile, "Locallab", "CCmaskexpCurve_" + std::to_string(i), pedited, spot.CCmaskexpcurve, spotEdited.CCmaskexpcurve);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "LLmaskexpCurve_" + std::to_string(i), pedited, spot.LLmaskexpcurve, spotEdited.LLmaskexpcurve);
|
assignFromKeyfile(keyFile, "Locallab", "LLmaskexpCurve_" + std::to_string(i), pedited, spot.LLmaskexpcurve, spotEdited.LLmaskexpcurve);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "HHmaskexpCurve_" + std::to_string(i), pedited, spot.HHmaskexpcurve, spotEdited.HHmaskexpcurve);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Blendmaskexp_" + std::to_string(i), pedited, spot.blendmaskexp, spotEdited.blendmaskexp);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Expvibrance_" + std::to_string(i), pedited, spot.expvibrance, spotEdited.expvibrance);
|
assignFromKeyfile(keyFile, "Locallab", "Expvibrance_" + std::to_string(i), pedited, spot.expvibrance, spotEdited.expvibrance);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Saturated_" + std::to_string(i), pedited, spot.saturated, spotEdited.saturated);
|
assignFromKeyfile(keyFile, "Locallab", "Saturated_" + std::to_string(i), pedited, spot.saturated, spotEdited.saturated);
|
||||||
|
@ -50,6 +50,9 @@ class LocHHCurve;
|
|||||||
class LocLLmaskCurve;
|
class LocLLmaskCurve;
|
||||||
class LocCCmaskCurve;
|
class LocCCmaskCurve;
|
||||||
class LocHHmaskCurve;
|
class LocHHmaskCurve;
|
||||||
|
class LocLLmaskexpCurve;
|
||||||
|
class LocCCmaskexpCurve;
|
||||||
|
class LocHHmaskexpCurve;
|
||||||
|
|
||||||
enum RenderingIntent {
|
enum RenderingIntent {
|
||||||
RI_PERCEPTUAL = INTENT_PERCEPTUAL,
|
RI_PERCEPTUAL = INTENT_PERCEPTUAL,
|
||||||
@ -959,6 +962,8 @@ struct LocallabParams {
|
|||||||
int contrast;
|
int contrast;
|
||||||
int chroma;
|
int chroma;
|
||||||
int sensi;
|
int sensi;
|
||||||
|
int structcol;
|
||||||
|
int blendmaskcol;
|
||||||
Glib::ustring qualitycurveMethod;
|
Glib::ustring qualitycurveMethod;
|
||||||
std::vector<double> llcurve;
|
std::vector<double> llcurve;
|
||||||
std::vector<double> cccurve;
|
std::vector<double> cccurve;
|
||||||
@ -978,10 +983,14 @@ struct LocallabParams {
|
|||||||
int shcompr;
|
int shcompr;
|
||||||
int warm;
|
int warm;
|
||||||
int sensiex;
|
int sensiex;
|
||||||
|
int structexp;
|
||||||
|
int blurexpde;
|
||||||
std::vector<double> excurve;
|
std::vector<double> excurve;
|
||||||
bool enaExpMask;
|
bool enaExpMask;
|
||||||
std::vector<double> CCmaskexpcurve;
|
std::vector<double> CCmaskexpcurve;
|
||||||
std::vector<double> LLmaskexpcurve;
|
std::vector<double> LLmaskexpcurve;
|
||||||
|
std::vector<double> HHmaskexpcurve;
|
||||||
|
int blendmaskexp;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
bool expvibrance;
|
bool expvibrance;
|
||||||
int saturated;
|
int saturated;
|
||||||
|
@ -638,6 +638,12 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
LUMINANCECURVE, // EvlocallabCCmaskexpshape
|
LUMINANCECURVE, // EvlocallabCCmaskexpshape
|
||||||
LUMINANCECURVE, // EvlocallabLLmaskexpshape
|
LUMINANCECURVE, // EvlocallabLLmaskexpshape
|
||||||
LUMINANCECURVE, // EvlocallabHHmaskshape
|
LUMINANCECURVE, // EvlocallabHHmaskshape
|
||||||
|
LUMINANCECURVE, // Evlocallabstructcol
|
||||||
|
LUMINANCECURVE, // Evlocallabstructexp
|
||||||
|
LUMINANCECURVE, // EvlocallabHHmaskexpshape
|
||||||
|
LUMINANCECURVE, // Evlocallabblendmaskcol
|
||||||
|
LUMINANCECURVE, // Evlocallabblendmaskexp
|
||||||
|
LUMINANCECURVE, // Evlocallabblurexpde
|
||||||
LUMINANCECURVE, // EvLocallabEnaColorMask
|
LUMINANCECURVE, // EvLocallabEnaColorMask
|
||||||
LUMINANCECURVE // EvLocallabEnaExpMask
|
LUMINANCECURVE // EvLocallabEnaExpMask
|
||||||
};
|
};
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include "jaggedarray.h"
|
||||||
|
|
||||||
|
|
||||||
#undef THREAD_PRIORITY_NORMAL
|
#undef THREAD_PRIORITY_NORMAL
|
||||||
@ -1079,6 +1080,7 @@ private:
|
|||||||
LocHHmaskCurve lochhmasCurve;
|
LocHHmaskCurve lochhmasCurve;
|
||||||
LocCCmaskexpCurve locccmasexpCurve;
|
LocCCmaskexpCurve locccmasexpCurve;
|
||||||
LocLLmaskexpCurve locllmasexpCurve;
|
LocLLmaskexpCurve locllmasexpCurve;
|
||||||
|
LocHHmaskexpCurve lochhmasexpCurve;
|
||||||
LUTf lllocalcurve(65536, 0);
|
LUTf lllocalcurve(65536, 0);
|
||||||
LUTf cclocalcurve(65536, 0);
|
LUTf cclocalcurve(65536, 0);
|
||||||
LUTf sklocalcurve(65536, 0);
|
LUTf sklocalcurve(65536, 0);
|
||||||
@ -1086,11 +1088,12 @@ private:
|
|||||||
LUTf shtonecurveloc(65536, 0);
|
LUTf shtonecurveloc(65536, 0);
|
||||||
LUTf tonecurveloc(65536, 0);
|
LUTf tonecurveloc(65536, 0);
|
||||||
LUTf lightCurveloc(32770, 0);
|
LUTf lightCurveloc(32770, 0);
|
||||||
LUTu lhist16loc(32768, 0);
|
LUTu lhist16loc(32770, 0);
|
||||||
LUTf exlocalcurve(65536, 0);
|
LUTf exlocalcurve(65536, 0);
|
||||||
|
|
||||||
// int maxspot = 1;
|
// int maxspot = 1;
|
||||||
float** shbuffer = nullptr;
|
float** shbuffer = nullptr;
|
||||||
|
JaggedArray<float> blend(fw, fh);
|
||||||
|
|
||||||
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
|
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
|
||||||
if (params.locallab.spots.at(sp).inverssha) {
|
if (params.locallab.spots.at(sp).inverssha) {
|
||||||
@ -1108,14 +1111,21 @@ private:
|
|||||||
bool localcutili = false;
|
bool localcutili = false;
|
||||||
bool localskutili = false;
|
bool localskutili = false;
|
||||||
bool localexutili = false;
|
bool localexutili = false;
|
||||||
|
bool llmasutili = false;
|
||||||
|
bool lcmasexputili = false;
|
||||||
|
bool lhmasexputili = false;
|
||||||
|
bool llmasexputili = false;
|
||||||
|
bool lcmasutili = false;
|
||||||
|
bool lhmasutili = false;
|
||||||
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve);
|
||||||
loclhCurve.Set(params.locallab.spots.at(sp).LHcurve, LHutili);
|
loclhCurve.Set(params.locallab.spots.at(sp).LHcurve, LHutili);
|
||||||
lochhCurve.Set(params.locallab.spots.at(sp).HHcurve, HHutili);
|
lochhCurve.Set(params.locallab.spots.at(sp).HHcurve, HHutili);
|
||||||
locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve);
|
locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve, lcmasutili);
|
||||||
locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve);
|
locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve, llmasutili);
|
||||||
lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve);
|
lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve, lhmasutili);
|
||||||
locccmasexpCurve.Set(params.locallab.spots.at(sp).CCmaskexpcurve);
|
locccmasexpCurve.Set(params.locallab.spots.at(sp).CCmaskexpcurve, lcmasexputili);
|
||||||
locllmasexpCurve.Set(params.locallab.spots.at(sp).LLmaskexpcurve);
|
locllmasexpCurve.Set(params.locallab.spots.at(sp).LLmaskexpcurve, llmasexputili);
|
||||||
|
lochhmasexpCurve.Set(params.locallab.spots.at(sp).HHmaskexpcurve, lhmasexputili);
|
||||||
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve, 1);
|
CurveFactory::curveLocal(locallutili, params.locallab.spots.at(sp).llcurve, lllocalcurve, 1);
|
||||||
CurveFactory::curveCCLocal(localcutili, params.locallab.spots.at(sp).cccurve, cclocalcurve, 1);
|
CurveFactory::curveCCLocal(localcutili, params.locallab.spots.at(sp).cccurve, cclocalcurve, 1);
|
||||||
CurveFactory::curveskLocal(localskutili, params.locallab.spots.at(sp).skintonescurve, sklocalcurve, 1);
|
CurveFactory::curveskLocal(localskutili, params.locallab.spots.at(sp).skintonescurve, sklocalcurve, 1);
|
||||||
@ -1131,18 +1141,18 @@ private:
|
|||||||
|
|
||||||
// Reference parameters computation
|
// Reference parameters computation
|
||||||
double huere, chromare, lumare, huerefblu, sobelre;
|
double huere, chromare, lumare, huerefblu, sobelre;
|
||||||
|
float avg = 0.f;
|
||||||
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
if (params.locallab.spots.at(sp).spotMethod == "exc") {
|
||||||
ipf.calc_ref(sp, reservView, reservView, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
|
ipf.calc_ref(sp, reservView, reservView, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc, avg);
|
||||||
} else {
|
} else {
|
||||||
ipf.calc_ref(sp, labView, labView, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
|
ipf.calc_ref(sp, labView, labView, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc, avg);
|
||||||
}
|
}
|
||||||
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc,
|
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc, lumare,
|
||||||
hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc,
|
hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, avg,
|
||||||
1);
|
1);
|
||||||
|
|
||||||
// No Locallab mask is shown in exported picture
|
// No Locallab mask is shown in exported picture
|
||||||
ipf.Lab_Local(2, sp, sobelrefs, (float**)shbuffer, labView, labView, reservView, 0, 0, fw, fh, 1, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve,
|
ipf.Lab_Local(2, sp, (float**)shbuffer, labView, labView, reservView, 0, 0, fw, fh, 1, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili,
|
||||||
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerefblu, huere, chromare, lumare, sobelre, 0, 0);
|
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerefblu, huere, chromare, lumare, sobelre, 0, 0);
|
||||||
|
|
||||||
// Clear local curves
|
// Clear local curves
|
||||||
|
@ -1427,5 +1427,21 @@ static INLINE void vconvertrgbrgbrgbrgb2rrrrggggbbbb (const float * src, vfloat
|
|||||||
bv = _mm_setr_ps(src[2],src[5],src[8],src[11]);
|
bv = _mm_setr_ps(src[2],src[5],src[8],src[11]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined( __SSE4_1__ ) && defined( __x86_64__ )
|
||||||
|
static INLINE vfloat vceilf(vfloat x) {
|
||||||
|
return _mm_round_ps(x, _MM_FROUND_TO_POS_INF |_MM_FROUND_NO_EXC);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static INLINE vfloat vceilf(vfloat x) {
|
||||||
|
__m128i zerov = _mm_setzero_si128();
|
||||||
|
zerov = _mm_cmpeq_epi32(zerov, zerov);
|
||||||
|
const vfloat onev = (vfloat)_mm_slli_epi32(_mm_srli_epi32(zerov, 25), 23); //create vector 1.0f
|
||||||
|
const vfloat xi = _mm_cvtepi32_ps(_mm_cvttps_epi32(x));
|
||||||
|
return xi + _mm_and_ps(_mm_cmplt_ps(xi, x), onev);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // __SSE2__
|
#endif // __SSE2__
|
||||||
#endif // SLEEFSSEAVX
|
#endif // SLEEFSSEAVX
|
||||||
|
@ -960,59 +960,62 @@ void RawImageSource::xtrans_interpolate (const int passes, const bool useCieLab)
|
|||||||
#undef CLIP
|
#undef CLIP
|
||||||
void RawImageSource::fast_xtrans_interpolate (const array2D<float> &rawData, array2D<float> &red, array2D<float> &green, array2D<float> &blue)
|
void RawImageSource::fast_xtrans_interpolate (const array2D<float> &rawData, array2D<float> &red, array2D<float> &green, array2D<float> &blue)
|
||||||
{
|
{
|
||||||
// if (settings->verbose) {
|
|
||||||
// printf("fast X-Trans interpolation...\n");
|
|
||||||
// }
|
|
||||||
|
|
||||||
double progress = 0.0;
|
if (plistener) {
|
||||||
const bool plistenerActive = plistener;
|
plistener->setProgressStr(Glib::ustring::compose(M("TP_RAW_DMETHOD_PROGRESSBAR"), "fast Xtrans"));
|
||||||
|
plistener->setProgress(0.0);
|
||||||
if (plistenerActive) {
|
|
||||||
plistener->setProgressStr (Glib::ustring::compose(M("TP_RAW_DMETHOD_PROGRESSBAR"), "fast Xtrans"));
|
|
||||||
plistener->setProgress (progress);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const int height = H, width = W;
|
xtransborder_interpolate(1, red, green, blue);
|
||||||
|
|
||||||
xtransborder_interpolate (1, red, green, blue);
|
|
||||||
int xtrans[6][6];
|
int xtrans[6][6];
|
||||||
ri->getXtransMatrix(xtrans);
|
ri->getXtransMatrix(xtrans);
|
||||||
|
|
||||||
#pragma omp parallel for
|
const float weight[3][3] = {
|
||||||
|
{0.25f, 0.5f, 0.25f},
|
||||||
|
{0.5f, 0.f, 0.5f},
|
||||||
|
{0.25f, 0.5f, 0.25f}
|
||||||
|
};
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic, 16)
|
||||||
|
#endif
|
||||||
|
for (int row = 1; row < H - 1; ++row) {
|
||||||
|
for (int col = 1; col < W - 1; ++col) {
|
||||||
|
float sum[3] = {};
|
||||||
|
|
||||||
for(int row = 1; row < height - 1; row++) {
|
for (int v = -1; v <= 1; v++) {
|
||||||
for(int col = 1; col < width - 1; col++) {
|
for (int h = -1; h <= 1; h++) {
|
||||||
float sum[3] = {0.f};
|
sum[fcol(row + v, col + h)] += rawData[row + v][(col + h)] * weight[v + 1][h + 1];
|
||||||
|
|
||||||
for(int v = -1; v <= 1; v++) {
|
|
||||||
for(int h = -1; h <= 1; h++) {
|
|
||||||
sum[fcol(row + v, col + h)] += rawData[row + v][(col + h)];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(fcol(row, col)) {
|
switch(fcol(row, col)) {
|
||||||
case 0:
|
case 0: // red pixel
|
||||||
red[row][col] = rawData[row][col];
|
red[row][col] = rawData[row][col];
|
||||||
green[row][col] = sum[1] * 0.2f;
|
green[row][col] = sum[1] * 0.5f;
|
||||||
blue[row][col] = sum[2] * 0.33333333f;
|
blue[row][col] = sum[2];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1: // green pixel
|
||||||
red[row][col] = sum[0] * 0.5f;
|
|
||||||
green[row][col] = rawData[row][col];
|
green[row][col] = rawData[row][col];
|
||||||
blue[row][col] = sum[2] * 0.5f;
|
if (fcol(row, col - 1) == fcol(row, col + 1)) { // Solitary green pixel always has exactly two direct red and blue neighbors in 3x3 grid
|
||||||
|
red[row][col] = sum[0];
|
||||||
|
blue[row][col] = sum[2];
|
||||||
|
} else { // Non solitary green pixel always has one direct and one diagonal red and blue neighbor in 3x3 grid
|
||||||
|
red[row][col] = sum[0] * 1.3333333f;
|
||||||
|
blue[row][col] = sum[2] * 1.3333333f;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2: // blue pixel
|
||||||
red[row][col] = sum[0] * 0.33333333f;
|
red[row][col] = sum[0];
|
||||||
green[row][col] = sum[1] * 0.2f;
|
green[row][col] = sum[1] * 0.5f;
|
||||||
blue[row][col] = rawData[row][col];
|
blue[row][col] = rawData[row][col];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plistenerActive) {
|
if (plistener) {
|
||||||
plistener->setProgress (1.0);
|
plistener->setProgress (1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1083,6 +1083,10 @@ void EditorPanel::open (Thumbnail* tmb, rtengine::InitialImage* isrc)
|
|||||||
|
|
||||||
history->resetSnapShotNumber();
|
history->resetSnapShotNumber();
|
||||||
navigator->setInvalid(ipc->getFullWidth(),ipc->getFullHeight());
|
navigator->setInvalid(ipc->getFullWidth(),ipc->getFullHeight());
|
||||||
|
|
||||||
|
// When passing a photo as an argument to the RawTherapee executable, the user wants
|
||||||
|
// this auto-loaded photo's thumbnail to be selected and visible in the Filmstrip.
|
||||||
|
EditorPanel::syncFileBrowser();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditorPanel::close ()
|
void EditorPanel::close ()
|
||||||
|
@ -76,14 +76,19 @@ Locallab::Locallab():
|
|||||||
contrast(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CONTRAST"), -100, 100, 1, 0))),
|
contrast(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CONTRAST"), -100, 100, 1, 0))),
|
||||||
chroma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMA"), -100, 150, 1, 0))),
|
chroma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMA"), -100, 150, 1, 0))),
|
||||||
sensi(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 19))),
|
sensi(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 19))),
|
||||||
|
structcol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))),
|
||||||
|
blendmaskcol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLENDMASKCOL"), -100, 150, 1, 0))),
|
||||||
// Exposure
|
// Exposure
|
||||||
expcomp(Gtk::manage(new Adjuster(M("TP_EXPOSURE_EXPCOMP"), -200, 200, 5, 0))),
|
expcomp(Gtk::manage(new Adjuster(M("TP_EXPOSURE_EXPCOMP"), -200, 400, 5, 0))),
|
||||||
hlcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTS"), 0, 500, 1, 60))),
|
hlcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTS"), 0, 500, 1, 60))),
|
||||||
hlcomprthresh(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD"), 0, 100, 1, 33))),
|
hlcomprthresh(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD"), 0, 100, 1, 33))),
|
||||||
black(Gtk::manage(new Adjuster(M("TP_EXPOSURE_BLACKLEVEL"), -16384, 32768, 50, 0))),
|
black(Gtk::manage(new Adjuster(M("TP_EXPOSURE_BLACKLEVEL"), -16384, 32768, 50, 0))),
|
||||||
shcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRSHADOWS"), 0, 100, 1, 50))),
|
shcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRSHADOWS"), 0, 100, 1, 50))),
|
||||||
warm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))),
|
warm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))),
|
||||||
sensiex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 19))),
|
sensiex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 15))),
|
||||||
|
structexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))),
|
||||||
|
blurexpde(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLURDE"), 2, 100, 1, 5))),
|
||||||
|
blendmaskexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLENDMASKCOL"), -100, 150, 1, 0))),
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated(Gtk::manage(new Adjuster(M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.))),
|
saturated(Gtk::manage(new Adjuster(M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.))),
|
||||||
pastels(Gtk::manage(new Adjuster(M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.))),
|
pastels(Gtk::manage(new Adjuster(M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.))),
|
||||||
@ -105,7 +110,7 @@ Locallab::Locallab():
|
|||||||
// Retinex
|
// Retinex
|
||||||
str(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STR"), 0, 100, 1, 0))),
|
str(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STR"), 0, 100, 1, 0))),
|
||||||
chrrt(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHRRT"), 0, 100, 1, 0))),
|
chrrt(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHRRT"), 0, 100, 1, 0))),
|
||||||
neigh(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NEIGH"), 14, 150, 1, 50))),
|
neigh(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NEIGH"), -100, 150, 1, 100))),//14, 150, 1, 50))),
|
||||||
vart(Gtk::manage(new Adjuster(M("TP_LOCALLAB_VART"), 50, 500, 1, 200))),
|
vart(Gtk::manage(new Adjuster(M("TP_LOCALLAB_VART"), 50, 500, 1, 200))),
|
||||||
dehaz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DEHAZ"), 0, 100, 1, 0))),
|
dehaz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DEHAZ"), 0, 100, 1, 0))),
|
||||||
sensih(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSIH"), 0, 100, 1, 19))),
|
sensih(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSIH"), 0, 100, 1, 19))),
|
||||||
@ -221,6 +226,10 @@ Locallab::Locallab():
|
|||||||
sensi->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
sensi->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
||||||
sensi->setAdjusterListener(this);
|
sensi->setAdjusterListener(this);
|
||||||
|
|
||||||
|
structcol->setAdjusterListener(this);
|
||||||
|
|
||||||
|
blendmaskcol->setAdjusterListener(this);
|
||||||
|
|
||||||
qualitycurveMethod->append(M("TP_LOCALLAB_CURVNONE"));
|
qualitycurveMethod->append(M("TP_LOCALLAB_CURVNONE"));
|
||||||
qualitycurveMethod->append(M("TP_LOCALLAB_CURVCURR"));
|
qualitycurveMethod->append(M("TP_LOCALLAB_CURVCURR"));
|
||||||
qualitycurveMethod->append(M("TP_LOCALLAB_CURVENH"));
|
qualitycurveMethod->append(M("TP_LOCALLAB_CURVENH"));
|
||||||
@ -293,6 +302,7 @@ Locallab::Locallab():
|
|||||||
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIF"));
|
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIF"));
|
||||||
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK"));
|
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK"));
|
||||||
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMASK"));
|
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWMASK"));
|
||||||
|
showmaskcolMethod->append(M("TP_LOCALLAB_SHOWSTRUC"));
|
||||||
|
|
||||||
showmaskcolMethod->set_active(0);
|
showmaskcolMethod->set_active(0);
|
||||||
showmaskcolMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP"));
|
showmaskcolMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP"));
|
||||||
@ -317,7 +327,7 @@ Locallab::Locallab():
|
|||||||
|
|
||||||
HHmaskshape = static_cast<FlatCurveEditor *>(maskCurveEditorG->addCurve(CT_Flat, "LC(H)", nullptr, false, true));
|
HHmaskshape = static_cast<FlatCurveEditor *>(maskCurveEditorG->addCurve(CT_Flat, "LC(H)", nullptr, false, true));
|
||||||
HHmaskshape->setIdentityValue(0.);
|
HHmaskshape->setIdentityValue(0.);
|
||||||
HHmaskshape->setResetCurve(FlatCurveType(defSpot.LLmaskcurve.at(0)), defSpot.LLmaskcurve);
|
HHmaskshape->setResetCurve(FlatCurveType(defSpot.HHmaskcurve.at(0)), defSpot.HHmaskcurve);
|
||||||
HHmaskshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP"));
|
HHmaskshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP"));
|
||||||
HHmaskshape->setCurveColorProvider(this, 6);
|
HHmaskshape->setCurveColorProvider(this, 6);
|
||||||
HHmaskshape->setBottomBarColorProvider(this, 6);
|
HHmaskshape->setBottomBarColorProvider(this, 6);
|
||||||
@ -335,6 +345,7 @@ Locallab::Locallab():
|
|||||||
superFrame->add(*superBox);
|
superFrame->add(*superBox);
|
||||||
colorBox->pack_start(*superFrame);
|
colorBox->pack_start(*superFrame);
|
||||||
colorBox->pack_start(*sensi);
|
colorBox->pack_start(*sensi);
|
||||||
|
colorBox->pack_start(*structcol);
|
||||||
Gtk::HBox* const qualcurvbox = Gtk::manage(new Gtk::HBox());
|
Gtk::HBox* const qualcurvbox = Gtk::manage(new Gtk::HBox());
|
||||||
qualcurvbox->pack_start(*labqualcurv, Gtk::PACK_SHRINK, 4);
|
qualcurvbox->pack_start(*labqualcurv, Gtk::PACK_SHRINK, 4);
|
||||||
qualcurvbox->pack_start(*qualitycurveMethod);
|
qualcurvbox->pack_start(*qualitycurveMethod);
|
||||||
@ -347,6 +358,7 @@ Locallab::Locallab():
|
|||||||
maskcolBox->pack_start(*showmaskcolMethod, Gtk::PACK_SHRINK, 0);
|
maskcolBox->pack_start(*showmaskcolMethod, Gtk::PACK_SHRINK, 0);
|
||||||
maskcolBox->pack_start(*enaColorMask, Gtk::PACK_SHRINK, 0);
|
maskcolBox->pack_start(*enaColorMask, Gtk::PACK_SHRINK, 0);
|
||||||
maskcolBox->pack_start(*maskCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
maskcolBox->pack_start(*maskCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||||
|
maskcolBox->pack_start(*blendmaskcol, Gtk::PACK_SHRINK, 0);
|
||||||
maskcolFrame->add(*maskcolBox);
|
maskcolFrame->add(*maskcolBox);
|
||||||
colorBox->pack_start(*maskcolFrame);
|
colorBox->pack_start(*maskcolFrame);
|
||||||
|
|
||||||
@ -375,6 +387,12 @@ Locallab::Locallab():
|
|||||||
sensiex->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
sensiex->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP"));
|
||||||
sensiex->setAdjusterListener(this);
|
sensiex->setAdjusterListener(this);
|
||||||
|
|
||||||
|
structexp->setAdjusterListener(this);
|
||||||
|
|
||||||
|
blurexpde->setAdjusterListener(this);
|
||||||
|
|
||||||
|
blendmaskexp->setAdjusterListener(this);
|
||||||
|
|
||||||
curveEditorG->setCurveListener(this);
|
curveEditorG->setCurveListener(this);
|
||||||
|
|
||||||
shapeexpos = static_cast<DiagonalCurveEditor*>(curveEditorG->addCurve(CT_Diagonal, ""));
|
shapeexpos = static_cast<DiagonalCurveEditor*>(curveEditorG->addCurve(CT_Diagonal, ""));
|
||||||
@ -394,6 +412,7 @@ Locallab::Locallab():
|
|||||||
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMODIF"));
|
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMODIF"));
|
||||||
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK"));
|
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK"));
|
||||||
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMASK"));
|
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWMASK"));
|
||||||
|
showmaskexpMethod->append(M("TP_LOCALLAB_SHOWSTRUC"));
|
||||||
|
|
||||||
showmaskexpMethod->set_active(0);
|
showmaskexpMethod->set_active(0);
|
||||||
showmaskexpMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP"));
|
showmaskexpMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP"));
|
||||||
@ -413,6 +432,13 @@ Locallab::Locallab():
|
|||||||
LLmaskexpshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP"));
|
LLmaskexpshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP"));
|
||||||
LLmaskexpshape->setBottomBarBgGradient(mllshape);
|
LLmaskexpshape->setBottomBarBgGradient(mllshape);
|
||||||
|
|
||||||
|
HHmaskexpshape = static_cast<FlatCurveEditor *>(maskexpCurveEditorG->addCurve(CT_Flat, "LC(H)", nullptr, false, true));
|
||||||
|
HHmaskexpshape->setIdentityValue(0.);
|
||||||
|
HHmaskexpshape->setResetCurve(FlatCurveType(defSpot.HHmaskexpcurve.at(0)), defSpot.HHmaskexpcurve);
|
||||||
|
HHmaskexpshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP"));
|
||||||
|
HHmaskexpshape->setCurveColorProvider(this, 6);
|
||||||
|
HHmaskexpshape->setBottomBarColorProvider(this, 6);
|
||||||
|
|
||||||
maskexpCurveEditorG->curveListComplete();
|
maskexpCurveEditorG->curveListComplete();
|
||||||
|
|
||||||
ToolParamBlock* const exposeBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const exposeBox = Gtk::manage(new ToolParamBlock());
|
||||||
@ -423,14 +449,17 @@ Locallab::Locallab():
|
|||||||
exposeBox->pack_start(*shcompr);
|
exposeBox->pack_start(*shcompr);
|
||||||
exposeBox->pack_start(*warm);
|
exposeBox->pack_start(*warm);
|
||||||
exposeBox->pack_start(*sensiex);
|
exposeBox->pack_start(*sensiex);
|
||||||
|
exposeBox->pack_start(*structexp);
|
||||||
|
exposeBox->pack_start(*blurexpde);
|
||||||
exposeBox->pack_start(*curveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
exposeBox->pack_start(*curveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||||
Gtk::Frame* const maskexpFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_SHOW")));
|
Gtk::Frame* const maskexpFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_SHOW")));
|
||||||
maskexpFrame->set_label_align(0.025, 0.5);
|
maskexpFrame->set_label_align(0.025, 0.5);
|
||||||
ToolParamBlock* const maskexpBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const maskexpBox = Gtk::manage(new ToolParamBlock());
|
||||||
maskexpBox->pack_start(*transLabels2, Gtk::PACK_SHRINK, 4);
|
maskexpBox->pack_start(*transLabels2, Gtk::PACK_SHRINK, 4);
|
||||||
maskexpBox->pack_start(*enaExpMask, Gtk::PACK_SHRINK, 0);
|
|
||||||
maskexpBox->pack_start(*showmaskexpMethod, Gtk::PACK_SHRINK, 0);
|
maskexpBox->pack_start(*showmaskexpMethod, Gtk::PACK_SHRINK, 0);
|
||||||
|
maskexpBox->pack_start(*enaExpMask, Gtk::PACK_SHRINK, 0);
|
||||||
maskexpBox->pack_start(*maskexpCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
maskexpBox->pack_start(*maskexpCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||||
|
maskexpBox->pack_start(*blendmaskexp, Gtk::PACK_SHRINK, 0);
|
||||||
maskexpFrame->add(*maskexpBox);
|
maskexpFrame->add(*maskexpBox);
|
||||||
exposeBox->pack_start(*maskexpFrame);
|
exposeBox->pack_start(*maskexpFrame);
|
||||||
|
|
||||||
@ -1480,6 +1509,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).contrast = contrast->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).contrast = contrast->getIntValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).chroma = chroma->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).chroma = chroma->getIntValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).sensi = sensi->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).sensi = sensi->getIntValue();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).structcol = structcol->getIntValue();
|
||||||
|
|
||||||
if (qualitycurveMethod->get_active_row_number() == 0) {
|
if (qualitycurveMethod->get_active_row_number() == 0) {
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = "none";
|
pp->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = "none";
|
||||||
@ -1498,6 +1528,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).CCmaskcurve = CCmaskshape->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).CCmaskcurve = CCmaskshape->getCurve();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).LLmaskcurve = LLmaskshape->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).LLmaskcurve = LLmaskshape->getCurve();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).HHmaskcurve = HHmaskshape->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).HHmaskcurve = HHmaskshape->getCurve();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).blendmaskcol = blendmaskcol->getIntValue();
|
||||||
// Exposure
|
// Exposure
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).expexpose = expexpose->getEnabled();
|
pp->locallab.spots.at(pp->locallab.selspot).expexpose = expexpose->getEnabled();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).expcomp = expcomp->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).expcomp = expcomp->getIntValue();
|
||||||
@ -1507,10 +1538,14 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).shcompr = shcompr->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).shcompr = shcompr->getIntValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).warm = warm->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).warm = warm->getIntValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).sensiex = sensiex->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).sensiex = sensiex->getIntValue();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).structexp = structexp->getIntValue();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).blurexpde = blurexpde->getIntValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).excurve = shapeexpos->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).excurve = shapeexpos->getCurve();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).enaExpMask = enaExpMask->get_active();
|
pp->locallab.spots.at(pp->locallab.selspot).enaExpMask = enaExpMask->get_active();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve = LLmaskexpshape->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve = LLmaskexpshape->getCurve();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve = CCmaskexpshape->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve = CCmaskexpshape->getCurve();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).HHmaskexpcurve = HHmaskexpshape->getCurve();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).blendmaskexp = blendmaskexp->getIntValue();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).expvibrance = expvibrance->getEnabled();
|
pp->locallab.spots.at(pp->locallab.selspot).expvibrance = expvibrance->getEnabled();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).saturated = saturated->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).saturated = saturated->getIntValue();
|
||||||
@ -1641,6 +1676,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pe->locallab.spots.at(pp->locallab.selspot).contrast = pe->locallab.spots.at(pp->locallab.selspot).contrast || contrast->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).contrast = pe->locallab.spots.at(pp->locallab.selspot).contrast || contrast->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).chroma = pe->locallab.spots.at(pp->locallab.selspot).chroma || chroma->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).chroma = pe->locallab.spots.at(pp->locallab.selspot).chroma || chroma->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).sensi = pe->locallab.spots.at(pp->locallab.selspot).sensi || sensi->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).sensi = pe->locallab.spots.at(pp->locallab.selspot).sensi || sensi->getEditedState();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).structcol = pe->locallab.spots.at(pp->locallab.selspot).structcol || structcol->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = pe->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod || qualitycurveMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
pe->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = pe->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod || qualitycurveMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).llcurve = pe->locallab.spots.at(pp->locallab.selspot).llcurve || !llshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).llcurve = pe->locallab.spots.at(pp->locallab.selspot).llcurve || !llshape->isUnChanged();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).cccurve = pe->locallab.spots.at(pp->locallab.selspot).cccurve || !ccshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).cccurve = pe->locallab.spots.at(pp->locallab.selspot).cccurve || !ccshape->isUnChanged();
|
||||||
@ -1651,6 +1687,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pe->locallab.spots.at(pp->locallab.selspot).CCmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).CCmaskcurve || !CCmaskshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).CCmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).CCmaskcurve || !CCmaskshape->isUnChanged();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).LLmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).LLmaskcurve || !LLmaskshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).LLmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).LLmaskcurve || !LLmaskshape->isUnChanged();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).HHmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).HHmaskcurve || !HHmaskshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).HHmaskcurve = pe->locallab.spots.at(pp->locallab.selspot).HHmaskcurve || !HHmaskshape->isUnChanged();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).blendmaskcol = pe->locallab.spots.at(pp->locallab.selspot).blendmaskcol || blendmaskcol->getEditedState();
|
||||||
// Exposure
|
// Exposure
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).expexpose = pe->locallab.spots.at(pp->locallab.selspot).expexpose || !expexpose->get_inconsistent();
|
pe->locallab.spots.at(pp->locallab.selspot).expexpose = pe->locallab.spots.at(pp->locallab.selspot).expexpose || !expexpose->get_inconsistent();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).expcomp = pe->locallab.spots.at(pp->locallab.selspot).expcomp || expcomp->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).expcomp = pe->locallab.spots.at(pp->locallab.selspot).expcomp || expcomp->getEditedState();
|
||||||
@ -1660,10 +1697,14 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pe->locallab.spots.at(pp->locallab.selspot).shcompr = pe->locallab.spots.at(pp->locallab.selspot).shcompr || shcompr->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).shcompr = pe->locallab.spots.at(pp->locallab.selspot).shcompr || shcompr->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).warm = pe->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).warm = pe->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).sensiex = pe->locallab.spots.at(pp->locallab.selspot).sensiex || sensiex->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).sensiex = pe->locallab.spots.at(pp->locallab.selspot).sensiex || sensiex->getEditedState();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).structexp = pe->locallab.spots.at(pp->locallab.selspot).structexp || structexp->getEditedState();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).blurexpde = pe->locallab.spots.at(pp->locallab.selspot).blurexpde || blurexpde->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).excurve = pe->locallab.spots.at(pp->locallab.selspot).excurve || !shapeexpos->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).excurve = pe->locallab.spots.at(pp->locallab.selspot).excurve || !shapeexpos->isUnChanged();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).enaExpMask = pe->locallab.spots.at(pp->locallab.selspot).enaExpMask || !enaExpMask->get_inconsistent();
|
pe->locallab.spots.at(pp->locallab.selspot).enaExpMask = pe->locallab.spots.at(pp->locallab.selspot).enaExpMask || !enaExpMask->get_inconsistent();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve = pe->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve || !CCmaskexpshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve = pe->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve || !CCmaskexpshape->isUnChanged();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve = pe->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve || !LLmaskexpshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve = pe->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve || !LLmaskexpshape->isUnChanged();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).HHmaskexpcurve = pe->locallab.spots.at(pp->locallab.selspot).HHmaskexpcurve || !HHmaskexpshape->isUnChanged();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).blendmaskexp = pe->locallab.spots.at(pp->locallab.selspot).blendmaskexp || blendmaskexp->getEditedState();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).expvibrance = pe->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
pe->locallab.spots.at(pp->locallab.selspot).expvibrance = pe->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).saturated = pe->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).saturated = pe->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
||||||
@ -1781,6 +1822,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->locallab.spots.at(pp->locallab.selspot).contrast = pedited->locallab.spots.at(pp->locallab.selspot).contrast || contrast->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).contrast = pedited->locallab.spots.at(pp->locallab.selspot).contrast || contrast->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).chroma = pedited->locallab.spots.at(pp->locallab.selspot).chroma || chroma->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).chroma = pedited->locallab.spots.at(pp->locallab.selspot).chroma || chroma->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).sensi = pedited->locallab.spots.at(pp->locallab.selspot).sensi || sensi->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).sensi = pedited->locallab.spots.at(pp->locallab.selspot).sensi || sensi->getEditedState();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).structcol = pedited->locallab.spots.at(pp->locallab.selspot).structcol || structcol->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = pedited->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod || qualitycurveMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
pedited->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod = pedited->locallab.spots.at(pp->locallab.selspot).qualitycurveMethod || qualitycurveMethod->get_active_text() != M("GENERAL_UNCHANGED");
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).llcurve = pedited->locallab.spots.at(pp->locallab.selspot).llcurve || !llshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).llcurve = pedited->locallab.spots.at(pp->locallab.selspot).llcurve || !llshape->isUnChanged();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).cccurve = pedited->locallab.spots.at(pp->locallab.selspot).cccurve || !ccshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).cccurve = pedited->locallab.spots.at(pp->locallab.selspot).cccurve || !ccshape->isUnChanged();
|
||||||
@ -1791,6 +1833,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->locallab.spots.at(pp->locallab.selspot).CCmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).CCmaskcurve || !CCmaskshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).CCmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).CCmaskcurve || !CCmaskshape->isUnChanged();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).LLmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).LLmaskcurve || !LLmaskshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).LLmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).LLmaskcurve || !LLmaskshape->isUnChanged();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).HHmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).HHmaskcurve || !HHmaskshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).HHmaskcurve = pedited->locallab.spots.at(pp->locallab.selspot).HHmaskcurve || !HHmaskshape->isUnChanged();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).blendmaskcol = pedited->locallab.spots.at(pp->locallab.selspot).blendmaskcol || blendmaskcol->getEditedState();
|
||||||
// Exposure
|
// Exposure
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).expexpose = pedited->locallab.spots.at(pp->locallab.selspot).expexpose || !expexpose->get_inconsistent();
|
pedited->locallab.spots.at(pp->locallab.selspot).expexpose = pedited->locallab.spots.at(pp->locallab.selspot).expexpose || !expexpose->get_inconsistent();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).expcomp = pedited->locallab.spots.at(pp->locallab.selspot).expcomp || expcomp->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).expcomp = pedited->locallab.spots.at(pp->locallab.selspot).expcomp || expcomp->getEditedState();
|
||||||
@ -1800,10 +1843,14 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->locallab.spots.at(pp->locallab.selspot).shcompr = pedited->locallab.spots.at(pp->locallab.selspot).shcompr || shcompr->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).shcompr = pedited->locallab.spots.at(pp->locallab.selspot).shcompr || shcompr->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).warm = pedited->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).warm = pedited->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).sensiex = pedited->locallab.spots.at(pp->locallab.selspot).sensiex || sensiex->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).sensiex = pedited->locallab.spots.at(pp->locallab.selspot).sensiex || sensiex->getEditedState();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).structexp = pedited->locallab.spots.at(pp->locallab.selspot).structexp || structexp->getEditedState();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).blurexpde = pedited->locallab.spots.at(pp->locallab.selspot).blurexpde || blurexpde->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).excurve = pedited->locallab.spots.at(pp->locallab.selspot).excurve || !shapeexpos->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).excurve = pedited->locallab.spots.at(pp->locallab.selspot).excurve || !shapeexpos->isUnChanged();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).enaExpMask = pedited->locallab.spots.at(pp->locallab.selspot).enaExpMask || !enaExpMask->get_inconsistent();
|
pedited->locallab.spots.at(pp->locallab.selspot).enaExpMask = pedited->locallab.spots.at(pp->locallab.selspot).enaExpMask || !enaExpMask->get_inconsistent();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve = pedited->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve || !CCmaskexpshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve = pedited->locallab.spots.at(pp->locallab.selspot).CCmaskexpcurve || !CCmaskexpshape->isUnChanged();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve = pedited->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve || !LLmaskexpshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve = pedited->locallab.spots.at(pp->locallab.selspot).LLmaskexpcurve || !LLmaskexpshape->isUnChanged();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).HHmaskexpcurve = pedited->locallab.spots.at(pp->locallab.selspot).HHmaskexpcurve || !HHmaskexpshape->isUnChanged();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).blendmaskexp = pedited->locallab.spots.at(pp->locallab.selspot).blendmaskexp || blendmaskexp->getEditedState();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).expvibrance = pedited->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
pedited->locallab.spots.at(pp->locallab.selspot).expvibrance = pedited->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).saturated = pedited->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).saturated = pedited->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
||||||
@ -2054,6 +2101,11 @@ void Locallab::curveChanged(CurveEditor* ce)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ce == HHmaskexpshape) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(EvlocallabHHmaskexpshape, M("HISTORY_CUSTOMCURVE"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
@ -2463,6 +2515,8 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
contrast->setDefault((double)defSpot->contrast);
|
contrast->setDefault((double)defSpot->contrast);
|
||||||
chroma->setDefault((double)defSpot->chroma);
|
chroma->setDefault((double)defSpot->chroma);
|
||||||
sensi->setDefault((double)defSpot->sensi);
|
sensi->setDefault((double)defSpot->sensi);
|
||||||
|
structcol->setDefault((double)defSpot->structcol);
|
||||||
|
blendmaskcol->setDefault((double)defSpot->blendmaskcol);
|
||||||
// Exposure
|
// Exposure
|
||||||
expcomp->setDefault((double)defSpot->expcomp);
|
expcomp->setDefault((double)defSpot->expcomp);
|
||||||
hlcompr->setDefault((double)defSpot->hlcompr);
|
hlcompr->setDefault((double)defSpot->hlcompr);
|
||||||
@ -2471,6 +2525,9 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
shcompr->setDefault((double)defSpot->shcompr);
|
shcompr->setDefault((double)defSpot->shcompr);
|
||||||
warm->setDefault((double)defSpot->warm);
|
warm->setDefault((double)defSpot->warm);
|
||||||
sensiex->setDefault((double)defSpot->sensiex);
|
sensiex->setDefault((double)defSpot->sensiex);
|
||||||
|
structexp->setDefault((double)defSpot->structexp);
|
||||||
|
blurexpde->setDefault((double)defSpot->blurexpde);
|
||||||
|
blendmaskexp->setDefault((double)defSpot->blendmaskexp);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->setDefault((double)defSpot->saturated);
|
saturated->setDefault((double)defSpot->saturated);
|
||||||
pastels->setDefault((double)defSpot->pastels);
|
pastels->setDefault((double)defSpot->pastels);
|
||||||
@ -2537,6 +2594,8 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
contrast->setDefaultEditedState(Irrelevant);
|
contrast->setDefaultEditedState(Irrelevant);
|
||||||
chroma->setDefaultEditedState(Irrelevant);
|
chroma->setDefaultEditedState(Irrelevant);
|
||||||
sensi->setDefaultEditedState(Irrelevant);
|
sensi->setDefaultEditedState(Irrelevant);
|
||||||
|
structcol->setDefaultEditedState(Irrelevant);
|
||||||
|
blendmaskcol->setDefaultEditedState(Irrelevant);
|
||||||
// Exposure
|
// Exposure
|
||||||
expcomp->setDefaultEditedState(Irrelevant);
|
expcomp->setDefaultEditedState(Irrelevant);
|
||||||
hlcompr->setDefaultEditedState(Irrelevant);
|
hlcompr->setDefaultEditedState(Irrelevant);
|
||||||
@ -2545,6 +2604,9 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
shcompr->setDefaultEditedState(Irrelevant);
|
shcompr->setDefaultEditedState(Irrelevant);
|
||||||
warm->setDefaultEditedState(Irrelevant);
|
warm->setDefaultEditedState(Irrelevant);
|
||||||
sensiex->setDefaultEditedState(Irrelevant);
|
sensiex->setDefaultEditedState(Irrelevant);
|
||||||
|
structexp->setDefaultEditedState(Irrelevant);
|
||||||
|
blurexpde->setDefaultEditedState(Irrelevant);
|
||||||
|
blendmaskexp->setDefaultEditedState(Irrelevant);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->setDefaultEditedState(Irrelevant);
|
saturated->setDefaultEditedState(Irrelevant);
|
||||||
pastels->setDefaultEditedState(Irrelevant);
|
pastels->setDefaultEditedState(Irrelevant);
|
||||||
@ -2615,6 +2677,8 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
contrast->setDefaultEditedState(defSpotState->contrast ? Edited : UnEdited);
|
contrast->setDefaultEditedState(defSpotState->contrast ? Edited : UnEdited);
|
||||||
chroma->setDefaultEditedState(defSpotState->chroma ? Edited : UnEdited);
|
chroma->setDefaultEditedState(defSpotState->chroma ? Edited : UnEdited);
|
||||||
sensi->setDefaultEditedState(defSpotState->sensi ? Edited : UnEdited);
|
sensi->setDefaultEditedState(defSpotState->sensi ? Edited : UnEdited);
|
||||||
|
structcol->setDefaultEditedState(defSpotState->structcol ? Edited : UnEdited);
|
||||||
|
blendmaskcol->setDefaultEditedState(defSpotState->blendmaskcol ? Edited : UnEdited);
|
||||||
// Exposure
|
// Exposure
|
||||||
expcomp->setDefaultEditedState(defSpotState->expcomp ? Edited : UnEdited);
|
expcomp->setDefaultEditedState(defSpotState->expcomp ? Edited : UnEdited);
|
||||||
hlcompr->setDefaultEditedState(defSpotState->hlcompr ? Edited : UnEdited);
|
hlcompr->setDefaultEditedState(defSpotState->hlcompr ? Edited : UnEdited);
|
||||||
@ -2623,6 +2687,9 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
shcompr->setDefaultEditedState(defSpotState->shcompr ? Edited : UnEdited);
|
shcompr->setDefaultEditedState(defSpotState->shcompr ? Edited : UnEdited);
|
||||||
warm->setDefaultEditedState(defSpotState->warm ? Edited : UnEdited);
|
warm->setDefaultEditedState(defSpotState->warm ? Edited : UnEdited);
|
||||||
sensiex->setDefaultEditedState(defSpotState->sensiex ? Edited : UnEdited);
|
sensiex->setDefaultEditedState(defSpotState->sensiex ? Edited : UnEdited);
|
||||||
|
structexp->setDefaultEditedState(defSpotState->structexp ? Edited : UnEdited);
|
||||||
|
blurexpde->setDefaultEditedState(defSpotState->blurexpde ? Edited : UnEdited);
|
||||||
|
blendmaskexp->setDefaultEditedState(defSpotState->blendmaskexp ? Edited : UnEdited);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->setDefaultEditedState(defSpotState->saturated ? Edited : UnEdited);
|
saturated->setDefaultEditedState(defSpotState->saturated ? Edited : UnEdited);
|
||||||
pastels->setDefaultEditedState(defSpotState->pastels ? Edited : UnEdited);
|
pastels->setDefaultEditedState(defSpotState->pastels ? Edited : UnEdited);
|
||||||
@ -2748,6 +2815,19 @@ void Locallab::adjusterChanged(Adjuster * a, double newval)
|
|||||||
listener->panelChanged(Evlocallabsensi, sensi->getTextValue());
|
listener->panelChanged(Evlocallabsensi, sensi->getTextValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == structcol) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabstructcol, structcol->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (a == blendmaskcol) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabblendmaskcol, blendmaskcol->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exposure
|
// Exposure
|
||||||
@ -2802,6 +2882,25 @@ void Locallab::adjusterChanged(Adjuster * a, double newval)
|
|||||||
listener->panelChanged(Evlocallabsensiex, sensiex->getTextValue());
|
listener->panelChanged(Evlocallabsensiex, sensiex->getTextValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == structexp) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabstructexp, structexp->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (a == blurexpde) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabblurexpde, blurexpde->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (a == blendmaskexp) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabblendmaskexp, blendmaskexp->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
@ -3187,6 +3286,8 @@ void Locallab::setBatchMode(bool batchMode)
|
|||||||
contrast->showEditedCB();
|
contrast->showEditedCB();
|
||||||
chroma->showEditedCB();
|
chroma->showEditedCB();
|
||||||
sensi->showEditedCB();
|
sensi->showEditedCB();
|
||||||
|
structcol->showEditedCB();
|
||||||
|
blendmaskcol->showEditedCB();
|
||||||
// Exposure
|
// Exposure
|
||||||
expcomp->showEditedCB();
|
expcomp->showEditedCB();
|
||||||
hlcompr->showEditedCB();
|
hlcompr->showEditedCB();
|
||||||
@ -3195,6 +3296,9 @@ void Locallab::setBatchMode(bool batchMode)
|
|||||||
shcompr->showEditedCB();
|
shcompr->showEditedCB();
|
||||||
warm->showEditedCB();
|
warm->showEditedCB();
|
||||||
sensiex->showEditedCB();
|
sensiex->showEditedCB();
|
||||||
|
structexp->showEditedCB();
|
||||||
|
blurexpde->showEditedCB();
|
||||||
|
blendmaskexp->showEditedCB();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->showEditedCB();
|
saturated->showEditedCB();
|
||||||
pastels->showEditedCB();
|
pastels->showEditedCB();
|
||||||
@ -3400,12 +3504,12 @@ void Locallab::enableListener()
|
|||||||
curvactivConn.block(false);
|
curvactivConn.block(false);
|
||||||
qualitycurveMethodConn.block(false);
|
qualitycurveMethodConn.block(false);
|
||||||
inversConn.block(false);
|
inversConn.block(false);
|
||||||
enaColorMaskConn.block(false);
|
|
||||||
showmaskcolMethodConn.block(false);
|
showmaskcolMethodConn.block(false);
|
||||||
|
enaColorMaskConn.block(false);
|
||||||
// Exposure
|
// Exposure
|
||||||
enableexposeConn.block(false);
|
enableexposeConn.block(false);
|
||||||
enaExpMaskConn.block(false);
|
|
||||||
showmaskexpMethodConn.block(false);
|
showmaskexpMethodConn.block(false);
|
||||||
|
enaExpMaskConn.block(false);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
enablevibranceConn.block(false);
|
enablevibranceConn.block(false);
|
||||||
pskinsconn.block(false);
|
pskinsconn.block(false);
|
||||||
@ -3447,12 +3551,12 @@ void Locallab::disableListener()
|
|||||||
curvactivConn.block(true);
|
curvactivConn.block(true);
|
||||||
qualitycurveMethodConn.block(true);
|
qualitycurveMethodConn.block(true);
|
||||||
inversConn.block(true);
|
inversConn.block(true);
|
||||||
enaColorMaskConn.block(true);
|
|
||||||
showmaskcolMethodConn.block(true);
|
showmaskcolMethodConn.block(true);
|
||||||
|
enaColorMaskConn.block(true);
|
||||||
// Exposure
|
// Exposure
|
||||||
enableexposeConn.block(true);
|
enableexposeConn.block(true);
|
||||||
enaExpMaskConn.block(true);
|
|
||||||
showmaskexpMethodConn.block(true);
|
showmaskexpMethodConn.block(true);
|
||||||
|
enaExpMaskConn.block(true);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
enablevibranceConn.block(true);
|
enablevibranceConn.block(true);
|
||||||
pskinsconn.block(true);
|
pskinsconn.block(true);
|
||||||
@ -3497,6 +3601,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
contrast->setValue(pp->locallab.spots.at(index).contrast);
|
contrast->setValue(pp->locallab.spots.at(index).contrast);
|
||||||
chroma->setValue(pp->locallab.spots.at(index).chroma);
|
chroma->setValue(pp->locallab.spots.at(index).chroma);
|
||||||
sensi->setValue(pp->locallab.spots.at(index).sensi);
|
sensi->setValue(pp->locallab.spots.at(index).sensi);
|
||||||
|
structcol->setValue(pp->locallab.spots.at(index).structcol);
|
||||||
|
|
||||||
if (pp->locallab.spots.at(index).qualitycurveMethod == "none") {
|
if (pp->locallab.spots.at(index).qualitycurveMethod == "none") {
|
||||||
qualitycurveMethod->set_active(0);
|
qualitycurveMethod->set_active(0);
|
||||||
@ -3521,6 +3626,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
CCmaskshape->setCurve(pp->locallab.spots.at(index).CCmaskcurve);
|
CCmaskshape->setCurve(pp->locallab.spots.at(index).CCmaskcurve);
|
||||||
LLmaskshape->setCurve(pp->locallab.spots.at(index).LLmaskcurve);
|
LLmaskshape->setCurve(pp->locallab.spots.at(index).LLmaskcurve);
|
||||||
HHmaskshape->setCurve(pp->locallab.spots.at(index).HHmaskcurve);
|
HHmaskshape->setCurve(pp->locallab.spots.at(index).HHmaskcurve);
|
||||||
|
blendmaskcol->setValue(pp->locallab.spots.at(index).blendmaskcol);
|
||||||
|
|
||||||
// Exposure
|
// Exposure
|
||||||
expexpose->setEnabled(pp->locallab.spots.at(index).expexpose);
|
expexpose->setEnabled(pp->locallab.spots.at(index).expexpose);
|
||||||
@ -3531,10 +3637,14 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
shcompr->setValue(pp->locallab.spots.at(index).shcompr);
|
shcompr->setValue(pp->locallab.spots.at(index).shcompr);
|
||||||
warm->setValue(pp->locallab.spots.at(index).warm);
|
warm->setValue(pp->locallab.spots.at(index).warm);
|
||||||
sensiex->setValue(pp->locallab.spots.at(index).sensiex);
|
sensiex->setValue(pp->locallab.spots.at(index).sensiex);
|
||||||
|
structexp->setValue(pp->locallab.spots.at(index).structexp);
|
||||||
|
blurexpde->setValue(pp->locallab.spots.at(index).blurexpde);
|
||||||
shapeexpos->setCurve(pp->locallab.spots.at(index).excurve);
|
shapeexpos->setCurve(pp->locallab.spots.at(index).excurve);
|
||||||
enaExpMask->set_active(pp->locallab.spots.at(index).enaExpMask);
|
enaExpMask->set_active(pp->locallab.spots.at(index).enaExpMask);
|
||||||
CCmaskexpshape->setCurve(pp->locallab.spots.at(index).CCmaskexpcurve);
|
CCmaskexpshape->setCurve(pp->locallab.spots.at(index).CCmaskexpcurve);
|
||||||
LLmaskexpshape->setCurve(pp->locallab.spots.at(index).LLmaskexpcurve);
|
LLmaskexpshape->setCurve(pp->locallab.spots.at(index).LLmaskexpcurve);
|
||||||
|
HHmaskexpshape->setCurve(pp->locallab.spots.at(index).HHmaskexpcurve);
|
||||||
|
blendmaskexp->setValue(pp->locallab.spots.at(index).blendmaskexp);
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance->setEnabled(pp->locallab.spots.at(index).expvibrance);
|
expvibrance->setEnabled(pp->locallab.spots.at(index).expvibrance);
|
||||||
@ -3687,6 +3797,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
contrast->setEditedState(spotState->contrast ? Edited : UnEdited);
|
contrast->setEditedState(spotState->contrast ? Edited : UnEdited);
|
||||||
chroma->setEditedState(spotState->chroma ? Edited : UnEdited);
|
chroma->setEditedState(spotState->chroma ? Edited : UnEdited);
|
||||||
sensi->setEditedState(spotState->sensi ? Edited : UnEdited);
|
sensi->setEditedState(spotState->sensi ? Edited : UnEdited);
|
||||||
|
structcol->setEditedState(spotState->structcol ? Edited : UnEdited);
|
||||||
|
|
||||||
if (!spotState->qualitycurveMethod) {
|
if (!spotState->qualitycurveMethod) {
|
||||||
qualitycurveMethod->set_active_text(M("GENERAL_UNCHANGED"));
|
qualitycurveMethod->set_active_text(M("GENERAL_UNCHANGED"));
|
||||||
@ -3701,7 +3812,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
CCmaskshape->setUnChanged(!spotState->CCmaskcurve);
|
CCmaskshape->setUnChanged(!spotState->CCmaskcurve);
|
||||||
LLmaskshape->setUnChanged(!spotState->LLmaskcurve);
|
LLmaskshape->setUnChanged(!spotState->LLmaskcurve);
|
||||||
HHmaskshape->setUnChanged(!spotState->HHmaskcurve);
|
HHmaskshape->setUnChanged(!spotState->HHmaskcurve);
|
||||||
|
blendmaskcol->setEditedState(spotState->blendmaskcol ? Edited : UnEdited);
|
||||||
|
|
||||||
// Exposure
|
// Exposure
|
||||||
expexpose->set_inconsistent(!spotState->expexpose);
|
expexpose->set_inconsistent(!spotState->expexpose);
|
||||||
@ -3712,10 +3823,14 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
warm->setEditedState(spotState->warm ? Edited : UnEdited);
|
warm->setEditedState(spotState->warm ? Edited : UnEdited);
|
||||||
shcompr->setEditedState(spotState->shcompr ? Edited : UnEdited);
|
shcompr->setEditedState(spotState->shcompr ? Edited : UnEdited);
|
||||||
sensiex->setEditedState(spotState->sensiex ? Edited : UnEdited);
|
sensiex->setEditedState(spotState->sensiex ? Edited : UnEdited);
|
||||||
|
structexp->setEditedState(spotState->structexp ? Edited : UnEdited);
|
||||||
|
blurexpde->setEditedState(spotState->blurexpde ? Edited : UnEdited);
|
||||||
shapeexpos->setUnChanged(!spotState->excurve);
|
shapeexpos->setUnChanged(!spotState->excurve);
|
||||||
enaExpMask->set_inconsistent(multiImage && !spotState->enaExpMask);
|
enaExpMask->set_inconsistent(multiImage && !spotState->enaExpMask);
|
||||||
CCmaskexpshape->setUnChanged(!spotState->CCmaskexpcurve);
|
CCmaskexpshape->setUnChanged(!spotState->CCmaskexpcurve);
|
||||||
LLmaskexpshape->setUnChanged(!spotState->LLmaskexpcurve);
|
LLmaskexpshape->setUnChanged(!spotState->LLmaskexpcurve);
|
||||||
|
HHmaskexpshape->setUnChanged(!spotState->HHmaskexpcurve);
|
||||||
|
blendmaskexp->setEditedState(spotState->blendmaskexp ? Edited : UnEdited);
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance->set_inconsistent(!spotState->expvibrance);
|
expvibrance->set_inconsistent(!spotState->expvibrance);
|
||||||
|
@ -78,6 +78,7 @@ private:
|
|||||||
DiagonalCurveEditor* shapeexpos;
|
DiagonalCurveEditor* shapeexpos;
|
||||||
FlatCurveEditor* CCmaskexpshape;
|
FlatCurveEditor* CCmaskexpshape;
|
||||||
FlatCurveEditor* LLmaskexpshape;
|
FlatCurveEditor* LLmaskexpshape;
|
||||||
|
FlatCurveEditor* HHmaskexpshape;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
CurveEditorGroup* const curveEditorGG;
|
CurveEditorGroup* const curveEditorGG;
|
||||||
DiagonalCurveEditor* skinTonesCurve;
|
DiagonalCurveEditor* skinTonesCurve;
|
||||||
@ -91,6 +92,8 @@ private:
|
|||||||
Adjuster* const contrast;
|
Adjuster* const contrast;
|
||||||
Adjuster* const chroma;
|
Adjuster* const chroma;
|
||||||
Adjuster* const sensi;
|
Adjuster* const sensi;
|
||||||
|
Adjuster* const structcol;
|
||||||
|
Adjuster* const blendmaskcol;
|
||||||
// Exposure
|
// Exposure
|
||||||
Adjuster* const expcomp;
|
Adjuster* const expcomp;
|
||||||
Adjuster* const hlcompr;
|
Adjuster* const hlcompr;
|
||||||
@ -99,6 +102,9 @@ private:
|
|||||||
Adjuster* const shcompr;
|
Adjuster* const shcompr;
|
||||||
Adjuster* const warm;
|
Adjuster* const warm;
|
||||||
Adjuster* const sensiex;
|
Adjuster* const sensiex;
|
||||||
|
Adjuster* const structexp;
|
||||||
|
Adjuster* const blurexpde;
|
||||||
|
Adjuster* const blendmaskexp;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
Adjuster* const saturated;
|
Adjuster* const saturated;
|
||||||
Adjuster* const pastels;
|
Adjuster* const pastels;
|
||||||
|
@ -209,6 +209,27 @@ Glib::ustring MultiLangMgr::getOSUserLanguage ()
|
|||||||
{
|
{
|
||||||
Glib::ustring langName ("default");
|
Glib::ustring langName ("default");
|
||||||
|
|
||||||
|
#if defined (WIN32)
|
||||||
|
|
||||||
|
const LCID localeID = GetUserDefaultLCID ();
|
||||||
|
TCHAR localeName[18];
|
||||||
|
|
||||||
|
const int langLen = GetLocaleInfo (localeID, LOCALE_SISO639LANGNAME, localeName, 9);
|
||||||
|
if (langLen <= 0) {
|
||||||
|
return langName;
|
||||||
|
}
|
||||||
|
|
||||||
|
localeName[langLen - 1] = '-';
|
||||||
|
|
||||||
|
const int countryLen = GetLocaleInfo (localeID, LOCALE_SISO3166CTRYNAME, &localeName[langLen], 9);
|
||||||
|
if (countryLen <= 0) {
|
||||||
|
return langName;
|
||||||
|
}
|
||||||
|
|
||||||
|
langName = localeToLang (localeName);
|
||||||
|
|
||||||
|
#elif defined (__linux__) || defined (__APPLE__)
|
||||||
|
|
||||||
// Query the current locale and force decimal point to dot.
|
// Query the current locale and force decimal point to dot.
|
||||||
const char *locale = getenv("LANG");
|
const char *locale = getenv("LANG");
|
||||||
if (locale || (locale = setlocale (LC_CTYPE, ""))) {
|
if (locale || (locale = setlocale (LC_CTYPE, ""))) {
|
||||||
@ -217,5 +238,7 @@ Glib::ustring MultiLangMgr::getOSUserLanguage ()
|
|||||||
|
|
||||||
setlocale (LC_NUMERIC, "C");
|
setlocale (LC_NUMERIC, "C");
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
return langName;
|
return langName;
|
||||||
}
|
}
|
||||||
|
@ -948,6 +948,8 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).contrast = locallab.spots.at(j).contrast && pSpot.contrast == otherSpot.contrast;
|
locallab.spots.at(j).contrast = locallab.spots.at(j).contrast && pSpot.contrast == otherSpot.contrast;
|
||||||
locallab.spots.at(j).chroma = locallab.spots.at(j).chroma && pSpot.chroma == otherSpot.chroma;
|
locallab.spots.at(j).chroma = locallab.spots.at(j).chroma && pSpot.chroma == otherSpot.chroma;
|
||||||
locallab.spots.at(j).sensi = locallab.spots.at(j).sensi && pSpot.sensi == otherSpot.sensi;
|
locallab.spots.at(j).sensi = locallab.spots.at(j).sensi && pSpot.sensi == otherSpot.sensi;
|
||||||
|
locallab.spots.at(j).structcol = locallab.spots.at(j).structcol && pSpot.structcol == otherSpot.structcol;
|
||||||
|
locallab.spots.at(j).blendmaskcol = locallab.spots.at(j).blendmaskcol && pSpot.blendmaskcol == otherSpot.blendmaskcol;
|
||||||
locallab.spots.at(j).qualitycurveMethod = locallab.spots.at(j).qualitycurveMethod && pSpot.qualitycurveMethod == otherSpot.qualitycurveMethod;
|
locallab.spots.at(j).qualitycurveMethod = locallab.spots.at(j).qualitycurveMethod && pSpot.qualitycurveMethod == otherSpot.qualitycurveMethod;
|
||||||
locallab.spots.at(j).llcurve = locallab.spots.at(j).llcurve && pSpot.llcurve == otherSpot.llcurve;
|
locallab.spots.at(j).llcurve = locallab.spots.at(j).llcurve && pSpot.llcurve == otherSpot.llcurve;
|
||||||
locallab.spots.at(j).cccurve = locallab.spots.at(j).cccurve && pSpot.cccurve == otherSpot.cccurve;
|
locallab.spots.at(j).cccurve = locallab.spots.at(j).cccurve && pSpot.cccurve == otherSpot.cccurve;
|
||||||
@ -967,10 +969,14 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).shcompr = locallab.spots.at(j).shcompr && pSpot.shcompr == otherSpot.shcompr;
|
locallab.spots.at(j).shcompr = locallab.spots.at(j).shcompr && pSpot.shcompr == otherSpot.shcompr;
|
||||||
locallab.spots.at(j).warm = locallab.spots.at(j).warm && pSpot.warm == otherSpot.warm;
|
locallab.spots.at(j).warm = locallab.spots.at(j).warm && pSpot.warm == otherSpot.warm;
|
||||||
locallab.spots.at(j).sensiex = locallab.spots.at(j).sensiex && pSpot.sensiex == otherSpot.sensiex;
|
locallab.spots.at(j).sensiex = locallab.spots.at(j).sensiex && pSpot.sensiex == otherSpot.sensiex;
|
||||||
|
locallab.spots.at(j).structexp = locallab.spots.at(j).structexp && pSpot.structexp == otherSpot.structexp;
|
||||||
|
locallab.spots.at(j).blurexpde = locallab.spots.at(j).blurexpde && pSpot.blurexpde == otherSpot.blurexpde;
|
||||||
locallab.spots.at(j).excurve = locallab.spots.at(j).excurve && pSpot.excurve == otherSpot.excurve;
|
locallab.spots.at(j).excurve = locallab.spots.at(j).excurve && pSpot.excurve == otherSpot.excurve;
|
||||||
locallab.spots.at(j).enaExpMask = locallab.spots.at(j).enaExpMask && pSpot.enaExpMask == otherSpot.enaExpMask;
|
locallab.spots.at(j).enaExpMask = locallab.spots.at(j).enaExpMask && pSpot.enaExpMask == otherSpot.enaExpMask;
|
||||||
locallab.spots.at(j).CCmaskexpcurve = locallab.spots.at(j).CCmaskexpcurve && pSpot.CCmaskexpcurve == otherSpot.CCmaskexpcurve;
|
locallab.spots.at(j).CCmaskexpcurve = locallab.spots.at(j).CCmaskexpcurve && pSpot.CCmaskexpcurve == otherSpot.CCmaskexpcurve;
|
||||||
locallab.spots.at(j).LLmaskexpcurve = locallab.spots.at(j).LLmaskexpcurve && pSpot.LLmaskexpcurve == otherSpot.LLmaskexpcurve;
|
locallab.spots.at(j).LLmaskexpcurve = locallab.spots.at(j).LLmaskexpcurve && pSpot.LLmaskexpcurve == otherSpot.LLmaskexpcurve;
|
||||||
|
locallab.spots.at(j).HHmaskexpcurve = locallab.spots.at(j).HHmaskexpcurve && pSpot.HHmaskexpcurve == otherSpot.HHmaskexpcurve;
|
||||||
|
locallab.spots.at(j).blendmaskexp = locallab.spots.at(j).blendmaskexp && pSpot.blendmaskexp == otherSpot.blendmaskexp;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
locallab.spots.at(j).expvibrance = locallab.spots.at(j).expvibrance && pSpot.expvibrance == otherSpot.expvibrance;
|
locallab.spots.at(j).expvibrance = locallab.spots.at(j).expvibrance && pSpot.expvibrance == otherSpot.expvibrance;
|
||||||
locallab.spots.at(j).saturated = locallab.spots.at(j).saturated && pSpot.saturated == otherSpot.saturated;
|
locallab.spots.at(j).saturated = locallab.spots.at(j).saturated && pSpot.saturated == otherSpot.saturated;
|
||||||
@ -2575,6 +2581,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).sensi = mods.locallab.spots.at(i).sensi;
|
toEdit.locallab.spots.at(i).sensi = mods.locallab.spots.at(i).sensi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).structcol) {
|
||||||
|
toEdit.locallab.spots.at(i).structcol = mods.locallab.spots.at(i).structcol;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).blendmaskcol) {
|
||||||
|
toEdit.locallab.spots.at(i).blendmaskcol = mods.locallab.spots.at(i).blendmaskcol;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).qualitycurveMethod) {
|
if (locallab.spots.at(i).qualitycurveMethod) {
|
||||||
toEdit.locallab.spots.at(i).qualitycurveMethod = mods.locallab.spots.at(i).qualitycurveMethod;
|
toEdit.locallab.spots.at(i).qualitycurveMethod = mods.locallab.spots.at(i).qualitycurveMethod;
|
||||||
}
|
}
|
||||||
@ -2648,6 +2662,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).sensiex = mods.locallab.spots.at(i).sensiex;
|
toEdit.locallab.spots.at(i).sensiex = mods.locallab.spots.at(i).sensiex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).structexp) {
|
||||||
|
toEdit.locallab.spots.at(i).structexp = mods.locallab.spots.at(i).structexp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).blurexpde) {
|
||||||
|
toEdit.locallab.spots.at(i).blurexpde = mods.locallab.spots.at(i).blurexpde;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).excurve) {
|
if (locallab.spots.at(i).excurve) {
|
||||||
toEdit.locallab.spots.at(i).excurve = mods.locallab.spots.at(i).excurve;
|
toEdit.locallab.spots.at(i).excurve = mods.locallab.spots.at(i).excurve;
|
||||||
}
|
}
|
||||||
@ -2664,6 +2686,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).LLmaskexpcurve = mods.locallab.spots.at(i).LLmaskexpcurve;
|
toEdit.locallab.spots.at(i).LLmaskexpcurve = mods.locallab.spots.at(i).LLmaskexpcurve;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).HHmaskexpcurve) {
|
||||||
|
toEdit.locallab.spots.at(i).HHmaskexpcurve = mods.locallab.spots.at(i).HHmaskexpcurve;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).blendmaskexp) {
|
||||||
|
toEdit.locallab.spots.at(i).blendmaskexp = mods.locallab.spots.at(i).blendmaskexp;
|
||||||
|
}
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
if (locallab.spots.at(i).expvibrance) {
|
if (locallab.spots.at(i).expvibrance) {
|
||||||
toEdit.locallab.spots.at(i).expvibrance = mods.locallab.spots.at(i).expvibrance;
|
toEdit.locallab.spots.at(i).expvibrance = mods.locallab.spots.at(i).expvibrance;
|
||||||
@ -3915,6 +3945,8 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
contrast(v),
|
contrast(v),
|
||||||
chroma(v),
|
chroma(v),
|
||||||
sensi(v),
|
sensi(v),
|
||||||
|
structcol(v),
|
||||||
|
blendmaskcol(v),
|
||||||
qualitycurveMethod(v),
|
qualitycurveMethod(v),
|
||||||
llcurve(v),
|
llcurve(v),
|
||||||
cccurve(v),
|
cccurve(v),
|
||||||
@ -3934,10 +3966,14 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
shcompr(v),
|
shcompr(v),
|
||||||
warm(v),
|
warm(v),
|
||||||
sensiex(v),
|
sensiex(v),
|
||||||
|
structexp(v),
|
||||||
|
blurexpde(v),
|
||||||
excurve(v),
|
excurve(v),
|
||||||
enaExpMask(v),
|
enaExpMask(v),
|
||||||
CCmaskexpcurve(v),
|
CCmaskexpcurve(v),
|
||||||
LLmaskexpcurve(v),
|
LLmaskexpcurve(v),
|
||||||
|
HHmaskexpcurve(v),
|
||||||
|
blendmaskexp(v),
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance(v),
|
expvibrance(v),
|
||||||
saturated(v),
|
saturated(v),
|
||||||
@ -4047,6 +4083,8 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
contrast = v;
|
contrast = v;
|
||||||
chroma = v;
|
chroma = v;
|
||||||
sensi = v;
|
sensi = v;
|
||||||
|
structcol = v;
|
||||||
|
blendmaskcol = v;
|
||||||
qualitycurveMethod = v;
|
qualitycurveMethod = v;
|
||||||
llcurve = v;
|
llcurve = v;
|
||||||
cccurve = v;
|
cccurve = v;
|
||||||
@ -4066,10 +4104,14 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
shcompr = v;
|
shcompr = v;
|
||||||
warm = v;
|
warm = v;
|
||||||
sensiex = v;
|
sensiex = v;
|
||||||
|
structexp = v;
|
||||||
|
blurexpde = v;
|
||||||
excurve = v;
|
excurve = v;
|
||||||
enaExpMask = v;
|
enaExpMask = v;
|
||||||
CCmaskexpcurve = v;
|
CCmaskexpcurve = v;
|
||||||
LLmaskexpcurve = v;
|
LLmaskexpcurve = v;
|
||||||
|
HHmaskexpcurve = v;
|
||||||
|
blendmaskexp = v;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance = v;
|
expvibrance = v;
|
||||||
saturated = v;
|
saturated = v;
|
||||||
|
@ -487,6 +487,8 @@ public:
|
|||||||
bool contrast;
|
bool contrast;
|
||||||
bool chroma;
|
bool chroma;
|
||||||
bool sensi;
|
bool sensi;
|
||||||
|
bool structcol;
|
||||||
|
bool blendmaskcol;
|
||||||
bool qualitycurveMethod;
|
bool qualitycurveMethod;
|
||||||
bool llcurve;
|
bool llcurve;
|
||||||
bool cccurve;
|
bool cccurve;
|
||||||
@ -506,10 +508,14 @@ public:
|
|||||||
bool shcompr;
|
bool shcompr;
|
||||||
bool warm;
|
bool warm;
|
||||||
bool sensiex;
|
bool sensiex;
|
||||||
|
bool structexp;
|
||||||
|
bool blurexpde;
|
||||||
bool excurve;
|
bool excurve;
|
||||||
bool enaExpMask;
|
bool enaExpMask;
|
||||||
bool CCmaskexpcurve;
|
bool CCmaskexpcurve;
|
||||||
bool LLmaskexpcurve;
|
bool LLmaskexpcurve;
|
||||||
|
bool HHmaskexpcurve;
|
||||||
|
bool blendmaskexp;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
bool expvibrance;
|
bool expvibrance;
|
||||||
bool saturated;
|
bool saturated;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user