diff --git a/CMakeLists.txt b/CMakeLists.txt index cb45c573f..f73cf77be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -334,6 +334,16 @@ if(WITH_MYFILE_MMAP) endif() if(WITH_LTO) + # Using LTO with older versions of binutils requires setting extra flags + SET(BINUTILS_VERSION_MININUM "2.29") + execute_process(COMMAND ar --version OUTPUT_VARIABLE BINUTILS_VERSION_DETECTED) + string(REGEX REPLACE ".* ([0-9.]+)\n.*" "\\1" BINUTILS_VERSION_DETECTED "${BINUTILS_VERSION_DETECTED}") + if("${BINUTILS_VERSION_DETECTED}" VERSION_LESS "${BINUTILS_VERSION_MININUM}") + SET(CMAKE_AR "/usr/bin/gcc-ar") + SET(CMAKE_RANLIB "/usr/bin/gcc-ranlib") + message(STATUS "Binutils version detected as less than " ${BINUTILS_VERSION_MININUM} " - setting CMake parameters to enable LTO linking:\n CMAKE_AR=\"" ${CMAKE_AR} "\"\n CMAKE_RANLIB=\"" ${CMAKE_RANLIB} "\"") + endif() + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto") diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index 1d031a8af..a32134581 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -49,6 +49,7 @@ https://raw.pixls.us/ News Relevant to Package Maintainers ------------------------------------ In general: +- To get the source code, either clone from git or use the tarball from http://rawtherapee.com/shared/source/ . Do not use the auto-generated GitHub release tarballs. - Requires GTK+ version >=3.16, though >=3.22.24 is recommended. - RawTherapee 5 requires GCC-4.9 or higher, or Clang. - Do not use -ffast-math, it will not make RawTherapee faster but will introduce artifacts. diff --git a/rtdata/dcpprofiles/SONY ILCE-7M2.dcp b/rtdata/dcpprofiles/SONY ILCE-7M2.dcp index b46343181..38740bad7 100644 Binary files a/rtdata/dcpprofiles/SONY ILCE-7M2.dcp and b/rtdata/dcpprofiles/SONY ILCE-7M2.dcp differ diff --git a/rtdata/dcpprofiles/SONY ILCE-7RM3.dcp b/rtdata/dcpprofiles/SONY ILCE-7RM3.dcp new file mode 100644 index 000000000..f213959e7 Binary files /dev/null and b/rtdata/dcpprofiles/SONY ILCE-7RM3.dcp differ diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala index 5ebd67faf..4bc691a65 100644 --- a/rtdata/languages/Catala +++ b/rtdata/languages/Catala @@ -940,7 +940,7 @@ TP_WBALANCE_TUNGSTEN;Tungstèn ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Obre una altra finestra de detall ZOOMPANEL_ZOOM100;Zoom 100%\nDrecera: z -ZOOMPANEL_ZOOMFITSCREEN;Ajusta a la finestra\nDrecera: f +ZOOMPANEL_ZOOMFITSCREEN;Ajusta a la finestra\nDrecera: Alt-f ZOOMPANEL_ZOOMIN;Apropa\nDrecera: + ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified) index 39c5b2e2f..b73ec1980 100644 --- a/rtdata/languages/Chinese (Simplified) +++ b/rtdata/languages/Chinese (Simplified) @@ -1017,8 +1017,8 @@ TP_WBALANCE_WATER_HEADER;水下 ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;开启(新)细节窗口 ZOOMPANEL_ZOOM100;缩放到100%\n快捷键: z -ZOOMPANEL_ZOOMFITCROPSCREEN;适应边缘到屏幕\n快捷键:Alt-f -ZOOMPANEL_ZOOMFITSCREEN;适应屏幕\n快捷键: f +ZOOMPANEL_ZOOMFITCROPSCREEN;适应边缘到屏幕\n快捷键:f +ZOOMPANEL_ZOOMFITSCREEN;适应屏幕\n快捷键: Alt-f ZOOMPANEL_ZOOMIN;缩放拉近\n快捷键: + ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: - diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech index 096d5793d..71c92fed1 100644 --- a/rtdata/languages/Czech +++ b/rtdata/languages/Czech @@ -39,6 +39,7 @@ #38 2017-04-26 updated by mkyral #39 2017-07-21 updated by mkyral #40 2017-12-13 updated by mkyral +#41 2018-03-03 updated by mkyral ABOUT_TAB_BUILD;Verze ABOUT_TAB_CREDITS;Zásluhy @@ -49,6 +50,7 @@ ADJUSTER_RESET_TO_DEFAULT;Vrátit se k původnímu BATCHQUEUE_AUTOSTART;Automatický start BATCHQUEUE_AUTOSTARTHINT;Automatické spuštění zpracování po vložení nové úlohy. BATCHQUEUE_DESTFILENAME;Cesta a název souboru +BATCHQUEUE_STARTSTOPHINT;Spustit nebo zastavit zpracování obrázků ve frontě.\n\nZkratka: Ctrl+s BATCH_PROCESSING;Dávkové zpracování CURVEEDITOR_AXIS_IN;Vstup: CURVEEDITOR_AXIS_LEFT_TAN;LS: @@ -268,6 +270,7 @@ GENERAL_OK;OK GENERAL_OPEN;Otevřít GENERAL_PORTRAIT;Na výšku GENERAL_SAVE;Uložit +GENERAL_SLIDER;Posuvník GENERAL_UNCHANGED;(Beze změny) GENERAL_WARNING;Varování GIMP_PLUGIN_INFO;Vítejte v RawTherapee doplňku pro GIMP!\nPo dokončení úprav prostě zavřete hlavní okno RawTherapee a obrázek bude automaticky načten GIMPem. @@ -455,6 +458,7 @@ HISTORY_MSG_169;L*a*b* - CH Křivka HISTORY_MSG_170;Živost - HH křivka HISTORY_MSG_171;L*a*b* - LC křivka HISTORY_MSG_172;L*a*b* - Omezení LC +HISTORY_MSG_173;Redukce šumu - Obnovení detailů HISTORY_MSG_174;CIECAM02 HISTORY_MSG_175;CAM02 - CAT02 přizpůsobení HISTORY_MSG_176;CAM02 - Okolí pro prohlížení @@ -484,6 +488,7 @@ HISTORY_MSG_199;CAM02 - Výstupní histogramy HISTORY_MSG_200;CAM02 - Mapování tónů HISTORY_MSG_201;Redukce šumu - Barevnost Č a Z HISTORY_MSG_202;Redukce šumu - Barevnost M a Ž +HISTORY_MSG_203;Redukce šumu - Barevný prostor HISTORY_MSG_204;Kroky rozšíření LMMSE HISTORY_MSG_205;CAM02 - Filtr vypálených/špatných pixelů HISTORY_MSG_206;CAT02 - Automatická svítivost scény @@ -535,8 +540,9 @@ HISTORY_MSG_252;KdDÚ - Ochrana tónů pleti HISTORY_MSG_253;KdDÚ - Omezení vzniku artefaktů HISTORY_MSG_254;KdDÚ - Tóny pleti HISTORY_MSG_255;Redukce šumu - Medián +HISTORY_MSG_256;Redukce šumu - Medián - Typ HISTORY_MSG_257;Barevné tónování -HISTORY_MSG_258;Barevní tónování - Barevná křivka +HISTORY_MSG_258;Barevné tónování - Barevná křivka HISTORY_MSG_259;Barevné tónování - Křivka neprůhlednosti HISTORY_MSG_260;Barevné tónování - a*[b*] neprůhlednost HISTORY_MSG_261;Barevné tónování - Metoda @@ -575,6 +581,7 @@ HISTORY_MSG_293;Simulace filmu HISTORY_MSG_294;Simulace filmu - Síla HISTORY_MSG_295;Simulace filmu - Film HISTORY_MSG_296;Redukce šumu - Křivka jasů +HISTORY_MSG_297;Redukce šumu - Mód HISTORY_MSG_298;Filtr mrtvých pixelů HISTORY_MSG_299;Redukce šumu - Křivka barevnosti HISTORY_MSG_300;- @@ -754,6 +761,16 @@ HISTORY_MSG_489;HDR TM - Práh HISTORY_MSG_490;HDR TM - Míra HISTORY_MSG_491;Vyvážení bílé HISTORY_MSG_492;RGB křivky +HISTORY_MSG_493;L*a*b* úpravy +HISTORY_MSG_COLORTONING_LABGRID_VALUE;Barevné tónování - Korekce barev +HISTORY_MSG_HISTMATCHING;Automaticky nalezená Tónová křivka +HISTORY_MSG_LOCALCONTRAST_AMOUNT;Místní kontrast - Míra +HISTORY_MSG_LOCALCONTRAST_DARKNESS;Místní kontrast - Tmavé +HISTORY_MSG_LOCALCONTRAST_ENABLED;Místní kontrast +HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Místní kontrast - Světlé +HISTORY_MSG_LOCALCONTRAST_RADIUS;Místní kontrast - Poloměr +HISTORY_MSG_METADATA_MODE;Režim kopírování metadat +HISTORY_MSG_TM_FATTAL_ANCHOR;HDR TM - Kotva HISTORY_NEWSNAPSHOT;Přidat HISTORY_NEWSNAPSHOT_TOOLTIP;Zkratka: Alt-s HISTORY_SNAPSHOT;Snímek @@ -839,17 +856,19 @@ MAIN_MSG_QOVERWRITE;Chcete jej přepsat? MAIN_MSG_SETPATHFIRST;K použití této funkce musíte nejprve zadat cílovou cestu\nv okně "Volby"! MAIN_MSG_TOOMANYOPENEDITORS;Příliš mnoho otevřených editorů.\nPro pokračování nejprve některý ukončete. MAIN_MSG_WRITEFAILED;Chyba zápisu\n"%1"\n\nUjistěte se, že složka existuje a máte práva do ní zapisovat. +MAIN_TAB_ADVANCED;Pokročilé +MAIN_TAB_ADVANCED_TOOLTIP;Zkratka: Alt-w MAIN_TAB_COLOR;Barvy MAIN_TAB_COLOR_TOOLTIP;Zkratka: Alt-c MAIN_TAB_DETAIL;Detaily MAIN_TAB_DETAIL_TOOLTIP;Zkratka: Alt-d -MAIN_TAB_DEVELOP; Dávková editace +MAIN_TAB_DEVELOP; Dávková editace MAIN_TAB_EXIF;Exif -MAIN_TAB_EXPORT; Rychlý export +MAIN_TAB_EXPORT; Rychlý export MAIN_TAB_EXPOSURE;Expozice MAIN_TAB_EXPOSURE_TOOLTIP;Zkratka: Alt-e -MAIN_TAB_FILTER; Filtr -MAIN_TAB_INSPECT; Prohlížení +MAIN_TAB_FILTER; Filtr +MAIN_TAB_INSPECT; Prohlížení MAIN_TAB_IPTC;IPTC MAIN_TAB_METADATA;Metadata MAIN_TAB_METADATA_TOOLTIP;Zkratka: Alt-m @@ -857,8 +876,6 @@ MAIN_TAB_RAW;Raw MAIN_TAB_RAW_TOOLTIP;Zkratka: Alt-r MAIN_TAB_TRANSFORM;Transformace MAIN_TAB_TRANSFORM_TOOLTIP;Zkratka: Alt-t -MAIN_TAB_WAVELET;Vlnka -MAIN_TAB_WAVELET_TOOLTIP;Zkratka: Alt-w MAIN_TOOLTIP_BACKCOLOR0;Barva pozadí náhledu: Dle motivu\nZkratka: 9 MAIN_TOOLTIP_BACKCOLOR1;Barva pozadí náhledu: Černá\nZkratka: 9 MAIN_TOOLTIP_BACKCOLOR2;Barva pozadí náhledu: Bílá\nZkratka: 9 @@ -891,6 +908,10 @@ NAVIGATOR_S;S: NAVIGATOR_V;V: NAVIGATOR_XY_FULL;Šířka: %1, Výška: %2 NAVIGATOR_XY_NA;x: --, y: -- +OPTIONS_BUNDLED_MISSING;Vložený profil "%1" nelze nalézt .\n\nVaše instalace může být poškozena.\n\nBudou použity výchozí přednastavené hodnoty. +OPTIONS_DEFIMG_MISSING;Výchozí profil pro ne raw fotky nelze nalézt nebo nastavit.\n\nZkontrolujte prosím vaši složku s profily, buď chybí nebo je poškozena.\n\nMísto něj bude použit profil "%1". +OPTIONS_DEFRAW_MISSING;Výchozí profil pro raw fotky nelze nalézt nebo nastavit.\n\nZkontrolujte prosím vaši složku s profily, buď chybí nebo je poškozena.\n\nMísto něj bude použit profil "%1". +PARTIALPASTE_ADVANCEDGROUP;Pokročilá nastavení PARTIALPASTE_BASICGROUP;Základní nastavení PARTIALPASTE_CACORRECTION;Korekce chromatické aberace PARTIALPASTE_CHANNELMIXER;Míchání kanálů @@ -929,7 +950,9 @@ PARTIALPASTE_IPTCINFO;IPTC PARTIALPASTE_LABCURVE;L*a*b* úpravy PARTIALPASTE_LENSGROUP;Nastavení související s objektivy PARTIALPASTE_LENSPROFILE;Korekční profily objektivů -PARTIALPASTE_METAGROUP;Metadata +PARTIALPASTE_LOCALCONTRAST;Místní kontrast +PARTIALPASTE_METADATA;Režim metadat +PARTIALPASTE_METAGROUP;Nastavení metadat PARTIALPASTE_PCVIGNETTE;Viněta PARTIALPASTE_PERSPECTIVE;Perspektiva PARTIALPASTE_PREPROCESS_DEADPIXFILT;Filtr mrtvých pixelů @@ -961,7 +984,6 @@ PARTIALPASTE_SHARPENMICRO;Mikrokontrast PARTIALPASTE_TM_FATTAL;HDR mapování tónů PARTIALPASTE_VIBRANCE;Živost PARTIALPASTE_VIGNETTING;Korekce vinětace -PARTIALPASTE_WAVELETGROUP;Úrovně vlnky PARTIALPASTE_WHITEBALANCE;Nastavení bílé PREFERENCES_ADD;Přidat PREFERENCES_APPLNEXTSTARTUP;vyžaduje restart aplikace @@ -987,7 +1009,7 @@ PREFERENCES_CACHEMAXENTRIES;Maximální počet záznamů v mezipaměti PREFERENCES_CACHEOPTS;Vlastnosti mezipaměti PREFERENCES_CACHETHUMBHEIGHT;Maximální výška náhledu PREFERENCES_CIEART;CIECAM02 optimalizace -PREFERENCES_CIEART_FRAME;CIECAM0 2 -Specifická nastavení +PREFERENCES_CIEART_FRAME;CIECAM02 - Specifická nastavení PREFERENCES_CIEART_LABEL;Použít jednoduchou přesnost místo dvojnásobné PREFERENCES_CIEART_TOOLTIP;Pokud je povoleno, budou pro CIECAM02 výpočty použita reálná čísla s jednoduchou přesností místo čísel s dvojnásobnou přesností. Tím se dosáhne mírného zrychlení výpočtů za cenu nepatrné ztráty kvality. PREFERENCES_CLIPPINGIND;Indikace oříznutí @@ -995,6 +1017,12 @@ PREFERENCES_CLUTSCACHE;Mezipaměť HaldCLUT PREFERENCES_CLUTSCACHE_LABEL;Maximální počet přednačtených CLUTů PREFERENCES_CLUTSDIR;Složka HaldCLUT PREFERENCES_CMMBPC;Kompenzace černého bodu +PREFERENCES_CROP;Úprava ořezu +PREFERENCES_CROP_AUTO_FIT;Automaticky přizpůsobit přiblížení oblasti ořezu +PREFERENCES_CROP_GUIDES;Zobrazovat vodítka i když neprobíhá ořez +PREFERENCES_CROP_GUIDES_FRAME;Snímek +PREFERENCES_CROP_GUIDES_FULL;Originál +PREFERENCES_CROP_GUIDES_NONE;Nic PREFERENCES_CURVEBBOXPOS;Pozice tlačítek pro kopírování a vložení křivky PREFERENCES_CURVEBBOXPOS_ABOVE;Nad PREFERENCES_CURVEBBOXPOS_BELOW;Pod @@ -1026,6 +1054,7 @@ PREFERENCES_DIRLAST;Poslední navštívená složka PREFERENCES_DIROTHER;Jiná PREFERENCES_DIRSELECTDLG;Zvolte složku s obrázky při spuštění... PREFERENCES_DIRSOFTWARE;Instalační složka +PREFERENCES_EDITORCMDLINE;Vlastní příkazová řádka PREFERENCES_EDITORLAYOUT;Rozvržení editoru PREFERENCES_EXPAUT;Expert PREFERENCES_EXTERNALEDITOR;Externí editor @@ -1115,7 +1144,7 @@ PREFERENCES_PREVDEMO;Metoda demozajkování náhledu PREFERENCES_PREVDEMO_FAST;Rychlá PREFERENCES_PREVDEMO_LABEL;Metoda demozajkování pro náhled při přiblížení menším než 100%: PREFERENCES_PREVDEMO_SIDECAR;Stejná jako v PP3 -PREFERENCES_PRINTER;Tiskárna (obtah) +PREFERENCES_PRINTER;Tiskárna (měkký nátisk) PREFERENCES_PROFILEHANDLING;Řízení profilů zpracování PREFERENCES_PROFILELOADPR;Priorita nahrávání profilů zpracování PREFERENCES_PROFILEPRCACHE;Profil v mezipaměti @@ -1240,6 +1269,8 @@ SAVEDLG_SUBSAMP_TOOLTIP;Nejlepší komprese:\nJ:a:b 4:2:0\nh/v 2/2\nO polovinu s SAVEDLG_TIFFUNCOMPRESSED;Nekomprimovaný TIFF SAVEDLG_WARNFILENAME;Soubor bude pojmenován SHCSELECTOR_TOOLTIP;Klikněte pravým tlačítkem myši pro obnovení výchozí pozice těchto tří posuvníků. +SOFTPROOF_GAMUTCHECK_TOOLTIP;Zvýraznění pixelů s barvou mimo gamut bude respektovat:\n- profil tiskárny, pokud je nastaven a je povolen měkký nátisk,\n- výstupní profil, pokud není profil tiskárny nastaven a měkký nátisk je povolen,\n- profil monitoru, pokud je měkký nátisk zakázán. +SOFTPROOF_TOOLTIP;Měkký nátisk simuluje přizpůsobení obrázku:\n- během tisku, pokud je nastaven tiskový profil ve Volby > Správa barev.\n- během prohlížení na displeji, kde, pokud není profil tiskárny nastaven, je použit aktuální výstupní profil. THRESHOLDSELECTOR_B;Dole THRESHOLDSELECTOR_BL;Dole vlevo THRESHOLDSELECTOR_BR;Dole vpravo @@ -1332,7 +1363,7 @@ TP_COLORAPP_ADAPTSCENE;Absolutní jas scény TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolutní jas scény prostředí (cd/m²).\n 1) Vypočítáno z Exifu:\nRychlost závěrky - citlivost - clona - expoziční korekce fotoaparátu.\n 2) Vypočítáno z hodnoty raw bílého bodu a expoziční kompenzace Rawtherapee. TP_COLORAPP_ADAPTVIEWING;Absolutní jas prohlížení (cd/m²) TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolutní jas prostředí prohlížení\n(obvykle 16cd/m²). -TP_COLORAPP_ADAP_AUTO_TOOLTIP;Pokud je povoleno (doporučeno), RawTherapee vypočítá optimální hodnotu z Exif dat.\nPokud si přejete zadat hodnotu ručně, nejprve zrušte zatržení tohoto pole. +TP_COLORAPP_ADAP_AUTO_TOOLTIP;Pokud je povoleno (doporučeno), RawTherapee vypočítá optimální hodnotu z Exif dat.\nPokud si přejete zadat hodnotu ručně, nejprve zrušte zatržení tohoto pole. TP_COLORAPP_ALGO;Algoritmus TP_COLORAPP_ALGO_ALL;Vše TP_COLORAPP_ALGO_JC;Světlost + Barevnost (JC) @@ -1340,7 +1371,7 @@ TP_COLORAPP_ALGO_JS;Světlost + Nasycení (JS) TP_COLORAPP_ALGO_QM;Jas a pestrobarevnost (QM) TP_COLORAPP_ALGO_TOOLTIP;Umožňuje vybrat mezi podmnožinou nebo všemi parametry. TP_COLORAPP_BADPIXSL;Filtr vypálených/mrtvých pixelů -TP_COLORAPP_BADPIXSL_TOOLTIP;Potlačení vypálených/mrtvých (jasně zabarvených) pixelů.\n0 = Bez efektu\n1 = Medián\n2 = Gaussův.\nPopřípadě obrázek upravte tak, aby jste se vyhnuli velmi tmavým stínům.\n\nTyto artefakty vznikají díky omezením CIECAM02. +TP_COLORAPP_BADPIXSL_TOOLTIP;Potlačení vypálených/mrtvých (jasně zabarvených) pixelů.\n0 = Bez efektu\n1 = Medián\n2 = Gaussův.\nPopřípadě obrázek upravte tak, aby jste se vyhnuli velmi tmavým stínům.\n\nTyto artefakty vznikají díky omezením CIECAM02. TP_COLORAPP_BRIGHT;Jas (O) TP_COLORAPP_BRIGHT_TOOLTIP;Jas v CIECAM02 bere v potaz svítivost bílé a rozdíly jasů mezi L*a*b* a RGB. TP_COLORAPP_CHROMA;Barevnost (C) @@ -1406,7 +1437,7 @@ TP_COLORAPP_WBCAM;WB [RT+CAT02] + [výstup] TP_COLORAPP_WBRT;WB [RT] + [výstup] TP_COLORAPP_YB;Yb% (střední jas) TP_COLORAPP_YBSCENE;Yb% (střední jas) -TP_COLORAPP_YBSCENE_TOOLTIP;Pokud je povolena automatika, Yb je vypočteno ze střední hodnoty jasu aktuálního obrázku +TP_COLORAPP_YBSCENE_TOOLTIP;Pokud je povolena automatika, Yb je vypočteno ze střední hodnoty jasu aktuálního obrázku TP_COLORTONING_AB;o C/L TP_COLORTONING_AUTOSAT;Automaticky TP_COLORTONING_BALANCE;Vyvážené @@ -1418,6 +1449,8 @@ TP_COLORTONING_HIGHLIGHT;Světla TP_COLORTONING_HUE;Odstín TP_COLORTONING_LAB;Mísení L*a*b* TP_COLORTONING_LABEL;Barevné tónování +TP_COLORTONING_LABGRID;Korekční mřížka L*a*b* barev +TP_COLORTONING_LABGRID_VALUES;SV: a=%1 b=%2\nSA: a=%3 b=%4 TP_COLORTONING_LUMA;Jas TP_COLORTONING_LUMAMODE;Zachování jasu TP_COLORTONING_LUMAMODE_TOOLTIP;Pokud je povoleno, je při změně barvy (červená, zelená, tyrkysová, modrá...) zachován jas každého pixelu. @@ -1471,6 +1504,7 @@ TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automatická celková TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL_TOOLTIP;Zkusí odhadnout barevný šum\nPozor, tento výpočet je zprůměrován a zcela subjektivní! TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Barevnost - Modrá a žlutá TP_DIRPYRDENOISE_CHROMINANCE_CURVE;Křivka barevnosti +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Zvýší (násobí) hodnoty všech barevných posuvníků.\nKřivka vám umožní nastavit sílu redukce barevného šumu jako funkci barvy. Například pro zvýšení účinku v oblastech s nízkým nasycení a snížení v oblastech s vysokým nasycením. TP_DIRPYRDENOISE_CHROMINANCE_FRAME;Barevnost TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Ručně TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Barevnost - Hlavní @@ -1479,7 +1513,7 @@ TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Ručně\nOvlivňuje celý ob TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Ručně\nOvlivňuje celý obrázek.\nVolby redukce šumu nastavujete ručně.\n\nCelková automatika\nOvlivňuje celý obrázek.\nPro výpočet parametrů celkové redukce barevného šumu je použito 9 zón.\n\nVíce zónová automatika\nBez náhledu - funguje pouze při ukládání, přesto je možné pomocí funkce "Náhled" získat alespoň částečnou představu o výsledku, Nastavení jsou aplikována na centrální dlaždici.\nObrázek je rozdělen na dlaždice (V závislosti na velikosti obrázku jich bude 10 až 70) a pro každou dlaždici bude vypočítáno vhodné nastavení redukce barevného šumu.\n\nNáhled\nOvlivňuje celý obrázek.\nPro výpočet celkového nastavení redukce barevného šumu je použita viditelná část obrázku. TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Více zónový náhled TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Náhled -TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Zobrazuje zbývající úroveň zašumění části obrázku viditelného v náhledu po vlnkové transformaci.\n\n>300 Hodně šumu\n100-300 Šum\n50-100 Málo šumu\n<50 Velmi málo šumu\n\nUpozornění: hodnoty RGB a L*a*b* režimu se budou lišit. Protože v RGB režimu nedochází ke kompletnímu oddělení jasu a barev jsou RGB hodnoty jméně přesné +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Zobrazuje zbývající úroveň zašumění části obrázku viditelného v náhledu po vlnkové transformaci.\n\n>300 Hodně šumu\n100-300 Šum\n50-100 Málo šumu\n<50 Velmi málo šumu\n\nPozor, hodnoty RGB a L*a*b* se budou lišit. Hodnoty RGB jsou méně přesné, protože v RGB režimu nedochází ke kompletnímu oddělení jasu a barev. TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Velikost náhledu=%1, Střed: Px=%2 Py=%3 TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;Náhled šumu: Průměr=%1 Výšky=%2 TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Náhled šumu: Průměr= - Výšky= - @@ -1487,22 +1521,22 @@ TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Velikost dlaždice=%1, Střed: Tx= TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Barevnost - Červená a zelená TP_DIRPYRDENOISE_ENH;Vylepšený režim TP_DIRPYRDENOISE_ENH_TOOLTIP;Zvýší kvalitu odstranění šumu, ale zároveň prodlouží dobu zpracování o 20%. +TP_DIRPYRDENOISE_LABEL;Redukce šumu TP_DIRPYRDENOISE_LUMINANCE_CONTROL;Ovládání jasu TP_DIRPYRDENOISE_LUMINANCE_CURVE;Křivka jasů -TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Jas - Detail +TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Obnovení detailů TP_DIRPYRDENOISE_LUMINANCE_FRAME;Jas TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING;Jas -TP_DIRPYRDENOISE_MAIN_COLORSPACE;Metoda +TP_DIRPYRDENOISE_MAIN_COLORSPACE;Barevný prostor TP_DIRPYRDENOISE_MAIN_COLORSPACE_LAB;L*a*b* -TP_DIRPYRDENOISE_MAIN_COLORSPACE_LABEL;Redukce šumu TP_DIRPYRDENOISE_MAIN_COLORSPACE_RGB;RGB TP_DIRPYRDENOISE_MAIN_COLORSPACE_TOOLTIP;Pro raw obrázky může být použita jak RGB tak i L*a*b* metoda.\n\nPro ostatní obrázky bude vždy použita metoda L*a*b* bez ohledu na výběr. TP_DIRPYRDENOISE_MAIN_GAMMA;Gama TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;Gama ovlivňuje sílu redukce šumu v rozsahu tónů. Menší hodnoty ovlivňují stíny, kdežto vysoké hodnoty zesílí efekt v jasných tónech. -TP_DIRPYRDENOISE_MAIN_MODE;Kvalita -TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Vysoká -TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Běžná -TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Kvalita může být přizpůsobena vzoru šumu. Nastavení "Vysoká" vylepší efekt redukce šumu za cenu navýšení času zpracování. +TP_DIRPYRDENOISE_MAIN_MODE;Mód +TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Agresívní +TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Konzervativní +TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Konzervativní" zachovává nízkofrekvenční barevné vzory, zatímco "Agresivní" je vyhladí. TP_DIRPYRDENOISE_MEDIAN_METHOD;Metoda mediánu TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Pouze barevnost TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* @@ -1561,6 +1595,8 @@ TP_EXPOSURE_CURVEEDITOR1;Tónová křivka 1 TP_EXPOSURE_CURVEEDITOR2;Tónová křivka 2 TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Podívejte se prosím na článek "Exposure > Tone Curves" na RawPedii, kde se můžete naučit. jak pomocí dvou tónových křivek dosáhnout ten nejlepší výsledek. TP_EXPOSURE_EXPCOMP;Kompenzace expozice +TP_EXPOSURE_HISTMATCHING;Automaticky nalezená Tónová křivka +TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatické nastavení posuvníků a křivek (kromě kompenzace expozice) tak, aby bylo dosaženo co největší shody s vloženým Jpeg náhledem. TP_EXPOSURE_LABEL;Expozice TP_EXPOSURE_SATURATION;Nasycení TP_EXPOSURE_TCMODE_FILMLIKE;Jako film @@ -1697,6 +1733,15 @@ TP_LENSPROFILE_LABEL;Korekční profily objektivů TP_LENSPROFILE_USECA;Korekce chromatické aberace TP_LENSPROFILE_USEDIST;Korekce zkreslení TP_LENSPROFILE_USEVIGN;Korekce vinětace +TP_LOCALCONTRAST_AMOUNT;Míra +TP_LOCALCONTRAST_DARKNESS;Úroveň tmavé +TP_LOCALCONTRAST_LABEL;Místní kontrast +TP_LOCALCONTRAST_LIGHTNESS;Úroveň světlé +TP_LOCALCONTRAST_RADIUS;Poloměr +TP_METADATA_EDIT;Aplikovat změny +TP_METADATA_MODE;Režim kopírování metadat +TP_METADATA_STRIP;Odstranit všechna metadata +TP_METADATA_TUNNEL;Kopírovat beze změny TP_NEUTRAL;Obnovit TP_NEUTRAL_TIP;Nastaví posuvníky expozice na neutrální hodnoty,\nPoužije stejné kontroly jako volba "Automatické úrovně" bez ohledu na to, zda jsou nebo nejsou Automatické úrovně použity. TP_PCVIGNETTE_FEATHER;Rozptyl @@ -1747,7 +1792,7 @@ TP_RAW_DCBITERATIONS;Počet průchodů DCB TP_RAW_DMETHOD;Metoda TP_RAW_DMETHOD_PROGRESSBAR;%1 demozajkování... TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Vylepšení demozajkování... -TP_RAW_DMETHOD_TOOLTIP;Poznámka: IGV a LMMSE jsou určeny pro obrázky s vysokým ISO, kde pomáhají redukci šumu minimalizovat posterizaci a vyžehlený vzhled.\n\nPixel Shift je určen pro soubory Pentax Pixel Shift.\nPro soubory neobsahující Pixel Shift data je použita metoda AMaZE. +TP_RAW_DMETHOD_TOOLTIP;Poznámka: IGV a LMMSE jsou určeny pro obrázky s vysokým ISO, kterým pomáhají vyhnout se u redukce šumu vzniku vzorů, posterizaci a vyžehlenému vzhledu.\n\nPixel Shift je určen pro soubory Pentax/Sony Pixel Shift.\nPro soubory neobsahující Pixel Shift data je použita metoda AMaZE. TP_RAW_EAHD;EAHD TP_RAW_FALSECOLOR;Počet kroků potlačování chybných barev TP_RAW_FAST;Rychlá @@ -1756,7 +1801,7 @@ TP_RAW_HD_TOOLTIP;Nižší hodnoty učiní detekci vypálených/mrtvých bodů a TP_RAW_HPHD;HPHD TP_RAW_IGV;IGV TP_RAW_IMAGENUM;Dílčí snímek -TP_RAW_IMAGENUM_TOOLTIP;Některé raw snímky obsahují několik podsnímků (Pentax Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel).\n\nV případě, že je pro demozajkování použita jiná metoda než Pixel Shift, tato volba určí, který podsnímek se použije.\n\nPokud je použita Pixel Shift metoda demozajkování na Pixel Shift raw soubory, budou použity všechny podsnímky a tato volba určí, který snímek bude použit pro pohyblivé části. +TP_RAW_IMAGENUM_TOOLTIP;Některé raw snímky obsahují několik podsnímků (Pentax/Sony Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel).\n\nV případě, že je pro demozajkování použita jiná metoda než Pixel Shift, tato volba určí, který podsnímek se použije.\n\nPokud je použita Pixel Shift metoda demozajkování na Pixel Shift raw soubory, budou použity všechny podsnímky a tato volba určí, který snímek bude použit pro pohyblivé části. TP_RAW_LABEL;Demozajkování TP_RAW_LMMSE;LMMSE TP_RAW_LMMSEITERATIONS;Kroky rozšíření LMMSE @@ -1796,6 +1841,8 @@ TP_RAW_PIXELSHIFTNONGREENCROSS2;Kontrolovat zelené AMaZE TP_RAW_PIXELSHIFTNONGREENHORIZONTAL;Kontrolovat červenou/modrou vodorovně TP_RAW_PIXELSHIFTNONGREENVERTICAL;Kontrolovat červenou/modrou svisle TP_RAW_PIXELSHIFTNREADISO;nRead +TP_RAW_PIXELSHIFTONEGREEN;Použít jednu zelenou místo průměru +TP_RAW_PIXELSHIFTONEGREEN_TOOLTIP;V oblastech bez pohybu použije jednu zelenou namísto zprůměrování obou zelených. TP_RAW_PIXELSHIFTPRNU;PRNU (%) TP_RAW_PIXELSHIFTREDBLUEWEIGHT;Váha červené a modré TP_RAW_PIXELSHIFTSHOWMOTION;Ukázat masku pohybu @@ -1951,6 +1998,7 @@ TP_SHARPENMICRO_LABEL;Mikrokontrast TP_SHARPENMICRO_MATRIX;Matice 3×3 namísto 5×5 TP_SHARPENMICRO_UNIFORMITY;Jednolitost TP_TM_FATTAL_AMOUNT;Míra +TP_TM_FATTAL_ANCHOR;Kotva TP_TM_FATTAL_LABEL;HDR Mapování tónů TP_TM_FATTAL_THRESHOLD;Práh TP_VIBRANCE_AVOIDCOLORSHIFT;Zabránit posunu barev @@ -2191,63 +2239,7 @@ TP_WBALANCE_WATER_HEADER;Pod vodou ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Otevřít (nové) okno detailu ZOOMPANEL_ZOOM100;Zvětšit na 100%\nZkratka: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Přizpůsobit obrazovce\nZkratka: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit obrázek obrazovce\nZkratka: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Přizpůsobit ořez obrazovce\nZkratka: f +ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit celý obrázek obrazovce\nZkratka: Alt-f ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: + ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: - - -!!!!!!!!!!!!!!!!!!!!!!!!! -! Untranslated keys follow; remove the ! prefix after an entry is translated. -!!!!!!!!!!!!!!!!!!!!!!!!! - -!BATCHQUEUE_STARTSTOPHINT;Start or stop processing the images in the queue.\n\nShortcut: Ctrl+s -!GENERAL_SLIDER;Slider -!HISTORY_MSG_173;NR - Detail recovery -!HISTORY_MSG_203;NR - Color space -!HISTORY_MSG_256;NR - Median - Type -!HISTORY_MSG_297;NR - Mode -!HISTORY_MSG_493;L*a*b* Adjustments -!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction -!HISTORY_MSG_HISTMATCHING;Auto-matched Tone Curve -!HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount -!HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness -!HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast -!HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Local Contrast - Lightness -!HISTORY_MSG_LOCALCONTRAST_RADIUS;Local Contrast - Radius -!HISTORY_MSG_METADATA_MODE;Metadata copy mode -!HISTORY_MSG_TM_FATTAL_ANCHOR;HDR TM - Anchor -!MAIN_TAB_ADVANCED;Advanced -!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!PARTIALPASTE_ADVANCEDGROUP;Advanced Settings -!PARTIALPASTE_LOCALCONTRAST;Local contrast -!PARTIALPASTE_METADATA;Metadata mode -!PREFERENCES_CROP;Crop editing -!PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop area -!PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop -!PREFERENCES_CROP_GUIDES_FRAME;Frame -!PREFERENCES_CROP_GUIDES_FULL;Original -!PREFERENCES_CROP_GUIDES_NONE;None -!PREFERENCES_EDITORCMDLINE;Custom command line -!SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. -!SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. -!TP_COLORTONING_LABGRID;L*a*b* color correction grid -!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 -!TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation. -!TP_DIRPYRDENOISE_LABEL;Noise Reduction -!TP_EXPOSURE_HISTMATCHING;Auto-matched Tone Curve -!TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. -!TP_LOCALCONTRAST_AMOUNT;Amount -!TP_LOCALCONTRAST_DARKNESS;Darkness level -!TP_LOCALCONTRAST_LABEL;Local Contrast -!TP_LOCALCONTRAST_LIGHTNESS;Lightness level -!TP_LOCALCONTRAST_RADIUS;Radius -!TP_METADATA_EDIT;Apply modifications -!TP_METADATA_MODE;Metadata copy mode -!TP_METADATA_STRIP;Strip all metadata -!TP_METADATA_TUNNEL;Copy unchanged -!TP_RAW_PIXELSHIFTONEGREEN;Use one green instead of average -!TP_RAW_PIXELSHIFTONEGREEN_TOOLTIP;Use one green instead of averaging two greens for regions without motion. -!TP_TM_FATTAL_ANCHOR;Anchor diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index f66c43ec9..ddc6d0175 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -51,6 +51,7 @@ #50 07.01.2018 Crop Settings (TooWaBoo) RT 5.3 #51 10.02.2018 Erweiterung (TooWaBoo) RT 5.3 #52 10.02.2018 Korrektur (TooWaBoo) RT 5.3 +#53 26.02.2018 Erweiterung (TooWaBoo) RT 5.3 ABOUT_TAB_BUILD;Version ABOUT_TAB_CREDITS;Danksagungen @@ -921,6 +922,9 @@ NAVIGATOR_S;S: NAVIGATOR_V;V: NAVIGATOR_XY_FULL;Breite = %1, Höhe = %2 NAVIGATOR_XY_NA;x: --, y: -- +OPTIONS_BUNDLED_MISSING;Das mitgelieferte Profil %1 konnte nicht gefunden werden!\n\nIhre Installation könnte beschädigt sein.\n\nEs werden die internen Standardwerte verwendet. +OPTIONS_DEFIMG_MISSING;Das Standardprofil für Bilddateien wurde nicht gefunden oder ist beschädigt.\n\nBitte überprüfen Sie das Verzeichnis Ihrer Profile.\n\nProfil %1 wird stattdessen verwendet. +OPTIONS_DEFRAW_MISSING;Das Standardprofil für RAW-Dateien wurde nicht gefunden oder ist beschädigt.\n\nBitte überprüfen Sie das Verzeichnis Ihrer Profile.\n\nProfil %1 wird stattdessen verwendet. PARTIALPASTE_ADVANCEDGROUP;Erweiterte Einstellungen PARTIALPASTE_BASICGROUP;Basisparameter PARTIALPASTE_CACORRECTION;Farbsaum entfernen @@ -2252,15 +2256,8 @@ TP_WBALANCE_WATER_HEADER;Unterwasser ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Neues Detailfenster öffnen ZOOMPANEL_ZOOM100;Zoom 100%\nTaste: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen\nTaste: Alt + f -ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen\nTaste: f +ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: Alt + f ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: + ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: - -!!!!!!!!!!!!!!!!!!!!!!!!! -! Untranslated keys follow; remove the ! prefix after an entry is translated. -!!!!!!!!!!!!!!!!!!!!!!!!! - -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol index 1b23bdcff..dc78f321e 100644 --- a/rtdata/languages/Espanol +++ b/rtdata/languages/Espanol @@ -1477,7 +1477,7 @@ TP_WBALANCE_WATER_HEADER;Subacuático ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Abrir (nueva) ventana de detalle ZOOMPANEL_ZOOM100;Zoom al 100%\nAtajo: z -ZOOMPANEL_ZOOMFITSCREEN;Ajustar a pantalla\nAtajo: f +ZOOMPANEL_ZOOMFITSCREEN;Ajustar a pantalla\nAtajo: Alt-f ZOOMPANEL_ZOOMIN;Aumentar Zoom\nAtajo: + ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: - diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais index 17ee23ae2..3ea77ab78 100644 --- a/rtdata/languages/Francais +++ b/rtdata/languages/Francais @@ -2204,8 +2204,8 @@ TP_WBALANCE_WATER_HEADER;Sous-marin ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Ouvrir une (nouvelle) vue détaillée ZOOMPANEL_ZOOM100;Zoom à 100%\nRaccourci: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Zoom/affiche la zone recadrée\nRaccourci: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Zoom/affiche la zone recadrée\nRaccourci: f +ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: Alt-f ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: + ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: - diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano index 820e43816..4615a1c62 100644 --- a/rtdata/languages/Italiano +++ b/rtdata/languages/Italiano @@ -1312,7 +1312,7 @@ TP_WBALANCE_WATER_HEADER;Subacqueo ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Apri (nuova) finestra di dettaglio ZOOMPANEL_ZOOM100;Ingrandimento al 100%.\nScorciatoia: z -ZOOMPANEL_ZOOMFITSCREEN;Adatta allo schermo.\nScorciatoia: f +ZOOMPANEL_ZOOMFITSCREEN;Adatta allo schermo.\nScorciatoia: Alt-f ZOOMPANEL_ZOOMIN;Ingrandisci.\nScorciatoia: + ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index 5915f6071..bc6daac04 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -1846,8 +1846,8 @@ TP_WBALANCE_WATER_HEADER;水中 ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;新規ディテール ウィンドウを開く ZOOMPANEL_ZOOM100;100%にズーム\nショートカット: z -ZOOMPANEL_ZOOMFITCROPSCREEN;切り抜き画像を画面に合わせる\nショートカット: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;画像全体を画面に合わせる\nショートカット: f +ZOOMPANEL_ZOOMFITCROPSCREEN;切り抜き画像を画面に合わせる\nショートカット: f +ZOOMPANEL_ZOOMFITSCREEN;画像全体を画面に合わせる\nショートカット: Alt-f ZOOMPANEL_ZOOMIN;ズームイン\nショートカット: + ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: - diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar index caea757b5..c8cbc100f 100644 --- a/rtdata/languages/Magyar +++ b/rtdata/languages/Magyar @@ -858,7 +858,7 @@ TP_WBALANCE_TUNGSTEN;Tungsten ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;(Új) lupe megnyitása ZOOMPANEL_ZOOM100;Nagyítás 100%-ra z -ZOOMPANEL_ZOOMFITSCREEN;Képernyő méretéhez igazítás f +ZOOMPANEL_ZOOMFITSCREEN;Képernyő méretéhez igazítás Alt-f ZOOMPANEL_ZOOMIN;Nagyítás + ZOOMPANEL_ZOOMOUT;Kicsinyítés - diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands index 3804c52a7..1f317a7fa 100644 --- a/rtdata/languages/Nederlands +++ b/rtdata/languages/Nederlands @@ -2108,8 +2108,8 @@ TP_WBALANCE_WATER_HEADER;Onderwater ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Open (nieuw) detailvenster ZOOMPANEL_ZOOM100;Zoom naar 100%\nSneltoets: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Maak uitsnede passend in het scherm\nSneltoets: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;Passend in venster\nSneltoets: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Maak uitsnede passend in het scherm\nSneltoets: f +ZOOMPANEL_ZOOMFITSCREEN;Passend in venster\nSneltoets: Alt-f ZOOMPANEL_ZOOMIN;Zoom in\nSneltoets: + ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: - diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish index 946c8ea63..a4def66c5 100644 --- a/rtdata/languages/Polish +++ b/rtdata/languages/Polish @@ -1434,8 +1434,8 @@ TP_WBALANCE_WATER_HEADER;Pod wodą ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Otwórz (nową) lupę ZOOMPANEL_ZOOM100;Powiększ do 100%\nSkrót: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrót: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;Dopasuj cały obraz do ekranu\nSkrót: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrót: f +ZOOMPANEL_ZOOMFITSCREEN;Dopasuj cały obraz do ekranu\nSkrót: Alt-f ZOOMPANEL_ZOOMIN;Przybliż\nSkrót: + ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters) index 2e6d74122..5c5d31f72 100644 --- a/rtdata/languages/Polish (Latin Characters) +++ b/rtdata/languages/Polish (Latin Characters) @@ -1434,8 +1434,8 @@ TP_WBALANCE_WATER_HEADER;Pod woda ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Otworz (nowa) lupe ZOOMPANEL_ZOOM100;Powieksz do 100%\nSkrot: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrot: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;Dopasuj caly obraz do ekranu\nSkrot: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrot: f +ZOOMPANEL_ZOOMFITSCREEN;Dopasuj caly obraz do ekranu\nSkrot: Alt-f ZOOMPANEL_ZOOMIN;Przybliz\nSkrot: + ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: - diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian index 01efea73d..c27a78270 100644 --- a/rtdata/languages/Russian +++ b/rtdata/languages/Russian @@ -1406,7 +1406,7 @@ ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Новое окно детального просмотра ZOOMPANEL_ZOOM100;Масштаб 100%\nГорячая клавиша: z ZOOMPANEL_ZOOMFITCROPSCREEN;Уместить кадрированное изображение по размеру экрану\nГорячая клавиша: f -ZOOMPANEL_ZOOMFITSCREEN;Уместить изображение по размерам окна\nГорячая клавиша: Alt-f +ZOOMPANEL_ZOOMFITSCREEN;Уместить изображение по размерам окна\nГорячая клавиша: Alt-f ZOOMPANEL_ZOOMIN;Приблизить\nГорячая клавиша: + ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters) index 56cc853de..4c45633eb 100644 --- a/rtdata/languages/Serbian (Cyrilic Characters) +++ b/rtdata/languages/Serbian (Cyrilic Characters) @@ -1269,7 +1269,7 @@ TP_WBALANCE_WATER_HEADER;Подводна фотографија ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Отвара нови прозор са детаљима ZOOMPANEL_ZOOM100;Повећава преглед на 100% z -ZOOMPANEL_ZOOMFITSCREEN;Уклапа слику у величину прозора Ф +ZOOMPANEL_ZOOMFITSCREEN;Уклапа слику у величину прозора Alt-Ф ZOOMPANEL_ZOOMIN;Увећава приказ слике + ZOOMPANEL_ZOOMOUT;Умањује приказ слике - diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters) index 3157f1089..0552ba29a 100644 --- a/rtdata/languages/Serbian (Latin Characters) +++ b/rtdata/languages/Serbian (Latin Characters) @@ -1269,7 +1269,7 @@ TP_WBALANCE_WATER_HEADER;Podvodna fotografija ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Otvara novi prozor sa detaljima ZOOMPANEL_ZOOM100;Povećava pregled na 100% z -ZOOMPANEL_ZOOMFITSCREEN;Uklapa sliku u veličinu prozora F +ZOOMPANEL_ZOOMFITSCREEN;Uklapa sliku u veličinu prozora Alt-f ZOOMPANEL_ZOOMIN;Uvećava prikaz slike + ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike - diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak index 1664b6150..a8728cbc5 100644 --- a/rtdata/languages/Slovak +++ b/rtdata/languages/Slovak @@ -499,7 +499,7 @@ TP_WBALANCE_TEMPERATURE;Teplota ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Otvoriť (nové) okno s detailom ZOOMPANEL_ZOOM100;Priblíženie na 100% z -ZOOMPANEL_ZOOMFITSCREEN;Prispôsobiť obrazovke f +ZOOMPANEL_ZOOMFITSCREEN;Prispôsobiť obrazovke Alt-f ZOOMPANEL_ZOOMIN;Priblížiť + ZOOMPANEL_ZOOMOUT;Oddialiť - diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish index c7b03a1b1..67572efba 100644 --- a/rtdata/languages/Swedish +++ b/rtdata/languages/Swedish @@ -1852,8 +1852,8 @@ TP_WBALANCE_WATER_HEADER;Under vattnet ZOOMPANEL_100;(100%) ZOOMPANEL_NEWCROPWINDOW;Öppna (nytt) detaljfönster. ZOOMPANEL_ZOOM100;Förstora till 100%.\nKortkommando: z -ZOOMPANEL_ZOOMFITCROPSCREEN;Anpassa beskärningen till skärmen\nKortkommando: Alt-f -ZOOMPANEL_ZOOMFITSCREEN;Passa till skärmen.\nKortkommando: f +ZOOMPANEL_ZOOMFITCROPSCREEN;Anpassa beskärningen till skärmen\nKortkommando: f +ZOOMPANEL_ZOOMFITSCREEN;Passa till skärmen.\nKortkommando: Alt-f ZOOMPANEL_ZOOMIN;Förstora.\nKortkommando: + ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - diff --git a/rtengine/LUT.h b/rtengine/LUT.h index abc2b0bde..a55c5f5bd 100644 --- a/rtengine/LUT.h +++ b/rtengine/LUT.h @@ -102,9 +102,9 @@ protected: private: unsigned int owner; #ifdef __SSE2__ - vfloat maxsv ALIGNED16; - vfloat sizev ALIGNED16; - vint sizeiv ALIGNED16; + alignas(16) vfloat maxsv; + alignas(16) vfloat sizev; + alignas(16) vint sizeiv; #endif public: /// convenience flag! If one doesn't want to delete the buffer but want to flag it to be recomputed... diff --git a/rtengine/camconst.json b/rtengine/camconst.json index 95d9606fa..8709c16c7 100644 --- a/rtengine/camconst.json +++ b/rtengine/camconst.json @@ -1265,6 +1265,12 @@ Camera constants: "ranges": { "white": 16100 } }, + { // Quality B + "make_model": "FUJIFILM X-E3", + "dcraw_matrix": [ 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 ], // DNG v10 D65 + "ranges": { "white": 16100 } + }, + { // Quality B "make_model": "FUJIFILM X-PRO1", "dcraw_matrix": [ 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 ], // DNG_v9.4 D65 diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index bebebbd2d..147edba53 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -1337,6 +1337,8 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed) pl->setProgress (0.0); } + bool applyExifPatch = false; + if (exifRoot) { rtexif::TagDirectory* cl = (const_cast (exifRoot))->clone (nullptr); @@ -1379,6 +1381,7 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed) // at a different offset: TIFFSetWriteOffset (out, exif_size + 8); TIFFSetField (out, TIFFTAG_EXIFIFD, 8); + applyExifPatch = true; } } @@ -1490,6 +1493,38 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed) writeOk = false; } + /************************************************************************************************************ + * + * Hombre: This is a dirty hack to update the Exif tag data type to 0x0004 so that Windows can understand it. + * libtiff will set this data type to 0x000d and doesn't provide any mechanism to update it before + * dumping to the file. + * + */ + if (applyExifPatch) { + unsigned char b[10]; + uint16 tagCount = 0; + lseek(fileno, 4, SEEK_SET); + read(fileno, b, 4); + uint32 ifd0Offset = rtexif::sget4(b, exifRoot->getOrder()); + lseek(fileno, ifd0Offset, SEEK_SET); + read(fileno, b, 2); + tagCount = rtexif::sget2(b, exifRoot->getOrder()); + for (size_t i = 0; i < tagCount ; ++i) { + uint16 tagID = 0; + read(fileno, b, 2); + tagID = rtexif::sget2(b, exifRoot->getOrder()); + if (tagID == 0x8769) { + rtexif::sset2(4, b, exifRoot->getOrder()); + write(fileno, b, 2); + break; + } else { + read(fileno, b, 10); + } + } + } + /************************************************************************************************************/ + + TIFFClose (out); #ifdef WIN32 fclose (file); diff --git a/rtengine/profilestore.cc b/rtengine/profilestore.cc index e79c8e322..ec57fc669 100644 --- a/rtengine/profilestore.cc +++ b/rtengine/profilestore.cc @@ -121,11 +121,14 @@ void ProfileStore::_parseProfiles () Glib::ustring p2 = options.getGlobalProfilePath(); bool displayLevel0 = options.useBundledProfiles && !p1.empty() && !p2.empty() && p1 != p2; - Glib::ustring virtualPath ("${U}"); - Glib::ustring currDir ("${U}"); - parseDir (p1, virtualPath, currDir, 0, 0, displayLevel0); - - if (displayLevel0) { + Glib::ustring virtualPath; + Glib::ustring currDir; + if (!p1.empty()) { + virtualPath = "${U}"; + currDir = "${U}"; + parseDir (p1, virtualPath, currDir, 0, 0, displayLevel0); + } + if (p1.empty() || displayLevel0) { virtualPath = "${G}"; currDir = "${G}"; parseDir (p2, virtualPath, currDir, 0, 0, displayLevel0); diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index aef4447ce..0420c5b79 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -5349,6 +5349,10 @@ void RawImageSource::init () void RawImageSource::getRawValues(int x, int y, int rotate, int &R, int &G, int &B) { + if(d1x) { // Nikon D1x has special sensor. We just skip it + R = G = B = 0; + return; + } int xnew = x + border; int ynew = y + border; rotate += ri->get_rotateDegree(); diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc index b6a60bbd8..ff5607b02 100644 --- a/rtexif/rtexif.cc +++ b/rtexif/rtexif.cc @@ -1948,8 +1948,8 @@ void Tag::initUserComment (const Glib::ustring &text) memcpy(value, "ASCII\0\0\0", 8); memcpy(value + 8, text.c_str(), valuesize - 8); } else { - wchar_t *commentStr = (wchar_t*)g_utf8_to_utf16 (text.c_str(), -1, nullptr, nullptr, nullptr); - size_t wcStrSize = wcslen(commentStr); + glong wcStrSize = 0; + gunichar2 *commentStr = g_utf8_to_utf16 (text.c_str(), -1, nullptr, &wcStrSize, nullptr); valuesize = count = wcStrSize * 2 + 8 + (useBOM ? 2 : 0); value = new unsigned char[valuesize]; memcpy(value, "UNICODE\0", 8); diff --git a/rtexif/rtexif.h b/rtexif/rtexif.h index b7ba5ff1d..52411b33c 100644 --- a/rtexif/rtexif.h +++ b/rtexif/rtexif.h @@ -61,11 +61,11 @@ bool extractLensInfo (std::string &fullname, double &minFocal, double &maxFocal, unsigned short sget2 (unsigned char *s, ByteOrder order); int sget4 (unsigned char *s, ByteOrder order); -inline unsigned short get2 (FILE* f, ByteOrder order); -inline int get4 (FILE* f, ByteOrder order); -inline void sset2 (unsigned short v, unsigned char *s, ByteOrder order); -inline void sset4 (int v, unsigned char *s, ByteOrder order); -inline float int_to_float (int i); +unsigned short get2 (FILE* f, ByteOrder order); +int get4 (FILE* f, ByteOrder order); +void sset2 (unsigned short v, unsigned char *s, ByteOrder order); +void sset4 (int v, unsigned char *s, ByteOrder order); +float int_to_float (int i); short int int2_to_signed (short unsigned int i); struct TIFFHeader { diff --git a/rtgui/main-cli.cc b/rtgui/main-cli.cc index 2365123e1..43948bae9 100644 --- a/rtgui/main-cli.cc +++ b/rtgui/main-cli.cc @@ -158,8 +158,10 @@ int main (int argc, char **argv) try { Options::load (quickstart); - } catch (Options::Error &) { - printf ("Fatal error!\nThe RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!\n"); + } catch (Options::Error &e) { + std::cerr << std::endl + << "FATAL ERROR:" << std::endl + << e.get_msg() << std::endl; return -2; } diff --git a/rtgui/main.cc b/rtgui/main.cc index 2ae442e5a..55d27125c 100644 --- a/rtgui/main.cc +++ b/rtgui/main.cc @@ -628,20 +628,19 @@ int main (int argc, char **argv) int ret = 0; + Glib::ustring fatalError; + try { Options::load(); } catch (Options::Error &e) { - std::cout << "ERROR: " << e.get_msg() << std::endl; - std::cerr << "Fatal error!" << std::endl; - std::cerr << "The RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!" << std::endl; - return -2; + fatalError = e.get_msg(); } gdk_threads_set_lock_functions (G_CALLBACK (myGdkLockEnter), (G_CALLBACK (myGdkLockLeave))); gdk_threads_init(); gtk_init (&argc, &argv); // use the "--g-fatal-warnings" command line flag to make warnings fatal - if (remote) { + if (fatalError.empty() && remote) { char *app_argv[2] = { const_cast (argv0.c_str()) }; int app_argc = 1; @@ -653,7 +652,7 @@ int main (int argc, char **argv) RTApplication app; ret = app.run (app_argc, app_argv); } else { - if (init_rt()) { + if (fatalError.empty() && init_rt()) { Gtk::Main m (&argc, &argv); gdk_threads_enter(); const std::unique_ptr rtWindow (create_rt_window()); @@ -679,7 +678,7 @@ int main (int argc, char **argv) cleanup_rt(); } else { Gtk::Main m (&argc, &argv); - Gtk::MessageDialog msgd ("Fatal error!\nThe RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!", true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog msgd (Glib::ustring::compose("FATAL ERROR!\n\n%1", fatalError), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); ret = -2; } diff --git a/rtgui/multilangmgr.cc b/rtgui/multilangmgr.cc index c85d0d7b8..8d2985436 100644 --- a/rtgui/multilangmgr.cc +++ b/rtgui/multilangmgr.cc @@ -20,7 +20,6 @@ #include #include - #ifdef WIN32 #include #include @@ -93,7 +92,7 @@ struct LocaleToLang : private std::map, } // Look for matching language only. - iterator = find (key (major)); + iterator = find (key (major, major.uppercase())); if (iterator != end ()) { return iterator->second; diff --git a/rtgui/options.cc b/rtgui/options.cc index 68cd39e6d..94261f886 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -81,7 +81,7 @@ bool Options::checkDirPath (Glib::ustring &path, Glib::ustring errString) return true; } else { if (!errString.empty()) { - printf ("%s\n", errString.c_str()); + std::cerr << errString << std::endl; } return false; @@ -102,60 +102,48 @@ void Options::updatePaths() g_mkdir_with_parents (profilePath.c_str (), 511); if (!checkDirPath (profilePath, "")) { // had problems with mkdir_with_parents return value on OS X, just check dir again - printf ("Error: user's profiles' directory \"%s\" creation failed\n", profilePath.c_str()); + Glib::ustring msg = Glib::ustring::compose ("Creation of the user's processing profile directory \"%1\" failed!\n", profilePath); + throw Error (msg); } } - if (checkDirPath (profilePath, "Error: the specified user's profiles' path doesn't point to a directory or doesn't exist!\n")) { - if (multiUser) { - userProfilePath = profilePath; - tmpPath = Glib::build_filename (argv0, "profiles"); + if (checkDirPath (profilePath, "Error: the user's processing profile path doesn't point to a directory or doesn't exist!\n")) { + userProfilePath = profilePath; + tmpPath = Glib::build_filename (argv0, "profiles"); - if (checkDirPath (tmpPath, "Error: the global's profiles' path doesn't point to a directory or doesn't exist!\n")) { - if (userProfilePath != tmpPath) { - globalProfilePath = tmpPath; - } + if (checkDirPath (tmpPath, "Error: the global's processing profile path doesn't point to a directory or doesn't exist!\n")) { + if (userProfilePath != tmpPath) { + globalProfilePath = tmpPath; } - } else { - globalProfilePath = profilePath; } } else { tmpPath = Glib::build_filename (argv0, "profiles"); - if (checkDirPath (tmpPath, "Error: the global's profiles' path doesn't point to a directory or doesn't exist!\n")) { + if (checkDirPath (tmpPath, "Error: the global's processing profile path doesn't point to a directory or doesn't exist!\n")) { globalProfilePath = tmpPath; } } } else { // relative paths - if (multiUser) { - tmpPath = Glib::build_filename (rtdir, profilePath); + tmpPath = Glib::build_filename (rtdir, profilePath); + + if (!checkDirPath (tmpPath, "")) { + g_mkdir_with_parents (tmpPath.c_str (), 511); if (!checkDirPath (tmpPath, "")) { - g_mkdir_with_parents (tmpPath.c_str (), 511); - - if (!checkDirPath (tmpPath, "")) { - printf ("Error: user's profiles' directory \"%s\" creation failed\n", tmpPath.c_str()); - } + Glib::ustring msg = Glib::ustring::compose ("Creation of the user's processing profile directory \"%1\" failed!\n", tmpPath.c_str()); + throw Error (msg); } + } - if (checkDirPath (tmpPath, "Error: the specified user's profiles' path doesn't point to a directory!\n")) { - userProfilePath = tmpPath; - } + if (checkDirPath (tmpPath, "Error: the user's processing profile path doesn't point to a directory!\n")) { + userProfilePath = tmpPath; + } - tmpPath = Glib::build_filename (argv0, "profiles"); + tmpPath = Glib::build_filename (argv0, "profiles"); - if (checkDirPath (tmpPath, "Error: the specified user's profiles' path doesn't point to a directory or doesn't exist!\n")) { - globalProfilePath = tmpPath; - } - } else { - // common directory - // directory name set in options is ignored, we use the default directory name - tmpPath = Glib::build_filename (argv0, "profiles"); - - if (checkDirPath (tmpPath, "Error: no global profiles' directory found!\n")) { - globalProfilePath = tmpPath; - } + if (checkDirPath (tmpPath, "Error: the user's processing profile path doesn't point to a directory or doesn't exist!\n")) { + globalProfilePath = tmpPath; } } @@ -2133,7 +2121,7 @@ void Options::load (bool lightweight) } // Set the cache folder in RT's base folder - cacheBaseDir = Glib::build_filename (argv0, "cache"); + cacheBaseDir = Glib::build_filename (argv0, "mycache"); // Read the global option file (the one located in the application's base folder) try { @@ -2142,6 +2130,10 @@ void Options::load (bool lightweight) // ignore errors here } + if (!options.multiUser && path == nullptr) { + rtdir = Glib::build_filename (argv0, "mysettings"); + } + // Modify the path of the cache folder to the one provided in RT_CACHE environment variable path = g_getenv ("RT_CACHE"); @@ -2153,7 +2145,7 @@ void Options::load (bool lightweight) throw Error (msg); } } - // No environment variable provided, so falling back to the multi user mode, is enabled + // No environment variable provided, so falling back to the multi user mode, if enabled else if (options.multiUser) { #ifdef WIN32 cacheBaseDir = Glib::build_filename (rtdir, "cache"); @@ -2162,25 +2154,24 @@ void Options::load (bool lightweight) #endif } - // Check if RT is installed in Multi-User mode - if (options.multiUser) { - // Read the user option file (the one located somewhere in the user's home folder) - // Those values supersets those of the global option file - try { - options.readFromFile (Glib::build_filename (rtdir, "options")); - } catch (Options::Error &) { - // If the local option file does not exist or is broken, and the local cache folder does not exist, recreate it - if (!g_mkdir_with_parents (rtdir.c_str (), 511)) { - // Save the option file - options.saveToFile (Glib::build_filename (rtdir, "options")); - } + // Read the user option file (the one located somewhere in the user's home folder) + // Those values supersets those of the global option file + try { + options.readFromFile (Glib::build_filename (rtdir, "options")); + } catch (Options::Error &) { + // If the local option file does not exist or is broken, and the local cache folder does not exist, recreate it + if (!g_mkdir_with_parents (rtdir.c_str (), 511)) { + // Save the option file + options.saveToFile (Glib::build_filename (rtdir, "options")); } + } #ifdef __APPLE__ + if (options.multiUser) { // make sure .local/share exists on OS X so we don't get problems with recently-used.xbel g_mkdir_with_parents (g_get_user_data_dir(), 511); -#endif } +#endif if (options.rtSettings.verbose) { printf ("Cache directory (cacheBaseDir) = %s\n", cacheBaseDir.c_str()); @@ -2275,11 +2266,7 @@ void Options::load (bool lightweight) void Options::save () { - if (!options.multiUser) { - options.saveToFile (Glib::build_filename (argv0, "options")); - } else { - options.saveToFile (Glib::build_filename (rtdir, "options")); - } + options.saveToFile (Glib::build_filename (rtdir, "options")); } /* diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 97fd10b25..25855d588 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -253,13 +253,13 @@ Gtk::Widget* Preferences::getBatchProcPanel () mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_DIRPYRDENOISE_LABEL")); //appendBehavList (mi, M("TP_DIRPYRDENOISE_LUMA")+", "+M("TP_DIRPYRDENOISE_CHROMA"), ADDSET_DIRPYRDN_CHLUM, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_LUMA"), ADDSET_DIRPYRDN_LUMA, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_LDETAIL"), ADDSET_DIRPYRDN_LUMDET, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMA"), ADDSET_DIRPYRDN_CHROMA, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_RED"), ADDSET_DIRPYRDN_CHROMARED, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_BLUE"), ADDSET_DIRPYRDN_CHROMABLUE, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_GAMMA"), ADDSET_DIRPYRDN_GAMMA, true); - appendBehavList (mi, M ("TP_DIRPYRDENOISE_PASSES"), ADDSET_DIRPYRDN_PASSES, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING"), ADDSET_DIRPYRDN_LUMA, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_LUMINANCE_DETAIL"), ADDSET_DIRPYRDN_LUMDET, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMINANCE_MASTER"), ADDSET_DIRPYRDN_CHROMA, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN"), ADDSET_DIRPYRDN_CHROMARED, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW"), ADDSET_DIRPYRDN_CHROMABLUE, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_MAIN_GAMMA"), ADDSET_DIRPYRDN_GAMMA, true); + appendBehavList (mi, M ("TP_DIRPYRDENOISE_MEDIAN_PASSES"), ADDSET_DIRPYRDN_PASSES, true); mi = behModel->append (); mi->set_value (behavColumns.label, M ("TP_WBALANCE_LABEL")); diff --git a/rtgui/rtwindow.cc b/rtgui/rtwindow.cc index 860221e02..0a8140955 100644 --- a/rtgui/rtwindow.cc +++ b/rtgui/rtwindow.cc @@ -93,14 +93,19 @@ RTWindow::RTWindow () WhiteBalance::init(); ProfilePanel::init (this); - Glib::ustring fName = "rt-logo-small.png"; - Glib::ustring fullPath = rtengine::findIconAbsolutePath (fName); - +#ifndef WIN32 + const std::vector> appIcons = { + RTImage::createFromFile("rt-logo-tiny.png"), + RTImage::createFromFile("rt-logo-small.png"), + RTImage::createFromFile("rt-logo-medium.png"), + RTImage::createFromFile("rt-logo-large.png") + }; try { - set_default_icon_from_file (fullPath); + set_default_icon_list(appIcons); } catch (Glib::Exception& ex) { printf ("%s\n", ex.what().c_str()); } +#endif #if defined(__APPLE__) {