diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ef8230c6..d62d191e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -164,7 +164,7 @@ endif()
if(NOT DEFINED DATADIR)
if(BUILD_BUNDLE)
if(APPLE)
- set(DATADIR "../Resources")
+ set(DATADIR "../../Resources")
else()
set(DATADIR .)
endif()
@@ -176,7 +176,7 @@ endif()
if(NOT DEFINED LIBDIR)
if(BUILD_BUNDLE)
if(APPLE)
- set(LIBDIR "../Frameworks")
+ set(LIBDIR "../../Frameworks")
else()
set(LIBDIR .)
endif()
@@ -256,6 +256,10 @@ if(APPLE)
if("${CODESIGNID}")
set(CODESIGNID "${CODESIGNID}" CACHE STRING "Codesigning Identity")
endif()
+ if("${NOTARY}")
+ set(NOTARY "${NOTARY}" CACHE STRING "Notarization Identity")
+ endif()
+
endif()
# Enforce absolute paths for non-bundle builds:
diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index 73970424b..974e51c38 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -84,8 +84,6 @@ FILEBROWSER_COPYPROFILE;Copia
FILEBROWSER_CURRENT_NAME;Nom actual:
FILEBROWSER_DARKFRAME;Marc fosc
FILEBROWSER_DELETEDIALOG_HEADER;Confirmació d'esborrar fitxer
-FILEBROWSER_DELETEDIALOG_SELECTED;Segur que voleu esborrar els %1 fitxers?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Segur que voleu suprimir els fitxers %1 seleccionats incloent la versió processada a la cua?
FILEBROWSER_EMPTYTRASH;Buida paperera
FILEBROWSER_EXTPROGMENU;Obre amb
FILEBROWSER_FLATFIELD;Camp pla
@@ -108,8 +106,6 @@ FILEBROWSER_POPUPPROCESS;Posa a la cua
FILEBROWSER_POPUPPROCESSFAST;Posa a la cua (export. ràpida)
FILEBROWSER_POPUPPROFILEOPERATIONS;Processant operacions de perfil
FILEBROWSER_POPUPRANK;Rang
-FILEBROWSER_POPUPREMOVE;Esborra el fitxer
-FILEBROWSER_POPUPREMOVEINCLPROC;Esborra amb sortida de la cua
FILEBROWSER_POPUPRENAME;Reanomena
FILEBROWSER_POPUPSELECTALL;Selec. tot
FILEBROWSER_POPUPTRASH;Llença a la paperera
@@ -942,8 +938,10 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
!FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
!FILEBROWSER_POPUPCOLORLABEL0;Label: None
!FILEBROWSER_POPUPCOLORLABEL1;Label: Red
!FILEBROWSER_POPUPCOLORLABEL2;Label: Yellow
@@ -956,13 +954,15 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!FILEBROWSER_POPUPRANK3;Rank 3 ***
!FILEBROWSER_POPUPRANK4;Rank 4 ****
!FILEBROWSER_POPUPRANK5;Rank 5 *****
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_RANK1_TOOLTIP;Rank 1 *\nShortcut: Shift-1
!FILEBROWSER_RANK2_TOOLTIP;Rank 2 *\nShortcut: Shift-2
!FILEBROWSER_RANK3_TOOLTIP;Rank 3 *\nShortcut: Shift-3
!FILEBROWSER_RANK4_TOOLTIP;Rank 4 *\nShortcut: Shift-4
!FILEBROWSER_RANK5_TOOLTIP;Rank 5 *\nShortcut: Shift-5
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILEBROWSER_UNRANK_TOOLTIP;Unrank.\nShortcut: Shift-0
!FILECHOOSER_FILTER_ANY;All files
@@ -1703,7 +1703,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
!TP_COLORAPP_SURROUND_DARK;Dark
!TP_COLORAPP_SURROUND_DIM;Dim
!TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet)
-!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
!TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness
!TP_COLORAPP_TCMODE_CHROMA;Chroma
!TP_COLORAPP_TCMODE_COLORF;Colorfulness
diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified)
index fde2aab1b..82c8ddfa6 100644
--- a/rtdata/languages/Chinese (Simplified)
+++ b/rtdata/languages/Chinese (Simplified)
@@ -96,8 +96,6 @@ FILEBROWSER_COPYPROFILE;复制配置
FILEBROWSER_CURRENT_NAME;当前名称:
FILEBROWSER_DARKFRAME;暗场
FILEBROWSER_DELETEDIALOG_HEADER;确认删除
-FILEBROWSER_DELETEDIALOG_SELECTED;确定删除所选的%1个文件?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;你确认要删除选择的 %1 文件 包括 一个处理队列中的版本?
FILEBROWSER_EMPTYTRASH;清空垃圾箱
FILEBROWSER_EXTPROGMENU;调用程序...
FILEBROWSER_FLATFIELD;平场
@@ -132,8 +130,6 @@ FILEBROWSER_POPUPRANK2;评 2 星
FILEBROWSER_POPUPRANK3;评 3 星
FILEBROWSER_POPUPRANK4;评 4 星
FILEBROWSER_POPUPRANK5;评 5 星
-FILEBROWSER_POPUPREMOVE;从文件系统中移除
-FILEBROWSER_POPUPREMOVEINCLPROC;删除序列输出
FILEBROWSER_POPUPRENAME;重命名
FILEBROWSER_POPUPSELECTALL;全部选中
FILEBROWSER_POPUPTRASH;移动到垃圾箱
@@ -957,8 +953,12 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
!FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_QUERYHINT;Type filenames to search for. Supports partial filenames. Separate the search terms using commas, e.g.\n1001,1004,1199\n\nExclude search terms by prefixing them with !=\ne.g.\n!=1001,1004,1199\n\nShortcuts:\nCtrl-f - focus the Find box,\nEnter - search,\nEsc - clear the Find box,\nShift-Esc - defocus the Find box.
!FILEBROWSER_SHOWCOLORLABEL1HINT;Show images labeled Red.\nShortcut: Alt-1
!FILEBROWSER_SHOWCOLORLABEL2HINT;Show images labeled Yellow.\nShortcut: Alt-2
@@ -967,7 +967,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!FILEBROWSER_SHOWCOLORLABEL5HINT;Show images labeled Purple.\nShortcut: Alt-5
!FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7
!FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Show unsaved images.\nShortcut: Alt-6
!FILEBROWSER_SHOWUNCOLORHINT;Show images without a color label.\nShortcut: Alt-0
@@ -1654,7 +1654,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
!TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves.
!TP_COLORAPP_SURROUND;Surround
!TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet)
-!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
!TP_COLORAPP_TCMODE_CHROMA;Chroma
!TP_COLORAPP_TCMODE_COLORF;Colorfulness
!TP_COLORAPP_TCMODE_LABEL1;Curve mode 1
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 61f51cd2d..5df69dd3a 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -164,8 +164,6 @@ FILEBROWSER_COPYPROFILE;Kopírovat
FILEBROWSER_CURRENT_NAME;Současné jméno:
FILEBROWSER_DARKFRAME;Tmavý snímek
FILEBROWSER_DELETEDIALOG_HEADER;Potvrzení smazání souboru
-FILEBROWSER_DELETEDIALOG_SELECTED;Jste si jisti, že chcete vymazat %1 vybraných souborů?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Jste si jisti, že chcete vymazat %1 vybraných souborů včetně výstupů dávkového zpracování?
FILEBROWSER_EMPTYTRASH;Vysypat koš
FILEBROWSER_EXTPROGMENU;Otevřít pomocí
FILEBROWSER_FLATFIELD;Flat Field
@@ -200,8 +198,6 @@ FILEBROWSER_POPUPRANK2;Hodnocení 2 **
FILEBROWSER_POPUPRANK3;Hodnocení 3 ***
FILEBROWSER_POPUPRANK4;Hodnocení 4 ****
FILEBROWSER_POPUPRANK5;Hodnocení 5 *****
-FILEBROWSER_POPUPREMOVE;Smazat
-FILEBROWSER_POPUPREMOVEINCLPROC;Smazat včetně výstupů z fronty
FILEBROWSER_POPUPRENAME;Přejmenovat
FILEBROWSER_POPUPSELECTALL;Vybrat vše
FILEBROWSER_POPUPTRASH;Přesunout do koše
@@ -228,7 +224,6 @@ FILEBROWSER_SHOWDIRHINT;Smazat všechny filtry.\nZkratka: d
FILEBROWSER_SHOWEDITEDHINT;Ukázat upravené obrázky.\nZkratka: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Ukázat neupravené obrázky.\nZkratka: 6
FILEBROWSER_SHOWEXIFINFO;Zobrazit Exif informace.\n\nZkratky:\ni - režim více karet editoru,\nAlt-i - režim jedné karty editoru.
-FILEBROWSER_SHOWNOTTRASHHINT;Zobrazit pouze nesmazané obrázky.
FILEBROWSER_SHOWORIGINALHINT;Zobrazí pouze originální obrázky.\n\nPokud existuje několik obrázků se stejným názvem, ale rozdílnými příponami, bude jako originál vybrán ten, jehož přípona je nejvýše v seznamu přípon veVolby > Prohlížeč souborů > Analyzované přípony.
FILEBROWSER_SHOWRANK1HINT;Ukázat obrázky hodnocené jednou hvězdičkou.\nZkratka: 1
FILEBROWSER_SHOWRANK2HINT;Ukázat obrázky hodnocené dvěma hvězdičkami.\nZkratka: 2
@@ -2321,6 +2316,11 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index a2f33e6fe..950a33f45 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -81,6 +81,7 @@
#80 25.03.2019 Erweiterung (TooWaBoo) RT 5.6
#81 15.04.2019 Erweiterung (TooWaBoo) RT 5.6
#82 25.05.2019 Erweiterung (TooWaBoo) RT 5.6
+#83 06.07.2019 Erweiterung (TooWaBoo) RT 5.6
ABOUT_TAB_BUILD;Version
ABOUT_TAB_CREDITS;Danksagungen
@@ -201,10 +202,12 @@ FILEBROWSER_COLORLABEL_TOOLTIP;Farbmarkierung\n\nTaste: Strg +
FILEBROWSER_COPYPROFILE;Profil kopieren
FILEBROWSER_CURRENT_NAME;Aktueller Name:
FILEBROWSER_DARKFRAME;Dunkelbild
+FILEBROWSER_DELETEDIALOG_ALL;Möchten Sie wirklich %1 Dateien unwiderruflich löschen?
FILEBROWSER_DELETEDIALOG_HEADER;Dateien löschen
FILEBROWSER_DELETEDIALOG_SELECTED;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen?
FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen, mit allen aus der Stapelverarbeitung resultierenden zugehörigen Ausgabedateien?
FILEBROWSER_EMPTYTRASH;Papierkorb leeren
+FILEBROWSER_EMPTYTRASHHINT;Alle Dateien im Papierkorb\nunwiderruflich löschen.
FILEBROWSER_EXTPROGMENU;Öffnen mit
FILEBROWSER_FLATFIELD;Weißbild
FILEBROWSER_MOVETODARKFDIR;In Dunkelbild-Verzeichnis verschieben
@@ -229,7 +232,7 @@ FILEBROWSER_POPUPMOVETO;Verschieben nach...
FILEBROWSER_POPUPOPEN;Öffnen
FILEBROWSER_POPUPOPENINEDITOR;Im Editor öffnen
FILEBROWSER_POPUPPROCESS;Zur Warteschlange hinzufügen
-FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen (Schnelles Exportieren)
+FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen\n(Schnell-Export)
FILEBROWSER_POPUPPROFILEOPERATIONS;Profiloperationen
FILEBROWSER_POPUPRANK;Bewertung
FILEBROWSER_POPUPRANK0;Nicht bewertet
@@ -238,8 +241,6 @@ FILEBROWSER_POPUPRANK2;Bewertung 2 **
FILEBROWSER_POPUPRANK3;Bewertung 3 ***
FILEBROWSER_POPUPRANK4;Bewertung 4 ****
FILEBROWSER_POPUPRANK5;Bewertung 5 *****
-FILEBROWSER_POPUPREMOVE;Löschen
-FILEBROWSER_POPUPREMOVEINCLPROC;Löschen (auch Resultate der Stapelverarbeitung)
FILEBROWSER_POPUPRENAME;Umbenennen
FILEBROWSER_POPUPSELECTALL;Alle auswählen
FILEBROWSER_POPUPTRASH;In den Papierkorb verschieben
@@ -266,7 +267,6 @@ FILEBROWSER_SHOWDIRHINT;Alle Filter zurücksetzen.\nTaste: d
FILEBROWSER_SHOWEDITEDHINT;Nur bearbeitete Bilder anzeigen.\nTaste: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Nur unbearbeitete Bilder anzeigen.\nTaste: 6
FILEBROWSER_SHOWEXIFINFO;Bildinformationen ein-/ausblenden.\n\nIm Multi-Reitermodus:\nTaste: i\nIm Ein-Reitermodus:\nTaste: Alt + i
-FILEBROWSER_SHOWNOTTRASHHINT;Nur nicht gelöschte Bilder anzeigen.
FILEBROWSER_SHOWORIGINALHINT;Zeige nur das Originalbild.\n\nWenn mehrere Bilder mit dem gleichen Dateinamen und unterschiedlichen Dateitypen existieren, ist das Originalbild das Bild, welches in der Liste "Dateitypen anzeigen" unter Einstellungen > Dateiverwaltung als erstes gefunden wird.
FILEBROWSER_SHOWRANK1HINT;Nur mit 1 Stern bewertete Bilder anzeigen.\nTaste: 1
FILEBROWSER_SHOWRANK2HINT;Nur mit 2 Sternen bewertete Bilder anzeigen.\nTaste: 2
@@ -985,7 +985,7 @@ MAIN_TAB_DETAIL;Details
MAIN_TAB_DETAIL_TOOLTIP;Taste: Alt + d
MAIN_TAB_DEVELOP; Batchbearbeitung
MAIN_TAB_EXIF;Exif
-MAIN_TAB_EXPORT; Exportieren
+MAIN_TAB_EXPORT; Schnell-Export
MAIN_TAB_EXPOSURE;Belichtung
MAIN_TAB_EXPOSURE_TOOLTIP;Taste: Alt + e
MAIN_TAB_FAVORITES;Favoriten
@@ -2362,5 +2362,6 @@ ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
-FILEBROWSER_DELETEDIALOG_ALL;Möchten Sie wirklich %1 Dateien unwiderruflich löschen?
-FILEBROWSER_EMPTYTRASHHINT;Alle Dateien im Papierkorb\nunwiderruflich löschen.
+FILEBROWSER_POPUPREMOVE;Unwiderruflich löschen
+FILEBROWSER_POPUPREMOVEINCLPROC;Unwiderruflich löschen\n(einschl. aller Dateien der Stabelverarbeitung)
+FILEBROWSER_SHOWNOTTRASHHINT;Nur Bilder außerhalb des Papierkorbs anzeigen.
diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK)
index cda91f29a..6d1c7c09c 100644
--- a/rtdata/languages/English (UK)
+++ b/rtdata/languages/English (UK)
@@ -68,7 +68,7 @@ TP_COLORAPP_CHROMA_M_TOOLTIP;Colourfulness in CIECAM02 differs from L*a*b* and R
TP_COLORAPP_CURVEEDITOR3;Colour curve
TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colourfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of C, s or M after CIECAM02.\n\nC, s and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel.
TP_COLORAPP_LABEL;CIE Colour Appearance Model 2002
-TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
TP_COLORAPP_TCMODE_COLORF;Colourfulness
TP_COLORTONING_COLOR;Colour
TP_COLORTONING_LABEL;Colour Toning
@@ -239,12 +239,12 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!FILEBROWSER_COPYPROFILE;Copy
!FILEBROWSER_CURRENT_NAME;Current name:
!FILEBROWSER_DARKFRAME;Dark-frame
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
!FILEBROWSER_DELETEDIALOG_HEADER;File delete confirmation:
-!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to delete the selected %1 files?
-!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
!FILEBROWSER_EMPTYTRASH;Empty trash
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
!FILEBROWSER_EXTPROGMENU;Open with
!FILEBROWSER_FLATFIELD;Flat-Field
!FILEBROWSER_MOVETODARKFDIR;Move to dark-frames directory
@@ -277,8 +277,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!FILEBROWSER_POPUPRANK3;Rank 3 ***
!FILEBROWSER_POPUPRANK4;Rank 4 ****
!FILEBROWSER_POPUPRANK5;Rank 5 *****
-!FILEBROWSER_POPUPREMOVE;Delete
-!FILEBROWSER_POPUPREMOVEINCLPROC;Delete with output from queue
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_POPUPRENAME;Rename
!FILEBROWSER_POPUPSELECTALL;Select all
!FILEBROWSER_POPUPTRASH;Move to trash
@@ -305,7 +305,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7
!FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6
!FILEBROWSER_SHOWEXIFINFO;Show Exif info.\n\nShortcuts:\ni - Multiple Editor Tabs Mode,\nAlt-i - Single Editor Tab Mode.
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1-star.\nShortcut: 1
!FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2-star.\nShortcut: 2
diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US)
index 9affa9444..7f810f71f 100644
--- a/rtdata/languages/English (US)
+++ b/rtdata/languages/English (US)
@@ -122,12 +122,12 @@
!FILEBROWSER_COPYPROFILE;Copy
!FILEBROWSER_CURRENT_NAME;Current name:
!FILEBROWSER_DARKFRAME;Dark-frame
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
!FILEBROWSER_DELETEDIALOG_HEADER;File delete confirmation:
-!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to delete the selected %1 files?
-!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
!FILEBROWSER_EMPTYTRASH;Empty trash
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
!FILEBROWSER_EXTPROGMENU;Open with
!FILEBROWSER_FLATFIELD;Flat-Field
!FILEBROWSER_MOVETODARKFDIR;Move to dark-frames directory
@@ -161,8 +161,8 @@
!FILEBROWSER_POPUPRANK3;Rank 3 ***
!FILEBROWSER_POPUPRANK4;Rank 4 ****
!FILEBROWSER_POPUPRANK5;Rank 5 *****
-!FILEBROWSER_POPUPREMOVE;Delete
-!FILEBROWSER_POPUPREMOVEINCLPROC;Delete with output from queue
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_POPUPRENAME;Rename
!FILEBROWSER_POPUPSELECTALL;Select all
!FILEBROWSER_POPUPTRASH;Move to trash
@@ -189,7 +189,7 @@
!FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7
!FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6
!FILEBROWSER_SHOWEXIFINFO;Show Exif info.\n\nShortcuts:\ni - Multiple Editor Tabs Mode,\nAlt-i - Single Editor Tab Mode.
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1-star.\nShortcut: 1
!FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2-star.\nShortcut: 2
@@ -1430,7 +1430,7 @@
!TP_COLORAPP_SURROUND_DARK;Dark
!TP_COLORAPP_SURROUND_DIM;Dim
!TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet)
-!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
!TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness
!TP_COLORAPP_TCMODE_CHROMA;Chroma
!TP_COLORAPP_TCMODE_COLORF;Colorfulness
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index b1d76b24f..15a4d81f5 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -180,8 +180,6 @@ FILEBROWSER_COPYPROFILE;Copiar perfil
FILEBROWSER_CURRENT_NAME;Nombre actual:
FILEBROWSER_DARKFRAME;Toma Negra
FILEBROWSER_DELETEDIALOG_HEADER;Confirmación de borrar archivos
-FILEBROWSER_DELETEDIALOG_SELECTED;¿Seguro que quiere borrar los %1 archivos seleccionados?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;¿Seguro que quiere borrar los %1 archivos seleccionados incluyendo la versión procesada en la cola?
FILEBROWSER_EMPTYTRASH;Vaciar papelera
FILEBROWSER_EXTPROGMENU;Abrir con
FILEBROWSER_FLATFIELD;Campo plano
@@ -216,8 +214,6 @@ FILEBROWSER_POPUPRANK2;Rango 2 **
FILEBROWSER_POPUPRANK3;Rango 3 ***
FILEBROWSER_POPUPRANK4;Rango 4 ****
FILEBROWSER_POPUPRANK5;Rango 5 *****
-FILEBROWSER_POPUPREMOVE;Borrar
-FILEBROWSER_POPUPREMOVEINCLPROC;Borrar con salida de la cola
FILEBROWSER_POPUPRENAME;Renombrar
FILEBROWSER_POPUPSELECTALL;Seleccionar todo
FILEBROWSER_POPUPTRASH;Mover a la papelera
@@ -244,7 +240,6 @@ FILEBROWSER_SHOWDIRHINT;Quitar todos los filtros.\nTecla de Atajo: d
FILEBROWSER_SHOWEDITEDHINT;Mostrar imágenes editadas.\nTecla de Atajo: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Mostrar imágenes no editadas.\nTecla de Atajo: 6
FILEBROWSER_SHOWEXIFINFO;Mostrar datos Exif.\nTecla de Atajo: i\n\nTecla de Atajo en modo editor simple: Alt-I
-FILEBROWSER_SHOWNOTTRASHHINT;Mostrar solo las imágenes no borradas.
FILEBROWSER_SHOWORIGINALHINT;Muestre solo imágenes originales. \nCuando existen varias imágenes con el mismo nombre de archivo pero con diferentes extensiones, la que se considera original es aquella cuya extensión está más cerca de la parte superior de la lista de extensiones analizadas en Preferencias> Explorador de archivos> Extensiones analizadas.
FILEBROWSER_SHOWRANK1HINT;Mostrar imágenes con 1 estrella.\nTecla de Atajo: 1
FILEBROWSER_SHOWRANK2HINT;Mostrar imágenes con 2 estrellas.\nTecla de Atajo: 2
@@ -2319,8 +2314,13 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: -
!CURVEEDITOR_CATMULLROM;Flexible
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius
!MAIN_FRAME_PLACES_DEL;Remove
!MAIN_TAB_FAVORITES;Favorites
diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais
index cd3ac7394..d7141f8b2 100644
--- a/rtdata/languages/Francais
+++ b/rtdata/languages/Francais
@@ -119,8 +119,6 @@ FILEBROWSER_COPYPROFILE;Copier le profil
FILEBROWSER_CURRENT_NAME;Nom courant:
FILEBROWSER_DARKFRAME;Trame Noire
FILEBROWSER_DELETEDIALOG_HEADER;Confirmation de la suppression de fichier
-FILEBROWSER_DELETEDIALOG_SELECTED;Êtes-vous sûr de vouloir supprimer les %1 fichiers selectionnés?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Êtes-vous sûr de vouloir supprimer les %1 fichiers sélectionnés, INCLUANT une version déjà traitée?
FILEBROWSER_EMPTYTRASH;Vider la corbeille
FILEBROWSER_EXTPROGMENU;Ouvrir avec
FILEBROWSER_FLATFIELD;Champ Uniforme
@@ -155,8 +153,6 @@ FILEBROWSER_POPUPRANK2;Rang 2 **
FILEBROWSER_POPUPRANK3;Rang 3 ***
FILEBROWSER_POPUPRANK4;Rang 4 ****
FILEBROWSER_POPUPRANK5;Rang 5 *****
-FILEBROWSER_POPUPREMOVE;Retirer du système de fichier
-FILEBROWSER_POPUPREMOVEINCLPROC;Supprimer (y compris les sorties de la file de traitement)
FILEBROWSER_POPUPRENAME;Renommer
FILEBROWSER_POPUPSELECTALL;Sélectionner tout
FILEBROWSER_POPUPTRASH;Déplacer dans la corbeille
@@ -183,7 +179,6 @@ FILEBROWSER_SHOWDIRHINT;Voir toutes les images du dossier\nRaccourci: d
FILEBROWSER_SHOWEDITEDHINT;Afficher les images éditées\nRaccourci: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Afficher les images non éditées\nRaccourci: 6
FILEBROWSER_SHOWEXIFINFO;Montrer les infos EXIF.\nRaccourci: i\n\nRaccourcis dans le mode Éditeur Unique: Alt-i
-FILEBROWSER_SHOWNOTTRASHHINT;Voir uniquement les images non supprimées
FILEBROWSER_SHOWORIGINALHINT;Voir seulement les images originales.\n\nQuand plusieurs images éxistent avec le même nom de fichier mais des extensions différentes, celle considéré originale est celle dont l'extention est au plus dans la liste des extensions dans Préférences > Navigateur de fichiers > Extensions considérées.
FILEBROWSER_SHOWRANK1HINT;Voir les images 1 étoile\nRaccourci: 1
FILEBROWSER_SHOWRANK2HINT;Voir les images 2 étoiles\nRaccourci: 2
@@ -2264,8 +2259,13 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
!!!!!!!!!!!!!!!!!!!!!!!!!
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!MAIN_FRAME_PLACES_DEL;Remove
!PROGRESSBAR_DECODING;Decoding...
!PROGRESSBAR_GREENEQUIL;Green equilibration...
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index bedba34f6..6d44a132f 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -92,8 +92,6 @@ FILEBROWSER_COPYPROFILE;Copia
FILEBROWSER_CURRENT_NAME;Nome corrente:
FILEBROWSER_DARKFRAME;Dark Frame
FILEBROWSER_DELETEDIALOG_HEADER;Conferma eliminazione del file
-FILEBROWSER_DELETEDIALOG_SELECTED;Vuoi eliminare i %1 file selezionati?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Vuoi eliminare i %1 file inclusa la versione sviluppata nella coda?
FILEBROWSER_EMPTYTRASH;Svuota cestino
FILEBROWSER_EXTPROGMENU;Apri con
FILEBROWSER_FLATFIELD;Flat Field
@@ -128,8 +126,6 @@ FILEBROWSER_POPUPRANK2;Punteggio 2 **
FILEBROWSER_POPUPRANK3;Punteggio 3 ***
FILEBROWSER_POPUPRANK4;Punteggio 4 ****
FILEBROWSER_POPUPRANK5;Punteggio 5 *****
-FILEBROWSER_POPUPREMOVE;Elimina
-FILEBROWSER_POPUPREMOVEINCLPROC;Elimina insieme a quanto sviluppato nella coda
FILEBROWSER_POPUPRENAME;Rinomina
FILEBROWSER_POPUPSELECTALL;Seleziona tutto
FILEBROWSER_POPUPTRASH;Sposta nel cestino
@@ -1270,10 +1266,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILECHOOSER_FILTER_ANY;All files
!FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc)
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index 0ab793099..2cec023e5 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -153,8 +153,6 @@ FILEBROWSER_COPYPROFILE;プロファイルをコピー
FILEBROWSER_CURRENT_NAME;現在の名前:
FILEBROWSER_DARKFRAME;ダークフレーム
FILEBROWSER_DELETEDIALOG_HEADER;ファイル削除確認
-FILEBROWSER_DELETEDIALOG_SELECTED;選択済みのファイル %1 を削除してもいいですか?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;バッチ処理に組み込まれている選択済みのファイル %1 を削除してもいいですか?
FILEBROWSER_EMPTYTRASH;ゴミ箱を空にする
FILEBROWSER_EXTPROGMENU;..で開く
FILEBROWSER_FLATFIELD;フラットフィールド
@@ -189,8 +187,6 @@ FILEBROWSER_POPUPRANK2;ランク 2 **
FILEBROWSER_POPUPRANK3;ランク 3 ***
FILEBROWSER_POPUPRANK4;ランク 4 ****
FILEBROWSER_POPUPRANK5;ランク 5 *****
-FILEBROWSER_POPUPREMOVE;ファイルシステムから削除
-FILEBROWSER_POPUPREMOVEINCLPROC;ファイルシステムとバッチの結果から削除
FILEBROWSER_POPUPRENAME;名前変更
FILEBROWSER_POPUPSELECTALL;全選択
FILEBROWSER_POPUPTRASH;ゴミ箱へ移動
@@ -217,7 +213,6 @@ FILEBROWSER_SHOWDIRHINT;全ての絞り込みをクリア\nショートカット
FILEBROWSER_SHOWEDITEDHINT;編集済み画像を表示\nショートカット: 7
FILEBROWSER_SHOWEDITEDNOTHINT;未編集画像を表示\nショートカット: 6
FILEBROWSER_SHOWEXIFINFO;EXIF情報を表示\nショートカット: i\n\nシングル・エディタ・タブのショートカット: Alt-i
-FILEBROWSER_SHOWNOTTRASHHINT;削除されていない画像だけ表示
FILEBROWSER_SHOWORIGINALHINT;元画像だけを表示\n\nファイル名は同じだが拡張子が異なる画像がある場合は、環境設定の中のファイルブラウザタブにある拡張子リストの上位に位置する拡張子を持った画像を元画像とする。
FILEBROWSER_SHOWRANK1HINT;1つ星ランクを表示\nショートカット: 1
FILEBROWSER_SHOWRANK2HINT;2つ星ランクを表示\nショートカット: 2
@@ -2310,7 +2305,12 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
! Untranslated keys follow; remove the ! prefix after an entry is translated.
!!!!!!!!!!!!!!!!!!!!!!!!!
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode
!QUEUE_LOCATION_TITLE;Output Location
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index d1947b893..6286ba63c 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -82,8 +82,6 @@ FILEBROWSER_COPYPROFILE;Feldolgozási paraméterek másolása
FILEBROWSER_CURRENT_NAME;Aktuális név:
FILEBROWSER_DARKFRAME;Referencia feketekép (dark frame)
FILEBROWSER_DELETEDIALOG_HEADER;Állománytörlés megerősítése
-FILEBROWSER_DELETEDIALOG_SELECTED;Biztosan törölni kívánja a kijelölt %1 képet?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Biztos vagy benne, hogy törölni szeredné a kiválasztott %1 állományt, beleértve a feldolgozási sorba helyezett változatát IS?
FILEBROWSER_EMPTYTRASH;Kuka ürítése
FILEBROWSER_FLATFIELD;Flat Field
FILEBROWSER_MOVETODARKFDIR;Mozgatás a 'dark frame' könyvtárba
@@ -103,8 +101,6 @@ FILEBROWSER_POPUPOPENINEDITOR;Open in Szerkesztő
FILEBROWSER_POPUPPROCESS;Feldolgozási sorba helyezés
FILEBROWSER_POPUPPROCESSFAST;Feldolgozási sorba helyez (expressz export)
FILEBROWSER_POPUPPROFILEOPERATIONS;Profilműveletek
-FILEBROWSER_POPUPREMOVE;Törlés (végleges)
-FILEBROWSER_POPUPREMOVEINCLPROC;Törlés (feldolgozási sorból is)
FILEBROWSER_POPUPRENAME;Átnevezés
FILEBROWSER_POPUPSELECTALL;Mindent kijelöl
FILEBROWSER_POPUPTRASH;Kukába dobás
@@ -870,8 +866,10 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
!FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
!FILEBROWSER_EXTPROGMENU;Open with
!FILEBROWSER_OPENDEFAULTVIEWER;Windows default viewer (queue-processed)
!FILEBROWSER_POPUPCOLORLABEL0;Label: None
@@ -887,13 +885,15 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!FILEBROWSER_POPUPRANK3;Rank 3 ***
!FILEBROWSER_POPUPRANK4;Rank 4 ****
!FILEBROWSER_POPUPRANK5;Rank 5 *****
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_RANK1_TOOLTIP;Rank 1 *\nShortcut: Shift-1
!FILEBROWSER_RANK2_TOOLTIP;Rank 2 *\nShortcut: Shift-2
!FILEBROWSER_RANK3_TOOLTIP;Rank 3 *\nShortcut: Shift-3
!FILEBROWSER_RANK4_TOOLTIP;Rank 4 *\nShortcut: Shift-4
!FILEBROWSER_RANK5_TOOLTIP;Rank 5 *\nShortcut: Shift-5
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILEBROWSER_UNRANK_TOOLTIP;Unrank.\nShortcut: Shift-0
!FILECHOOSER_FILTER_ANY;All files
@@ -1657,7 +1657,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!TP_COLORAPP_SURROUND_DARK;Dark
!TP_COLORAPP_SURROUND_DIM;Dim
!TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet)
-!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
!TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness
!TP_COLORAPP_TCMODE_CHROMA;Chroma
!TP_COLORAPP_TCMODE_COLORF;Colorfulness
diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands
index b8b30e64c..7317038a3 100644
--- a/rtdata/languages/Nederlands
+++ b/rtdata/languages/Nederlands
@@ -123,8 +123,6 @@ FILEBROWSER_COPYPROFILE;Kopieer profiel
FILEBROWSER_CURRENT_NAME;Huidige naam:
FILEBROWSER_DARKFRAME;Donkerframe
FILEBROWSER_DELETEDIALOG_HEADER;Bevestiging bestand verwijderen
-FILEBROWSER_DELETEDIALOG_SELECTED;Weet u zeker dat u de geselecteerde %1 bestanden wilt verwijderen?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Weet u zeker dat u de %1 geselecteerde bestanden wilt verwijderen *inclusief* de versies van de verwerkingsrij?
FILEBROWSER_EMPTYTRASH;Leeg prullenbak
FILEBROWSER_EXTPROGMENU;Open met
FILEBROWSER_FLATFIELD;Vlakveld
@@ -159,8 +157,6 @@ FILEBROWSER_POPUPRANK2;Waardering 2 **
FILEBROWSER_POPUPRANK3;Waardering 3 ***
FILEBROWSER_POPUPRANK4;Waardering 4 ****
FILEBROWSER_POPUPRANK5;Waardering 5 *****
-FILEBROWSER_POPUPREMOVE;Verwijder van bestandssysteem
-FILEBROWSER_POPUPREMOVEINCLPROC;Verwijder (met bestand in verwerkingsrij)
FILEBROWSER_POPUPRENAME;Hernoem
FILEBROWSER_POPUPSELECTALL;Alles selecteren
FILEBROWSER_POPUPTRASH;Verplaats naar prullenbak
@@ -187,7 +183,6 @@ FILEBROWSER_SHOWDIRHINT;Verwijder alle filters.\nSneltoets: d
FILEBROWSER_SHOWEDITEDHINT;Toon bewerkte foto's\nSneltoets: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Toon niet-bewerkte foto's\nSneltoets: 6
FILEBROWSER_SHOWEXIFINFO;Toon EXIF-info
-FILEBROWSER_SHOWNOTTRASHHINT;Toon alleen niet-verwijderde foto's.
FILEBROWSER_SHOWORIGINALHINT;Toon alleen originele afbeelding.\n\nAls er meerdere afbeeldingen zijn met dezelfde naam maar verschillende extensies, dan wordt de afbeelding waarvan de extensie het hoogst staat in de lijst met extensies in Voorkeuren > Bestandsnavigator > Extensies
FILEBROWSER_SHOWRANK1HINT;Toon foto's met 1 ster.\nSneltoets: 1
FILEBROWSER_SHOWRANK2HINT;Toon foto's met 2 sterren.\nSneltoets: 2
@@ -1979,8 +1974,13 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!GENERAL_CURRENT;Current
!GENERAL_RESET;Reset
!GENERAL_SAVE_AS;Save as...
diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish
index 05f099ea6..d1e27f0dc 100644
--- a/rtdata/languages/Polish
+++ b/rtdata/languages/Polish
@@ -96,8 +96,6 @@ FILEBROWSER_COPYPROFILE;Kopiuj profil
FILEBROWSER_CURRENT_NAME;Obecna nazwa:
FILEBROWSER_DARKFRAME;Czarna klatka
FILEBROWSER_DELETEDIALOG_HEADER;Potwierdzenie usunięcia pliku
-FILEBROWSER_DELETEDIALOG_SELECTED;Na pewno usunąć zaznaczone %1 plików?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Na pewno usunąć wybrany plik %1 WŁĄCZNIE z wersją utworzoną przez kolejkę przetwarzania?
FILEBROWSER_EMPTYTRASH;Wyczyść kosz
FILEBROWSER_EXTPROGMENU;Otwórz za pomocą
FILEBROWSER_FLATFIELD;Puste pole
@@ -132,8 +130,6 @@ FILEBROWSER_POPUPRANK2;Ocena 2 **
FILEBROWSER_POPUPRANK3;Ocena 3 ***
FILEBROWSER_POPUPRANK4;Ocena 4 ****
FILEBROWSER_POPUPRANK5;Ocena 5 *****
-FILEBROWSER_POPUPREMOVE;Usuń z dysku
-FILEBROWSER_POPUPREMOVEINCLPROC;Usuń z dysku wraz z wynikiem przetwarzania
FILEBROWSER_POPUPRENAME;Zmień nazwę
FILEBROWSER_POPUPSELECTALL;Zaznacz wszystkie
FILEBROWSER_POPUPTRASH;Przenieś do kosza
@@ -1392,10 +1388,14 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILECHOOSER_FILTER_ANY;All files
!FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc)
diff --git a/rtdata/languages/Portugues b/rtdata/languages/Portugues
index b59f4ffe0..7e5713093 100644
--- a/rtdata/languages/Portugues
+++ b/rtdata/languages/Portugues
@@ -120,8 +120,6 @@ FILEBROWSER_COPYPROFILE;Copiar
FILEBROWSER_CURRENT_NAME;Nome atual:
FILEBROWSER_DARKFRAME;Fotograma escuro
FILEBROWSER_DELETEDIALOG_HEADER;Confirmação de eliminação de ficheiro
-FILEBROWSER_DELETEDIALOG_SELECTED;Tem a certeza que quer eliminar os %1 ficheiros selecionados?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Tem a certeza que quer eliminar os %1 ficheiros selecionados incluindo uma versão processada na fila?
FILEBROWSER_EMPTYTRASH;Esvaziar o caixote do lixo
FILEBROWSER_EXTPROGMENU;Abrir com
FILEBROWSER_FLATFIELD;Campo plano
@@ -156,8 +154,6 @@ FILEBROWSER_POPUPRANK2;Classificação 2 estrelas
FILEBROWSER_POPUPRANK3;Classificação 3 estrelas
FILEBROWSER_POPUPRANK4;Classificação 4 estrelas
FILEBROWSER_POPUPRANK5;Classificação 5 estrelas
-FILEBROWSER_POPUPREMOVE;Eliminar
-FILEBROWSER_POPUPREMOVEINCLPROC;Eliminar com saída da fila
FILEBROWSER_POPUPRENAME;Renomear
FILEBROWSER_POPUPSELECTALL;Selecionar tudo
FILEBROWSER_POPUPTRASH;Mover para o caixote do lixo
@@ -184,7 +180,6 @@ FILEBROWSER_SHOWDIRHINT;Limpar todos os filtros.\nAtalho: d
FILEBROWSER_SHOWEDITEDHINT;Mostrar imagens editadas.\nAtalho: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Mostrar imagens não editadas.\nAtalho: 6
FILEBROWSER_SHOWEXIFINFO;Mostrar informações Exif.\n\nAtalhos:\ni - Modo de editor em várias abas,\nAlt-i - Modo de editor numa só aba.
-FILEBROWSER_SHOWNOTTRASHHINT;Mostrar apenas imagens não eliminadas.
FILEBROWSER_SHOWORIGINALHINT;Mostrar apenas imagens originais.\n\nQuando existem várias imagens com o mesmo nome de ficheiro mas com extensões diferentes, a única considerada original é aquela cuja extensão está mais próxima da parte superior da lista de extensões analisadas em Preferências > Navegador de ficheiros > Extensões analisadas.
FILEBROWSER_SHOWRANK1HINT;Mostrar imagens classificadas com 1 estrela.\nAtalho: 1
FILEBROWSER_SHOWRANK2HINT;Mostrar imagens classificadas com 2 estrelas.\nAtalho: 2
@@ -2262,8 +2257,13 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: -
!!!!!!!!!!!!!!!!!!!!!!!!!
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!MAIN_FRAME_PLACES_DEL;Remove
!PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode
!PROGRESSBAR_DECODING;Decoding...
diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil)
index da9a620df..beffbb9a8 100644
--- a/rtdata/languages/Portugues (Brasil)
+++ b/rtdata/languages/Portugues (Brasil)
@@ -120,8 +120,6 @@ FILEBROWSER_COPYPROFILE;Copiar perfil
FILEBROWSER_CURRENT_NAME;Nome atual:
FILEBROWSER_DARKFRAME;Quadro escuro
FILEBROWSER_DELETEDIALOG_HEADER;Confirmação de exclusão de arquivo
-FILEBROWSER_DELETEDIALOG_SELECTED;Tens certeza de que desejas excluir os %1 arquivos selecionados?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Tens certeza de que desejas excluir os %1 arquivos selecionados incluindo uma versão processada em fila?
FILEBROWSER_EMPTYTRASH;Esvaziar lixeira
FILEBROWSER_EXTPROGMENU;Abrir com
FILEBROWSER_FLATFIELD;Flat-Field
@@ -156,8 +154,6 @@ FILEBROWSER_POPUPRANK2;Classificação 2 **
FILEBROWSER_POPUPRANK3;Classificação 3 ***
FILEBROWSER_POPUPRANK4;Classificação 4 ****
FILEBROWSER_POPUPRANK5;Classificação 5 *****
-FILEBROWSER_POPUPREMOVE;Excluir
-FILEBROWSER_POPUPREMOVEINCLPROC;Excluir com saída da fila
FILEBROWSER_POPUPRENAME;Renomear
FILEBROWSER_POPUPSELECTALL;Selecionar tudo
FILEBROWSER_POPUPTRASH;Mover para a lixeira
@@ -184,7 +180,6 @@ FILEBROWSER_SHOWDIRHINT;Limpar todos os filtros.\nAtalho: d
FILEBROWSER_SHOWEDITEDHINT;Mostrar imagens editadas.\nAtalho: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Mostrar imagens não editadas.\nAtalho: 6
FILEBROWSER_SHOWEXIFINFO;Mostrar informações Exif.\n\nAtalhos:\ni - Modo de Guias de Editores Múltiplos,\nAlt-i - Modo de Guia de Editor Único.
-FILEBROWSER_SHOWNOTTRASHHINT;Mostre somente imagens não excluídas.
FILEBROWSER_SHOWORIGINALHINT;Mostre somente imagens originais.\n\nQuando existem várias imagens com o mesmo nome de arquivo, mas extensões diferentes, a única considerada original é aquela cuja extensão está mais próxima da parte superior da lista de extensões analisadas em Preferências > Navegador de Arquivos > Extensões Analisadas.
FILEBROWSER_SHOWRANK1HINT;Mostrar imagens classificadas com 1 estrela.\nAtalho: 1
FILEBROWSER_SHOWRANK2HINT;Mostrar imagens classificadas com 2 estrelas.\nAtalho: 2
@@ -2254,8 +2249,13 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: -
!!!!!!!!!!!!!!!!!!!!!!!!!
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset
!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power
!MAIN_FRAME_PLACES_DEL;Remove
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index c2b43033e..870895dd7 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -113,8 +113,6 @@ FILEBROWSER_COPYPROFILE;Скопировать профиль
FILEBROWSER_CURRENT_NAME;Текущее имя:
FILEBROWSER_DARKFRAME;Темновой кадр
FILEBROWSER_DELETEDIALOG_HEADER;Подтверждение удаления файла
-FILEBROWSER_DELETEDIALOG_SELECTED;Вы уверены, что хотите удалить %1 выбранный(ых) файл(ов)?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Вы уверены, что хотите удалить %1 выделенных файлов, включая обработанные версии?
FILEBROWSER_EMPTYTRASH;Очистить корзину
FILEBROWSER_EXTPROGMENU;Открыть с помощью
FILEBROWSER_FLATFIELD;Плоское поле
@@ -149,8 +147,6 @@ FILEBROWSER_POPUPRANK2;Рейтинг 2 **
FILEBROWSER_POPUPRANK3;Рейтинг 3 ***
FILEBROWSER_POPUPRANK4;Рейтинг 4 ****
FILEBROWSER_POPUPRANK5;Рейтинг 5 *****
-FILEBROWSER_POPUPREMOVE;Удалить с диска
-FILEBROWSER_POPUPREMOVEINCLPROC;Удалить с диска и пакетной обработки
FILEBROWSER_POPUPRENAME;Переименовать
FILEBROWSER_POPUPSELECTALL;Выбрать все
FILEBROWSER_POPUPTRASH;Удалить в корзину
@@ -177,7 +173,6 @@ FILEBROWSER_SHOWDIRHINT;Сбросить все фильтры.\nГорячая
FILEBROWSER_SHOWEDITEDHINT;Показать измененные изображения.\nГорячая клавиша: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Показать не измененные изображения.\nГорячая клавиша: 6
FILEBROWSER_SHOWEXIFINFO;Показать информацию EXIF.\nГорячая клавиша: i\n\nГорячая клавиша в режиме Одиночного редактора: Alt-I
-FILEBROWSER_SHOWNOTTRASHHINT;Показать только неудалённые изображения.
FILEBROWSER_SHOWRANK1HINT;Показать изображения с рейтингом 1.\nГорячая клавиша: 1
FILEBROWSER_SHOWRANK2HINT;Показать изображения с рейтингом 2.\nГорячая клавиша: 2
FILEBROWSER_SHOWRANK3HINT;Показать изображения с рейтингом 3.\nГорячая клавиша: 3
@@ -1470,8 +1465,13 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILECHOOSER_FILTER_PP;Processing profiles
!FILECHOOSER_FILTER_SAME;Same format as current photo
@@ -1872,7 +1872,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
!TP_COLORAPP_SURROUND_DARK;Dark
!TP_COLORAPP_SURROUND_DIM;Dim
!TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet)
-!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
!TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness
!TP_COLORAPP_TCMODE_CHROMA;Chroma
!TP_COLORAPP_TCMODE_COLORF;Colorfulness
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index 21a34119a..edcf1d2d6 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -85,8 +85,6 @@ FILEBROWSER_COPYPROFILE;Умножи профил
FILEBROWSER_CURRENT_NAME;Тренутно име:
FILEBROWSER_DARKFRAME;Тамни кадар
FILEBROWSER_DELETEDIALOG_HEADER;Брисање датотеке
-FILEBROWSER_DELETEDIALOG_SELECTED;Да ли сигурно желите да обришете %1 датотека?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Да ли желите да обришете %1 изабраних датотека, укључујући и оне које су заказане?
FILEBROWSER_EMPTYTRASH;Избаци смеће
FILEBROWSER_EXTPROGMENU;Отвори помоћу
FILEBROWSER_FLATFIELD;Равно поље
@@ -108,8 +106,6 @@ FILEBROWSER_POPUPPROCESS;Закажи за обраду
FILEBROWSER_POPUPPROCESSFAST;Додај у заказано (брзи извоз)
FILEBROWSER_POPUPPROFILEOPERATIONS;Профил
FILEBROWSER_POPUPRANK;Оцена
-FILEBROWSER_POPUPREMOVE;Уклони из система датотека
-FILEBROWSER_POPUPREMOVEINCLPROC;Уклони из система датотека и заказаног
FILEBROWSER_POPUPRENAME;Преименуј
FILEBROWSER_POPUPSELECTALL;Изабери све
FILEBROWSER_POPUPTRASH;Премести у смеће
@@ -1229,8 +1225,10 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
!FILEBROWSER_POPUPCOLORLABEL0;Label: None
!FILEBROWSER_POPUPCOLORLABEL1;Label: Red
!FILEBROWSER_POPUPCOLORLABEL2;Label: Yellow
@@ -1244,8 +1242,10 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!FILEBROWSER_POPUPRANK3;Rank 3 ***
!FILEBROWSER_POPUPRANK4;Rank 4 ****
!FILEBROWSER_POPUPRANK5;Rank 5 *****
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
-!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
!FILECHOOSER_FILTER_ANY;All files
!FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc)
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index 14dc4069f..2263584cd 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -94,8 +94,6 @@ FILEBROWSER_COPYPROFILE;Kopiera profil
FILEBROWSER_CURRENT_NAME;Nuvarande namn:
FILEBROWSER_DARKFRAME;Svartbild
FILEBROWSER_DELETEDIALOG_HEADER;Bekräftelse vid borttag
-FILEBROWSER_DELETEDIALOG_SELECTED;Är du säker på att du vill ta bort de valda %1 filerna?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Är du säker på att du vill ta bort de valda filerna %1 OCH den behandlade versionen?
FILEBROWSER_EMPTYTRASH;Töm papperskorgen
FILEBROWSER_EXTPROGMENU;Öppna med
FILEBROWSER_FLATFIELD;Plattfält
@@ -130,8 +128,6 @@ FILEBROWSER_POPUPRANK2;Betyg 2 **
FILEBROWSER_POPUPRANK3;Betyg 3 ***
FILEBROWSER_POPUPRANK4;Betyg 4 ****
FILEBROWSER_POPUPRANK5;Betyg 5 *****
-FILEBROWSER_POPUPREMOVE;Ta bort från filsystemet
-FILEBROWSER_POPUPREMOVEINCLPROC;Ta bort från filsystemet inkl. den behandlade
FILEBROWSER_POPUPRENAME;Byt namn
FILEBROWSER_POPUPSELECTALL;Markera allt
FILEBROWSER_POPUPTRASH;Flytta till papperskorgen
@@ -157,7 +153,6 @@ FILEBROWSER_SHOWDIRHINT;Återställ alla sökfilter.\nKortkommando: d
FILEBROWSER_SHOWEDITEDHINT;Visa redigerade bilder.\nKortkommando: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Visa ickeredigerade bilder.\nKortkommando: 6
FILEBROWSER_SHOWEXIFINFO;Visa EXIF-information.\nKortkommando: i\n\nKortkommando i enkelbildsläget: Alt-i
-FILEBROWSER_SHOWNOTTRASHHINT;Visa endast ej borttagna bilder.
FILEBROWSER_SHOWORIGINALHINT;Visa endast ursprungliga bilder.\n\nNär flera bilder finns med samma filnamn men med olika filändelser så anses den bild vara urpsrungsbilden som har sin ändelse närmst toppen i listan över filändelser i Inställningar > Filbläddrare > Hanterade filändelser
FILEBROWSER_SHOWRANK1HINT;Visa bilder med betyg 1.\nKortkommando: 1
FILEBROWSER_SHOWRANK2HINT;Visa bilder med betyg 2.\nKortkommando: 2
@@ -1768,9 +1763,14 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords.
!FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles
!FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles
-!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
-!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
+!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
+!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+!FILEBROWSER_POPUPREMOVE;Delete permanently
+!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
!FILEBROWSER_RESETDEFAULTPROFILE;Reset to default
+!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
!GENERAL_CURRENT;Current
!GENERAL_RESET;Reset
!GENERAL_SAVE_AS;Save as...
diff --git a/rtdata/languages/default b/rtdata/languages/default
index 3b96e1b17..31e704d7d 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -121,12 +121,12 @@ FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\n
FILEBROWSER_COPYPROFILE;Copy
FILEBROWSER_CURRENT_NAME;Current name:
FILEBROWSER_DARKFRAME;Dark-frame
-FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash?
+FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash?
FILEBROWSER_DELETEDIALOG_HEADER;File delete confirmation:
-FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to delete the selected %1 files?
-FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
+FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files?
+FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version?
FILEBROWSER_EMPTYTRASH;Empty trash
-FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
+FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash.
FILEBROWSER_EXTPROGMENU;Open with
FILEBROWSER_FLATFIELD;Flat-Field
FILEBROWSER_MOVETODARKFDIR;Move to dark-frames directory
@@ -160,8 +160,8 @@ FILEBROWSER_POPUPRANK2;Rank 2 **
FILEBROWSER_POPUPRANK3;Rank 3 ***
FILEBROWSER_POPUPRANK4;Rank 4 ****
FILEBROWSER_POPUPRANK5;Rank 5 *****
-FILEBROWSER_POPUPREMOVE;Delete
-FILEBROWSER_POPUPREMOVEINCLPROC;Delete with output from queue
+FILEBROWSER_POPUPREMOVE;Delete permanently
+FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version
FILEBROWSER_POPUPRENAME;Rename
FILEBROWSER_POPUPSELECTALL;Select all
FILEBROWSER_POPUPTRASH;Move to trash
@@ -188,7 +188,7 @@ FILEBROWSER_SHOWDIRHINT;Clear all filters.\nShortcut: d
FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7
FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6
FILEBROWSER_SHOWEXIFINFO;Show Exif info.\n\nShortcuts:\ni - Multiple Editor Tabs Mode,\nAlt-i - Single Editor Tab Mode.
-FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images.
+FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash.
FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions.
FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1-star.\nShortcut: 1
FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2-star.\nShortcut: 2
@@ -1429,7 +1429,7 @@ TP_COLORAPP_SURROUND_AVER;Average
TP_COLORAPP_SURROUND_DARK;Dark
TP_COLORAPP_SURROUND_DIM;Dim
TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet)
-TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
+TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark.
TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness
TP_COLORAPP_TCMODE_CHROMA;Chroma
TP_COLORAPP_TCMODE_COLORF;Colorfulness
diff --git a/rtdata/options/options.lin b/rtdata/options/options.lin
index 91520dc0e..1d2f9faac 100644
--- a/rtdata/options/options.lin
+++ b/rtdata/options/options.lin
@@ -6,7 +6,7 @@
[General]
# Setting MultiUser to false will use the application's installation directory as cache directory,
-# which can be useful if you want to keep the application and all the cache datas in a single place,
+# which can be useful if you want to keep the application and all the cache data in a single place,
# an external HD for example
MultiUser=true
diff --git a/rtdata/options/options.osx b/rtdata/options/options.osx
index 4decccb6d..11c5da4c8 100644
--- a/rtdata/options/options.osx
+++ b/rtdata/options/options.osx
@@ -6,7 +6,7 @@
[General]
# Setting MultiUser to false will use the application's installation directory as cache directory,
-# which can be useful if you want to keep the application and all the cache datas in a single place,
+# which can be useful if you want to keep the application and all the cache data in a single place,
# an external HD for example
MultiUser=true
diff --git a/rtdata/options/options.win b/rtdata/options/options.win
index 40e73aacc..a4a767bf4 100644
--- a/rtdata/options/options.win
+++ b/rtdata/options/options.win
@@ -6,7 +6,7 @@
[General]
# Setting MultiUser to false will use the application's installation directory as cache directory,
-# which can be useful if you want to keep the application and all the cache datas in a single place,
+# which can be useful if you want to keep the application and all the cache data in a single place,
# an external HD for example
MultiUser=true
# Windows users should not use the system theme : some composed widget won't be usable
diff --git a/rtengine/CMakeLists.txt b/rtengine/CMakeLists.txt
index 4f4dd1beb..92aec23b0 100644
--- a/rtengine/CMakeLists.txt
+++ b/rtengine/CMakeLists.txt
@@ -31,6 +31,7 @@ link_directories(
set(CAMCONSTSFILE "camconst.json")
set(RTENGINESOURCEFILES
+ badpixels.cc
CA_correct_RT.cc
EdgePreservingDecomposition.cc
FTblockDN.cc
diff --git a/rtengine/EdgePreservingDecomposition.cc b/rtengine/EdgePreservingDecomposition.cc
index 6505cedab..6bda5d437 100644
--- a/rtengine/EdgePreservingDecomposition.cc
+++ b/rtengine/EdgePreservingDecomposition.cc
@@ -406,7 +406,7 @@ bool MultiDiagonalSymmetricMatrix::CreateIncompleteCholeskyFactorization(int Max
fp = 1;
for(int ii = 1; ii < m; ii++) {
- fp = rtengine::min(StartRows[ii] - StartRows[ii - 1], MaxFillAbove); //Guarunteed positive since StartRows must be created in increasing order.
+ fp = rtengine::min(StartRows[ii] - StartRows[ii - 1], MaxFillAbove); //Guaranteed positive since StartRows must be created in increasing order.
mic = mic + fp;
}
diff --git a/rtengine/LUT.h b/rtengine/LUT.h
index de668cca8..6584eefe6 100644
--- a/rtengine/LUT.h
+++ b/rtengine/LUT.h
@@ -444,7 +444,7 @@ public:
}
idx = 0;
- } else if (idx > maxs) {
+ } else if (index > maxsf) {
if (clip & LUT_CLIP_ABOVE) {
return data[upperBound];
}
@@ -563,7 +563,7 @@ public:
}
}
- // compress a LUT with size y into a LUT with size x (y>x) by using the passTrough LUT to calculate indexes
+ // compress a LUT with size y into a LUT with size x (y>x) by using the passThrough LUT to calculate indexes
template::value>::type>
void compressTo(LUT &dest, unsigned int numVals, const LUT &passThrough) const
{
diff --git a/rtengine/badpixels.cc b/rtengine/badpixels.cc
new file mode 100644
index 000000000..376e58b3b
--- /dev/null
+++ b/rtengine/badpixels.cc
@@ -0,0 +1,582 @@
+/*
+ * This file is part of RawTherapee.
+ *
+ * Copyright (c) 2004-2019 Gabor Horvath
+ *
+ * RawTherapee is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * RawTherapee is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with RawTherapee. If not, see .
+*/
+
+#include "array2D.h"
+#include "median.h"
+#include "pixelsmap.h"
+#include "rawimagesource.h"
+
+namespace rtengine
+{
+
+/* interpolateBadPixelsBayer: correct raw pixels looking at the bitmap
+ * takes into consideration if there are multiple bad pixels in the neighborhood
+ */
+int RawImageSource::interpolateBadPixelsBayer(const PixelsMap &bitmapBads, array2D &rawData)
+{
+ constexpr float eps = 1.f;
+ int counter = 0;
+
+#ifdef _OPENMP
+ #pragma omp parallel for reduction(+:counter) schedule(dynamic,16)
+#endif
+
+ for (int row = 2; row < H - 2; ++row) {
+ for (int col = 2; col < W - 2; ++col) {
+ const int sk = bitmapBads.skipIfZero(col, row); //optimization for a stripe all zero
+
+ if (sk) {
+ col += sk - 1; //-1 is because of col++ in cycle
+ continue;
+ }
+
+ if (!bitmapBads.get(col, row)) {
+ continue;
+ }
+
+ float wtdsum = 0.f, norm = 0.f;
+
+ // diagonal interpolation
+ if (FC(row, col) == 1) {
+ // green channel. We can use closer pixels than for red or blue channel. Distance to center pixel is sqrt(2) => weighting is 0.70710678
+ // For green channel following pixels will be used for interpolation. Pixel to be interpolated is in center.
+ // 1 means that pixel is used in this step, if itself and his counterpart are not marked bad
+ // 0 0 0 0 0
+ // 0 1 0 1 0
+ // 0 0 0 0 0
+ // 0 1 0 1 0
+ // 0 0 0 0 0
+ for (int dx = -1; dx <= 1; dx += 2) {
+ if (bitmapBads.get(col + dx, row - 1) || bitmapBads.get(col - dx, row + 1)) {
+ continue;
+ }
+
+ const float dirwt = 0.70710678f / (fabsf(rawData[row - 1][col + dx] - rawData[row + 1][col - dx]) + eps);
+ wtdsum += dirwt * (rawData[row - 1][col + dx] + rawData[row + 1][col - dx]);
+ norm += dirwt;
+ }
+ } else {
+ // red and blue channel. Distance to center pixel is sqrt(8) => weighting is 0.35355339
+ // For red and blue channel following pixels will be used for interpolation. Pixel to be interpolated is in center.
+ // 1 means that pixel is used in this step, if itself and his counterpart are not marked bad
+ // 1 0 0 0 1
+ // 0 0 0 0 0
+ // 0 0 0 0 0
+ // 0 0 0 0 0
+ // 1 0 0 0 1
+ for (int dx = -2; dx <= 2; dx += 4) {
+ if (bitmapBads.get(col + dx, row - 2) || bitmapBads.get(col - dx, row + 2)) {
+ continue;
+ }
+
+ const float dirwt = 0.35355339f / (fabsf(rawData[row - 2][col + dx] - rawData[row + 2][col - dx]) + eps);
+ wtdsum += dirwt * (rawData[row - 2][col + dx] + rawData[row + 2][col - dx]);
+ norm += dirwt;
+ }
+ }
+
+ // channel independent. Distance to center pixel is 2 => weighting is 0.5
+ // Additionally for all channel following pixels will be used for interpolation. Pixel to be interpolated is in center.
+ // 1 means that pixel is used in this step, if itself and his counterpart are not marked bad
+ // 0 0 1 0 0
+ // 0 0 0 0 0
+ // 1 0 0 0 1
+ // 0 0 0 0 0
+ // 0 0 1 0 0
+
+ // horizontal interpolation
+ if (!(bitmapBads.get(col - 2, row) || bitmapBads.get(col + 2, row))) {
+ const float dirwt = 0.5f / (fabsf(rawData[row][col - 2] - rawData[row][col + 2]) + eps);
+ wtdsum += dirwt * (rawData[row][col - 2] + rawData[row][col + 2]);
+ norm += dirwt;
+ }
+
+ // vertical interpolation
+ if (!(bitmapBads.get(col, row - 2) || bitmapBads.get(col, row + 2))) {
+ const float dirwt = 0.5f / (fabsf(rawData[row - 2][col] - rawData[row + 2][col]) + eps);
+ wtdsum += dirwt * (rawData[row - 2][col] + rawData[row + 2][col]);
+ norm += dirwt;
+ }
+
+ if (LIKELY(norm > 0.f)) { // This means, we found at least one pair of valid pixels in the steps above, likelihood of this case is about 99.999%
+ rawData[row][col] = wtdsum / (2.f * norm); //gradient weighted average, Factor of 2.f is an optimization to avoid multiplications in former steps
+ counter++;
+ } else { //backup plan -- simple average. Same method for all channels. We could improve this, but it's really unlikely that this case happens
+ int tot = 0;
+ float sum = 0.f;
+
+ for (int dy = -2; dy <= 2; dy += 2) {
+ for (int dx = -2; dx <= 2; dx += 2) {
+ if (bitmapBads.get(col + dx, row + dy)) {
+ continue;
+ }
+
+ sum += rawData[row + dy][col + dx];
+ tot++;
+ }
+ }
+
+ if (tot > 0) {
+ rawData[row][col] = sum / tot;
+ counter ++;
+ }
+ }
+ }
+ }
+
+ return counter; // Number of interpolated pixels.
+}
+
+/* interpolateBadPixelsNcolors: correct raw pixels looking at the bitmap
+ * takes into consideration if there are multiple bad pixels in the neighborhood
+ */
+int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, const int colors)
+{
+ constexpr float eps = 1.f;
+ int counter = 0;
+
+#ifdef _OPENMP
+ #pragma omp parallel for reduction(+:counter) schedule(dynamic,16)
+#endif
+
+ for (int row = 2; row < H - 2; ++row) {
+ for (int col = 2; col < W - 2; ++col) {
+ const int sk = bitmapBads.skipIfZero(col, row); //optimization for a stripe all zero
+
+ if (sk) {
+ col += sk - 1; //-1 is because of col++ in cycle
+ continue;
+ }
+
+ if (!bitmapBads.get(col, row)) {
+ continue;
+ }
+
+ float wtdsum[colors];
+ float norm[colors];
+ for (int c = 0; c < colors; ++c) {
+ wtdsum[c] = norm[c] = 0.f;
+ }
+
+ // diagonal interpolation
+ for (int dx = -1; dx <= 1; dx += 2) {
+ if (bitmapBads.get(col + dx, row - 1) || bitmapBads.get(col - dx, row + 1)) {
+ continue;
+ }
+
+ for (int c = 0; c < colors; ++c) {
+ const float dirwt = 0.70710678f / (fabsf(rawData[row - 1][(col + dx) * colors + c] - rawData[row + 1][(col - dx) * colors + c]) + eps);
+ wtdsum[c] += dirwt * (rawData[row - 1][(col + dx) * colors + c] + rawData[row + 1][(col - dx) * colors + c]);
+ norm[c] += dirwt;
+ }
+ }
+
+ // horizontal interpolation
+ if (!(bitmapBads.get(col - 1, row) || bitmapBads.get(col + 1, row))) {
+ for (int c = 0; c < colors; ++c) {
+ const float dirwt = 1.f / (fabsf(rawData[row][(col - 1) * colors + c] - rawData[row][(col + 1) * colors + c]) + eps);
+ wtdsum[c] += dirwt * (rawData[row][(col - 1) * colors + c] + rawData[row][(col + 1) * colors + c]);
+ norm[c] += dirwt;
+ }
+ }
+
+ // vertical interpolation
+ if (!(bitmapBads.get(col, row - 1) || bitmapBads.get(col, row + 1))) {
+ for (int c = 0; c < colors; ++c) {
+ const float dirwt = 1.f / (fabsf(rawData[row - 1][col * colors + c] - rawData[row + 1][col * colors + c]) + eps);
+ wtdsum[c] += dirwt * (rawData[row - 1][col * colors + c] + rawData[row + 1][col * colors + c]);
+ norm[c] += dirwt;
+ }
+ }
+
+ if (LIKELY(norm[0] > 0.f)) { // This means, we found at least one pair of valid pixels in the steps above, likelihood of this case is about 99.999%
+ for (int c = 0; c < colors; ++c) {
+ rawData[row][col * colors + c] = wtdsum[c] / (2.f * norm[c]); //gradient weighted average, Factor of 2.f is an optimization to avoid multiplications in former steps
+ }
+
+ counter++;
+ } else { //backup plan -- simple average. Same method for all channels. We could improve this, but it's really unlikely that this case happens
+ int tot = 0;
+ float sum[colors];
+ for (int c = 0; c < colors; ++c) {
+ sum[c] = 0.f;
+ }
+
+ for (int dy = -2; dy <= 2; dy += 2) {
+ for (int dx = -2; dx <= 2; dx += 2) {
+ if (bitmapBads.get(col + dx, row + dy)) {
+ continue;
+ }
+
+ for (int c = 0; c < colors; ++c) {
+ sum[c] += rawData[row + dy][(col + dx) * colors + c];
+ }
+
+ tot++;
+ }
+ }
+
+ if (tot > 0) {
+ for (int c = 0; c < colors; ++c) {
+ rawData[row][col * colors + c] = sum[c] / tot;
+ }
+
+ counter ++;
+ }
+ }
+ }
+ }
+
+ return counter; // Number of interpolated pixels.
+}
+
+/* interpolateBadPixelsXtrans: correct raw pixels looking at the bitmap
+ * takes into consideration if there are multiple bad pixels in the neighborhood
+ */
+int RawImageSource::interpolateBadPixelsXtrans(const PixelsMap &bitmapBads)
+{
+ constexpr float eps = 1.f;
+ int counter = 0;
+
+#ifdef _OPENMP
+ #pragma omp parallel for reduction(+:counter) schedule(dynamic,16)
+#endif
+
+ for (int row = 2; row < H - 2; ++row) {
+ for (int col = 2; col < W - 2; ++col) {
+ const int skip = bitmapBads.skipIfZero(col, row); //optimization for a stripe all zero
+
+ if (skip) {
+ col += skip - 1; //-1 is because of col++ in cycle
+ continue;
+ }
+
+ if (!bitmapBads.get(col, row)) {
+ continue;
+ }
+
+ float wtdsum = 0.f, norm = 0.f;
+ const unsigned int pixelColor = ri->XTRANSFC(row, col);
+
+ if (pixelColor == 1) {
+ // green channel. A green pixel can either be a solitary green pixel or a member of a 2x2 square of green pixels
+ if (ri->XTRANSFC(row, col - 1) == ri->XTRANSFC(row, col + 1)) {
+ // If left and right neighbor have same color, then this is a solitary green pixel
+ // For these the following pixels will be used for interpolation. Pixel to be interpolated is in center and marked with a P.
+ // Pairs of pixels used in this step are numbered. A pair will be used if none of the pixels of the pair is marked bad
+ // 0 means, the pixel has a different color and will not be used
+ // 0 1 0 2 0
+ // 3 5 0 6 4
+ // 0 0 P 0 0
+ // 4 6 0 5 3
+ // 0 2 0 1 0
+ for (int dx = -1; dx <= 1; dx += 2) { // pixels marked 5 or 6 in above example. Distance to P is sqrt(2) => weighting is 0.70710678f
+ if (bitmapBads.get(col + dx, row - 1) || bitmapBads.get(col - dx, row + 1)) {
+ continue;
+ }
+
+ const float dirwt = 0.70710678f / (fabsf(rawData[row - 1][col + dx] - rawData[row + 1][col - dx]) + eps);
+ wtdsum += dirwt * (rawData[row - 1][col + dx] + rawData[row + 1][col - dx]);
+ norm += dirwt;
+ }
+
+ for (int dx = -1; dx <= 1; dx += 2) { // pixels marked 1 or 2 on above example. Distance to P is sqrt(5) => weighting is 0.44721359f
+ if (bitmapBads.get(col + dx, row - 2) || bitmapBads.get(col - dx, row + 2)) {
+ continue;
+ }
+
+ const float dirwt = 0.44721359f / (fabsf(rawData[row - 2][col + dx] - rawData[row + 2][col - dx]) + eps);
+ wtdsum += dirwt * (rawData[row - 2][col + dx] + rawData[row + 2][col - dx]);
+ norm += dirwt;
+ }
+
+ for (int dx = -2; dx <= 2; dx += 4) { // pixels marked 3 or 4 on above example. Distance to P is sqrt(5) => weighting is 0.44721359f
+ if (bitmapBads.get(col + dx, row - 1) || bitmapBads.get(col - dx, row + 1)) {
+ continue;
+ }
+
+ const float dirwt = 0.44721359f / (fabsf(rawData[row - 1][col + dx] - rawData[row + 1][col - dx]) + eps);
+ wtdsum += dirwt * (rawData[row - 1][col + dx] + rawData[row + 1][col - dx]);
+ norm += dirwt;
+ }
+ } else {
+ // this is a member of a 2x2 square of green pixels
+ // For these the following pixels will be used for interpolation. Pixel to be interpolated is at position P in the example.
+ // Pairs of pixels used in this step are numbered. A pair will be used if none of the pixels of the pair is marked bad
+ // 0 means, the pixel has a different color and will not be used
+ // 1 0 0 3
+ // 0 P 2 0
+ // 0 2 1 0
+ // 3 0 0 0
+
+ // pixels marked 1 in above example. Distance to P is sqrt(2) => weighting is 0.70710678f
+ const int offset1 = ri->XTRANSFC(row - 1, col - 1) == ri->XTRANSFC(row + 1, col + 1) ? 1 : -1;
+
+ if (!(bitmapBads.get(col - offset1, row - 1) || bitmapBads.get(col + offset1, row + 1))) {
+ const float dirwt = 0.70710678f / (fabsf(rawData[row - 1][col - offset1] - rawData[row + 1][col + offset1]) + eps);
+ wtdsum += dirwt * (rawData[row - 1][col - offset1] + rawData[row + 1][col + offset1]);
+ norm += dirwt;
+ }
+
+ // pixels marked 2 in above example. Distance to P is 1 => weighting is 1.f
+ int offsety = ri->XTRANSFC(row - 1, col) != 1 ? 1 : -1;
+ int offsetx = offset1 * offsety;
+
+ if (!(bitmapBads.get(col + offsetx, row) || bitmapBads.get(col, row + offsety))) {
+ const float dirwt = 1.f / (fabsf(rawData[row][col + offsetx] - rawData[row + offsety][col]) + eps);
+ wtdsum += dirwt * (rawData[row][col + offsetx] + rawData[row + offsety][col]);
+ norm += dirwt;
+ }
+
+ const int offsety2 = -offsety;
+ const int offsetx2 = -offsetx;
+ offsetx *= 2;
+ offsety *= 2;
+
+ // pixels marked 3 in above example. Distance to P is sqrt(5) => weighting is 0.44721359f
+ if (!(bitmapBads.get(col + offsetx, row + offsety2) || bitmapBads.get(col + offsetx2, row + offsety))) {
+ const float dirwt = 0.44721359f / (fabsf(rawData[row + offsety2][col + offsetx] - rawData[row + offsety][col + offsetx2]) + eps);
+ wtdsum += dirwt * (rawData[row + offsety2][col + offsetx] + rawData[row + offsety][col + offsetx2]);
+ norm += dirwt;
+ }
+ }
+ } else {
+ // red and blue channel.
+ // Each red or blue pixel has exactly one neighbor of same color in distance 2 and four neighbors of same color which can be reached by a move of a knight in chess.
+ // For the distance 2 pixel (marked with an X) we generate a virtual counterpart (marked with a V)
+ // For red and blue channel following pixels will be used for interpolation. Pixel to be interpolated is in center and marked with a P.
+ // Pairs of pixels used in this step are numbered except for distance 2 pixels which are marked X and V. A pair will be used if none of the pixels of the pair is marked bad
+ // 0 1 0 0 0 0 0 X 0 0 remaining cases are symmetric
+ // 0 0 0 0 2 1 0 0 0 2
+ // X 0 P 0 V 0 0 P 0 0
+ // 0 0 0 0 1 0 0 0 0 0
+ // 0 2 0 0 0 0 2 V 1 0
+
+ // Find two knight moves landing on a pixel of same color as the pixel to be interpolated.
+ // If we look at first and last row of 5x5 square, we will find exactly two knight pixels.
+ // Additionally we know that the column of this pixel has 1 or -1 horizontal distance to the center pixel
+ // When we find a knight pixel, we get its counterpart, which has distance (+-3,+-3), where the signs of distance depend on the corner of the found knight pixel.
+ // These pixels are marked 1 or 2 in above examples. Distance to P is sqrt(5) => weighting is 0.44721359f
+ // The following loop simply scans the four possible places. To keep things simple, it does not stop after finding two knight pixels, because it will not find more than two
+ for (int d1 = -2, offsety = 3; d1 <= 2; d1 += 4, offsety -= 6) {
+ for (int d2 = -1, offsetx = 3; d2 < 1; d2 += 2, offsetx -= 6) {
+ if (ri->XTRANSFC(row + d1, col + d2) == pixelColor) {
+ if (!(bitmapBads.get(col + d2, row + d1) || bitmapBads.get(col + d2 + offsetx, row + d1 + offsety))) {
+ const float dirwt = 0.44721359f / (fabsf(rawData[row + d1][col + d2] - rawData[row + d1 + offsety][col + d2 + offsetx]) + eps);
+ wtdsum += dirwt * (rawData[row + d1][col + d2] + rawData[row + d1 + offsety][col + d2 + offsetx]);
+ norm += dirwt;
+ }
+ }
+ }
+ }
+
+ // now scan for the pixel of same color in distance 2 in each direction (marked with an X in above examples).
+ bool distance2PixelFound = false;
+ int dx, dy;
+
+ // check horizontal
+ for (dx = -2, dy = 0; dx <= 2; dx += 4) {
+ if (ri->XTRANSFC(row, col + dx) == pixelColor) {
+ distance2PixelFound = true;
+ break;
+ }
+ }
+
+ if (!distance2PixelFound) {
+ // no distance 2 pixel on horizontal, check vertical
+ for (dx = 0, dy = -2; dy <= 2; dy += 4) {
+ if (ri->XTRANSFC(row + dy, col) == pixelColor) {
+ distance2PixelFound = true;
+ break;
+ }
+ }
+ }
+
+ // calculate the value of its virtual counterpart (marked with a V in above examples)
+ float virtualPixel;
+
+ if (dy == 0) {
+ virtualPixel = 0.5f * (rawData[row - 1][col - dx] + rawData[row + 1][col - dx]);
+ } else {
+ virtualPixel = 0.5f * (rawData[row - dy][col - 1] + rawData[row - dy][col + 1]);
+ }
+
+ // and weight as usual. Distance to P is 2 => weighting is 0.5f
+ const float dirwt = 0.5f / (fabsf(virtualPixel - rawData[row + dy][col + dx]) + eps);
+ wtdsum += dirwt * (virtualPixel + rawData[row + dy][col + dx]);
+ norm += dirwt;
+ }
+
+ if (LIKELY(norm > 0.f)) { // This means, we found at least one pair of valid pixels in the steps above, likelihood of this case is about 99.999%
+ rawData[row][col] = wtdsum / (2.f * norm); //gradient weighted average, Factor of 2.f is an optimization to avoid multiplications in former steps
+ counter++;
+ }
+ }
+ }
+
+ return counter; // Number of interpolated pixels.
+}
+
+/* Search for hot or dead pixels in the image and update the map
+ * For each pixel compare its value to the average of similar color surrounding
+ * (Taken from Emil Martinec idea)
+ * (Optimized by Ingo Weyrich 2013 and 2015)
+ */
+int RawImageSource::findHotDeadPixels(PixelsMap &bpMap, const float thresh, const bool findHotPixels, const bool findDeadPixels) const
+{
+ const float varthresh = (20.0 * (thresh / 100.0) + 1.0) / 24.f;
+
+ // allocate temporary buffer
+ float* cfablur = new float[H * W];
+
+ // counter for dead or hot pixels
+ int counter = 0;
+
+#ifdef _OPENMP
+ #pragma omp parallel
+#endif
+ {
+#ifdef _OPENMP
+ #pragma omp for schedule(dynamic,16) nowait
+#endif
+
+ for (int i = 2; i < H - 2; i++) {
+ for (int j = 2; j < W - 2; j++) {
+ const float temp = median(rawData[i - 2][j - 2], rawData[i - 2][j], rawData[i - 2][j + 2],
+ rawData[i][j - 2], rawData[i][j], rawData[i][j + 2],
+ rawData[i + 2][j - 2], rawData[i + 2][j], rawData[i + 2][j + 2]);
+ cfablur[i * W + j] = rawData[i][j] - temp;
+ }
+ }
+
+ // process borders. Former version calculated the median using mirrored border which does not make sense because the original pixel loses weight
+ // Setting the difference between pixel and median for border pixels to zero should do the job not worse then former version
+#ifdef _OPENMP
+ #pragma omp single
+#endif
+ {
+ for (int i = 0; i < 2; ++i) {
+ for (int j = 0; j < W; ++j) {
+ cfablur[i * W + j] = 0.f;
+ }
+ }
+
+ for (int i = 2; i < H - 2; ++i) {
+ for (int j = 0; j < 2; ++j) {
+ cfablur[i * W + j] = 0.f;
+ }
+
+ for (int j = W - 2; j < W; ++j) {
+ cfablur[i * W + j] = 0.f;
+ }
+ }
+
+ for (int i = H - 2; i < H; ++i) {
+ for (int j = 0; j < W; ++j) {
+ cfablur[i * W + j] = 0.f;
+ }
+ }
+ }
+
+#ifdef _OPENMP
+ #pragma omp barrier // barrier because of nowait clause above
+
+ #pragma omp for reduction(+:counter) schedule(dynamic,16)
+#endif
+
+ //cfa pixel heat/death evaluation
+ for (int rr = 2; rr < H - 2; ++rr) {
+ for (int cc = 2, rrmWpcc = rr * W + 2; cc < W - 2; ++cc, ++rrmWpcc) {
+ //evaluate pixel for heat/death
+ float pixdev = cfablur[rrmWpcc];
+
+ if (pixdev == 0.f) {
+ continue;
+ }
+
+ if ((!findDeadPixels) && pixdev < 0) {
+ continue;
+ }
+
+ if ((!findHotPixels) && pixdev > 0) {
+ continue;
+ }
+
+ pixdev = fabsf(pixdev);
+ float hfnbrave = -pixdev;
+
+#ifdef __SSE2__
+ // sum up 5*4 = 20 values using SSE
+ // 10 fabs function calls and 10 float additions with SSE
+ vfloat sum = vabsf(LVFU(cfablur[(rr - 2) * W + cc - 2])) + vabsf(LVFU(cfablur[(rr - 1) * W + cc - 2]));
+ sum += vabsf(LVFU(cfablur[(rr) * W + cc - 2]));
+ sum += vabsf(LVFU(cfablur[(rr + 1) * W + cc - 2]));
+ sum += vabsf(LVFU(cfablur[(rr + 2) * W + cc - 2]));
+ // horizontally add the values and add the result to hfnbrave
+ hfnbrave += vhadd(sum);
+
+ // add remaining 5 values of last column
+ for (int mm = rr - 2; mm <= rr + 2; ++mm) {
+ hfnbrave += fabsf(cfablur[mm * W + cc + 2]);
+ }
+
+#else
+
+ // 25 fabs function calls and 25 float additions without SSE
+ for (int mm = rr - 2; mm <= rr + 2; ++mm) {
+ for (int nn = cc - 2; nn <= cc + 2; ++nn) {
+ hfnbrave += fabsf(cfablur[mm * W + nn]);
+ }
+ }
+
+#endif
+
+ if (pixdev > varthresh * hfnbrave) {
+ // mark the pixel as "bad"
+ bpMap.set(cc, rr);
+ counter++;
+ }
+ }//end of pixel evaluation
+ }
+ }//end of parallel processing
+ delete [] cfablur;
+ return counter;
+}
+
+int RawImageSource::findZeroPixels(PixelsMap &bpMap) const
+{
+ int counter = 0;
+
+#ifdef _OPENMP
+ #pragma omp parallel for reduction(+:counter) schedule(dynamic,16)
+#endif
+
+ for (int i = 0; i < H; ++i) {
+ for (int j = 0; j < W; ++j) {
+ if (ri->data[i][j] == 0.f) {
+ bpMap.set(j, i);
+ counter++;
+ }
+ }
+ }
+ return counter;
+}
+
+
+}
diff --git a/rtengine/camconst.json b/rtengine/camconst.json
index 2492eec28..97a14f66e 100644
--- a/rtengine/camconst.json
+++ b/rtengine/camconst.json
@@ -1245,6 +1245,11 @@ Camera constants:
"ranges": { "white": 64886 }
},
+ { // Quality C
+ "make_model": "FUJIFILM GFX 100",
+ "raw_crop": [ 0, 2, 11664, 8734 ]
+ },
+
{ // Quality B
"make_model": "FUJIFILM GFX 50S",
"dcraw_matrix": [ 11756,-4754,-874,-3056,11045,2305,-381,1457,6006 ], // DNGv9.9 D65
@@ -1285,6 +1290,11 @@ Camera constants:
"ranges": { "white": 16100 }
},
+ { // Quality C
+ "make_model": "FUJIFILM X-A5",
+ "ranges": { "white": 16100 }
+ },
+
{ // Quality B
"make_model": "FUJIFILM X-A10",
"dcraw_matrix": [ 11540,-4999,-991,-2949,10963,2278,-382,1049,5605 ], // DNGv9.12 D65
@@ -1300,6 +1310,11 @@ Camera constants:
"ranges": { "white": 16100 }
},
+ { // Quality C
+ "make_model": [ "FUJIFILM X-T100" ],
+ "ranges": { "white": 16100 }
+ },
+
{ // Quality B
"make_model": "FUJIFILM X-E2S",
"dcraw_matrix": [ 11562,-5118,-961,-3022,11007,2311,-525,1569,6097 ], // DNG_v9.4 D65
@@ -1322,7 +1337,7 @@ Camera constants:
},
{ // Quality C, only raw crop
- "make_model": [ "FUJIFILM X-T3" ],
+ "make_model": [ "FUJIFILM X-T3", "FUJIFILM X-T30" ],
"raw_crop": [ 0, 5, 6252, 4176]
},
@@ -1657,6 +1672,11 @@ Camera constants:
"ranges": { "white": 4080 } // nominal 4095-4094, spread with some settings as long exposure
},
+ { // Quality C, only raw crop for highres mode
+ "make_model": "OLYMPUS E-M1X",
+ "raw_crop": [ 0, 0, 10388, 0 ] // Highres mode largest valid, full 80Mp 10400X7792, works also for non highres mode because larger width will be ignored
+ },
+
{ // Quality B, crop correction
"make_model": [ "OLYMPUS E-M10", "OLYMPUS E-M10MarkII", "OLYMPUS E-M10 Mark III" ],
"dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 ],
@@ -1672,6 +1692,11 @@ Camera constants:
"ranges": { "white": 4040 } // nominal 4056
},
+ { // Quality C
+ "make_model": [ "OLYMPUS E-PL9" ],
+ "ranges": { "white": 4080 } // nominal 4093
+ },
+
{ // Quality B, with long exposure noise reduction White Level gets WL-BL = around 256_12-bit levels less
"make_model": [ "OLYMPUS E-PL7", "OLYMPUS E-PL8" ],
"global_green_equilibration" : true,
@@ -2359,6 +2384,11 @@ Camera constants:
"ranges": { "black": 512, "white": 16300 }
},
+ { // Quality C, correction for frame width
+ "make_model": [ "Sony DSC-RX0", "Sony DSC-RX0M2" ],
+ "raw_crop": [ 0, 0, -8, 0 ] // 8 rightmost columns are garbage
+ },
+
{ // Quality B, correction for frame width, crop modes covered
"make_model": [ "Sony ILCE-7RM2", "Sony DSC-RX1RM2" ],
"dcraw_matrix": [ 6629,-1900,-483,-4618,12349,2550,-622,1381,6514 ], // DNG_v9.1.1 D65
@@ -2427,8 +2457,14 @@ Camera constants:
},
{ // Quality C
+ "make_model": [ "Sony DSC-HX99" ],
+ "raw_crop": [ 0, 0, -8, 0 ] // 8 rightmost columns are garbage
+ },
+
+ { // Quality B
"make_model": [ "Sony DSC-R1" ],
- "raw_crop": [ 0, 0, 3924, 2608 ]
+ "raw_crop": [ 0, 0, 3924, 2608 ],
+ "ranges": { "white": 16368 }
},
{ // Quality A
diff --git a/rtengine/color.h b/rtengine/color.h
index e1ce1c08c..fb4eea458 100644
--- a/rtengine/color.h
+++ b/rtengine/color.h
@@ -102,7 +102,7 @@ private:
static float computeXYZ2Lab(float f);
static float computeXYZ2LabY(float f);
-
+
public:
typedef enum Channel {
@@ -1094,7 +1094,7 @@ public:
//very small differences between the 2
return x <= 0.003040 ? x * 12.92310 : 1.055 * exp(log(x) / sRGBGammaCurve) - 0.055;//continuous
// return x <= 0.003041 ? x * 12.92310 : 1.055011 * exp(log(x) / sRGBGammaCurve) - 0.055011;//continuous
-
+
}
@@ -1111,7 +1111,7 @@ public:
//very small differences between the 4
return x <= 0.039286 ? x / 12.92310 : exp(log((x + 0.055) / 1.055) * sRGBGammaCurve);//continuous
// return x <= 0.039293 ? x / 12.92310 : exp(log((x + 0.055011) / 1.055011) * sRGBGammaCurve);//continuous
-
+
}
@@ -1509,8 +1509,8 @@ public:
static const float C9 = 8.f, C8 = 15.f, C7 = 12.f, C4 = 7.f, C3 = 5.f, C2 = 5.f, C1 = 5.f;
static const float H9 = 0.05f, H8 = 0.25f, H7 = 0.1f, H4 = 0.02f, H3 = 0.02f, H2 = 0.1f, H1 = 0.1f, H10 = -0.2f, H11 = -0.2f;
- // "real" skin color : take into account a slightly usage of contrast and saturation in RT if option "skin" = 1, uses imolicit factor 1.0
- // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit facor 0.6
+ // "real" skin color : take into account a slight usage of contrast and saturation in RT if option "skin" = 1, uses implicit factor 1.0
+ // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit factor 0.6
// wide area for transition, uses explicit factor 0.4
if (lum >= 85.0f) {
@@ -1588,8 +1588,8 @@ public:
static const float C9 = 8.f, C8 = 15.f, C7 = 12.f, C4 = 7.f, C3 = 5.f, C2 = 5.f, C1 = 5.f;
static const float H9 = 0.05f, H8 = 0.25f, H7 = 0.1f, H4 = 0.02f, H3 = 0.02f, H2 = 0.1f, H1 = 0.1f, H10 = -0.2f, H11 = -0.2f;
- // "real" skin color : take into account a slightly usage of contrast and saturation in RT if option "skin" = 1, uses imolicit factor 1.0
- // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit facor 0.6
+ // "real" skin color : take into account a slight usage of contrast and saturation in RT if option "skin" = 1, uses implicit factor 1.0
+ // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit factor 0.6
// wide area for transition, uses explicit factor 0.4
if((b_l > -0.3f && b_r < 2.f) || basc == 0) { //range maxi skin
if (lum >= 85.0f) {
@@ -1704,8 +1704,8 @@ public:
hue = HH;
- // "real" skin color : take into account a slightly usage of contrast and saturation in RT if option "skin" = 1, uses imolicit factor 1.0
- // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit facor 0.6
+ // "real" skin color : take into account a slight usage of contrast and saturation in RT if option "skin" = 1, uses implicit factor 1.0
+ // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit factor 0.6
// wide area for transition, uses explicit factor 0.4
if (lum >= 85.0f) {
@@ -1796,7 +1796,7 @@ public:
static inline double huelab_to_huehsv2 (float HH)
{
//hr=translate Hue Lab value (-Pi +Pi) in approximative hr (hsv values) (0 1) [red 1/6 yellow 1/6 green 1/6 cyan 1/6 blue 1/6 magenta 1/6 ]
- // with multi linear correspondances (I expect there is no error !!)
+ // with multi linear correspondences (I expect there is no error !!)
double hr = 0.0;
//always put h between 0 and 1
diff --git a/rtengine/curves.cc b/rtengine/curves.cc
index ecd38d4aa..f03a43e60 100644
--- a/rtengine/curves.cc
+++ b/rtengine/curves.cc
@@ -37,8 +37,6 @@
#include "ciecam02.h"
#include "color.h"
#include "iccstore.h"
-#undef CLIPD
-#define CLIPD(a) ((a)>0.0f?((a)<1.0f?(a):1.0f):0.0f)
using namespace std;
@@ -635,33 +633,37 @@ void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, dou
//%%%%%%%%%%%%%%%%%%%%%%%%%%
// change to [0,1] range
shCurve.setClip(LUT_CLIP_ABOVE); // used LUT_CLIP_ABOVE, because the curve converges to 1.0 at the upper end and we don't want to exceed this value.
- float val = 1.f / 65535.f;
- float val2 = simplebasecurve (val, black, 0.015 * shcompr);
- shCurve[0] = CLIPD(val2) / val;
+ if (black == 0.0) {
+ shCurve.makeConstant(1.f);
+ } else {
+ const float val = 1.f / 65535.f;
+ shCurve[0] = simplebasecurve(val, black, 0.015 * shcompr) / val;
+ }
// gamma correction
- val = Color::gammatab_srgb[0] / 65535.f;
+ float val = Color::gammatab_srgb1[0];
// apply brightness curve
if (brightcurve) {
- val = brightcurve->getVal (val); // TODO: getVal(double) is very slow! Optimize with a LUTf
+ val = brightcurve->getVal(val); // TODO: getVal(double) is very slow! Optimize with a LUTf
}
// store result in a temporary array
- dcurve[0] = CLIPD(val);
+ dcurve[0] = LIM01(val);
for (int i = 1; i < 0x10000; i++) {
- float val = i / 65535.f;
- float val2 = simplebasecurve (val, black, 0.015 * shcompr);
- shCurve[i] = val2 / val;
+ if (black != 0.0) {
+ const float val = i / 65535.f;
+ shCurve[i] = simplebasecurve(val, black, 0.015 * shcompr) / val;
+ }
// gamma correction
- val = Color::gammatab_srgb[i] / 65535.f;
+ float val = Color::gammatab_srgb1[i];
// apply brightness curve
if (brightcurve) {
- val = CLIPD(brightcurve->getVal (val)); // TODO: getVal(double) is very slow! Optimize with a LUTf
+ val = LIM01(brightcurve->getVal (val)); // TODO: getVal(double) is very slow! Optimize with a LUTf
}
// store result in a temporary array
@@ -849,7 +851,7 @@ void CurveFactory::complexLCurve (double br, double contr, const std::vector(val);
}
} else {
diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc
index ceb40f279..280b692e7 100644
--- a/rtengine/dcraw.cc
+++ b/rtengine/dcraw.cc
@@ -4,6 +4,9 @@
#if (__GNUC__ >= 6)
#pragma GCC diagnostic ignored "-Wmisleading-indentation"
#endif
+#if (__GNUC__ >= 9)
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#endif
#endif
/*RT*/#include
@@ -2504,11 +2507,19 @@ void CLASS unpacked_load_raw()
while (1 << ++bits < maximum);
read_shorts (raw_image, raw_width*raw_height);
- for (row=0; row < raw_height; row++)
- for (col=0; col < raw_width; col++)
- if ((RAW(row,col) >>= load_flags) >> bits
- && (unsigned) (row-top_margin) < height
- && (unsigned) (col-left_margin) < width) derror();
+ if (load_flags) {
+ for (row=0; row < raw_height; row++)
+ for (col=0; col < raw_width; col++)
+ if ((RAW(row,col) >>= load_flags) >> bits
+ && (unsigned) (row-top_margin) < height
+ && (unsigned) (col-left_margin) < width) derror();
+ } else if (bits < 16) {
+ for (row=0; row < raw_height; row++)
+ for (col=0; col < raw_width; col++)
+ if (RAW(row,col) >> bits
+ && (unsigned) (row-top_margin) < height
+ && (unsigned) (col-left_margin) < width) derror();
+ }
}
@@ -9279,6 +9290,8 @@ void CLASS identify()
apply_tiff();
if (!strcmp(model, "X-T3")) {
height = raw_height - 2;
+ } else if (!strcmp(model, "GFX 100")) {
+ load_flags = 0;
}
if (!load_raw) {
load_raw = &CLASS unpacked_load_raw;
diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc
index f235d8d29..6acbc0047 100644
--- a/rtengine/dcrop.cc
+++ b/rtengine/dcrop.cc
@@ -831,7 +831,7 @@ void Crop::update(int todo)
DCPProfile *dcpProf = parent->imgsrc->getDCP(params.icm, as);
LUTu histToneCurve;
- parent->ipf.rgbProc (workingCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve,
+ parent->ipf.rgbProc (workingCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve,
params.toneCurve.saturation, parent->rCurve, parent->gCurve, parent->bCurve, parent->colourToningSatLimit, parent->colourToningSatLimitOpacity, parent->ctColorCurve, parent->ctOpacityCurve, parent->opautili, parent->clToningcurve, parent->cl2Toningcurve,
parent->customToneCurve1, parent->customToneCurve2, parent->beforeToneCurveBW, parent->afterToneCurveBW, rrm, ggm, bbm,
parent->bwAutoR, parent->bwAutoG, parent->bwAutoB, dcpProf, as, histToneCurve);
@@ -990,7 +990,7 @@ void Crop::update(int todo)
parent->ipf.ip_wavelet(labnCrop, labnCrop, kall, WaveParams, wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL, parent->wavclCurve, skip);
}
- parent->ipf.softLight(labnCrop);
+ parent->ipf.softLight(labnCrop);
// }
diff --git a/rtengine/demosaic_algos.cc b/rtengine/demosaic_algos.cc
index 3536f1053..dc12bc01a 100644
--- a/rtengine/demosaic_algos.cc
+++ b/rtengine/demosaic_algos.cc
@@ -1206,10 +1206,10 @@ void RawImageSource::igv_interpolate(int winw, int winh)
}
for (; col < width; col++, indx += 2) {
- dest1[indx >> 1] = CLIP(rawData[row][col]); //rawData = RT datas
+ dest1[indx >> 1] = CLIP(rawData[row][col]); //rawData = RT data
col++;
if(col < width)
- dest2[indx >> 1] = CLIP(rawData[row][col]); //rawData = RT datas
+ dest2[indx >> 1] = CLIP(rawData[row][col]); //rawData = RT data
}
}
@@ -1561,7 +1561,7 @@ void RawImageSource::igv_interpolate(int winw, int winh)
for (int row = 0; row < height - 0; row++)
for (int col = 0, indx = row * width + col; col < width - 0; col++, indx++) {
int c = FC(row, col);
- rgb[c][indx] = CLIP(rawData[row][col]); //rawData = RT datas
+ rgb[c][indx] = CLIP(rawData[row][col]); //rawData = RT data
}
// border_interpolate2(7, rgb);
diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc
index 34475f545..db89dd4c2 100644
--- a/rtengine/dfmanager.cc
+++ b/rtengine/dfmanager.cc
@@ -235,7 +235,7 @@ void dfInfo::updateBadPixelList( RawImage *df )
df->data[row + 2][col - 2] + df->data[row + 2][col] + df->data[row + 2][col + 2]);
if( df->data[row][col] > m * threshold ) {
- badPixelsThread.push_back( badPix(col, row) );
+ badPixelsThread.emplace_back(col, row);
}
}
@@ -257,7 +257,7 @@ void dfInfo::updateBadPixelList( RawImage *df )
}
if( df->data[row][3 * col] > m[0]*threshold || df->data[row][3 * col + 1] > m[1]*threshold || df->data[row][3 * col + 2] > m[2]*threshold) {
- badPixels.push_back( badPix(col, row) );
+ badPixels.emplace_back(col, row);
}
}
}
@@ -270,8 +270,11 @@ void dfInfo::updateBadPixelList( RawImage *df )
// ************************* class DFManager *********************************
-void DFManager::init( Glib::ustring pathname )
+void DFManager::init(const Glib::ustring& pathname)
{
+ if (pathname.empty()) {
+ return;
+ }
std::vector names;
auto dir = Gio::File::create_for_path (pathname);
@@ -563,12 +566,12 @@ int DFManager::scanBadPixelsFile( Glib::ustring filename )
if( numparms == 1 ) { // only one number in first line means, that this is the offset.
offset = x;
} else if(numparms == 2) {
- bp.push_back( badPix(x + offset, y + offset) );
+ bp.emplace_back(x + offset, y + offset);
}
while( fgets(line, sizeof(line), file ) ) {
if( sscanf(line, "%d %d", &x, &y) == 2 ) {
- bp.push_back( badPix(x + offset, y + offset) );
+ bp.emplace_back(x + offset, y + offset);
}
}
}
@@ -589,7 +592,7 @@ std::vector *DFManager::getBadPixels ( const std::string &mak, const std
bool found = false;
if( !serial.empty() ) {
- // search with sreial number first
+ // search with serial number first
std::ostringstream s;
s << mak << " " << mod << " " << serial;
iter = bpList.find( s.str() );
diff --git a/rtengine/dfmanager.h b/rtengine/dfmanager.h
index 1cc22723b..2e55c3c22 100644
--- a/rtengine/dfmanager.h
+++ b/rtengine/dfmanager.h
@@ -20,6 +20,7 @@
#include
#include