386 Commits

Author SHA1 Message Date
Lawrence Lee
6a0067d738 Disable favorite tool cloning by default
Also add tooltip stating that tool cloning may cause a delay while
switching between tabs.
2021-12-24 16:03:58 -08:00
Desmis
1e4f41bc05
LA - new tool - Color appearance (Cam16 & JzCzHz) (#6377)
* Gui improvments

* Several improvments GUI Jz algo

* Change function La for lightess Jz

* SH jzazbz first

* enable Jz SH

* Clean code

* Disabled Munsell correction when Jz

* Change tooltip and Cam16 Munsell

* GUI for CzHz and HzHz curves

* Enable curves Hz(Hz) Cz(Hz)

* Improve Cz chroma

* Jz100 reference refine

* Change limit Jz100

* Refine link between jz100 and peak adaptation

* Improve GUI

* Various improvment PQ PU gamut

* Change defaults settings

* forgotten PL in gamutjz

* Small changes and comment

* Change gamujz parameter

* disabled gamut Jz too slow

* Jzazbz curve Jz(Hz)

* reenable gamutjz

* small changes

* Change tooltip

* Change labels tooltips

* Jzazbz only on advanced mode

* GUI improvments

* Change tooltip

* Change default values and tooltip

* Added tooltip Jz

* Disabled Jz gamut

* Change gamma color and light - remove exposure

* Gamma for exposure and DR

* gamma Sharp

* Gamma vibrance

* gamma optimizations

* Change tooltips

* Optimization PQ

* LA GUI for tone curve Ciecam

* LA ciecam Enable curve lightness - brightness

* LA ciecam GUI color curve

* LA ciecam enable color curve

* Change tooltip and default values

* Enable Jz curve

* Enable Cz(Cz) curve

* Enable Cz(Jz) curve

* Added Log encoding to ciecam

* Improvment algorithm remapping

* Reenable forgotten listener logencodchanged

* Change Jz tooltips

* Reenable dynamic range and exposure

* First change GUI auto ciecam

* 2nd fixed ciecam auto

* Improve GUI maskbackground curves

* Enable activspot for la ciecam

* set sensitive sliders La ciecam when auto scene conditions

* Change internal calculations see comments

* Checcbox ForceJz to 1

* Change tool position - change order CAM model

* Expander for Jzczhz

* Remove unused code

* GUI changes

* Change labels CAM16 Jzazbz

* Change slider brightness parameters

* improvment SH jz

* Some changes to brightness Jz

* Fixed scene conditions auto

* Renable forgotten change

* Prepare calculation Zcam

* Prepare Iz for zcam

* First GUI Zcam

* Improve GUI Zcam

* Calculate Qz white - brightness of the reference white

* Prepare for PQ - eventually

* Init LUT ZCAMBrightCurveJz and ZCAMBrightCurveQz

* prepare zcam achromatic variables

* First zcam

* Change algo step 5 zcam

* Another change original algo

* Another change to original algo

* first colorfullness

* Fixed bad behavior threshold and change c c2 surround parameters

* added saturation Zcam

* Change parameters surround

* Enable chroma zcam

* change chroma and lightness formula

* disable OMP for 2nd process Zcam

* Improvment zcam for some high-light images

* Change parameters overflow zcam

* Change parmeters high datas

* another change to retrieve...

* Simplify code matrix conversion xyz-jzazbz

* Adjust internam parameters zcam

* Change some parameters - clean code

* Enable PQCam16

* Enable PQ Cam16 - disable ZCAM

* remove warning compilation message

* Change GUI jzczhz

* Fixed bad behavior remaping jz

* Remove forgotten parameter - hide Jz100 - PU adaptation- chnage tooltips

* Another change to chroma parameter

* Small changes

* If verbose display in console Cam16 informations

* If verbose display in console source saturation colorfullness

* Change to La calculation for ciecam

* Change GUI cam16 - jzczhz - remove cam16 and jzczhz

* Disable exposure compensation to calculate La for all Ciecam and Log encoding

* Change label Cam16 and jzczhz

* Improve GUI Jz

* Other improvment GUI Jz Cam16

* verify nan Jz and ciecam matrix to avoid crash

* Enable La manual for Jz to change PU-adaptation

* Improve calculation to avoid crash Jz and Cam16 matrix

* Fixed crash with local contrast in cam16

* Clean code loccont

* First step GUI Cie mask

* GUI part 2 - Cie

* Build cieMask

* Gui part 3 cie

* Valid llcieMask

* Valid llcieMask

* Pass GUI curves parameters to iplocallab.cc

* 2nd pass parameters from GUI to iplocallab.cc

* Init first functions modifications

* Add expander to cam16 adjustments

* First test mask cie

* Various improvment GUI - tooltips - process

* Take into account Yb cam16 for Jz - reenable warm-cool

* Surround source Cam16 before Jz

* Improve GUI and process

* Fixed bug and bad behavior last commit

* Fixed bug chroma mask - improve GUI - Relative luminance for Jz

* Increase sensitivity mask chroma

* Improve Jz with saturation Z - improve GUI Jzczhz

* Small code improvment

* Another change mask C and enable mask for Cam16 and Jz

* Some changes

* Enable denoise chroma mask

* Small change LIM01 normchromar

* Enable Zcam matrix

* Improve chroma curves...mask and boudaries

* take into account recursive slider in settings

* Change tooltip - improvment to C curve (denoise C - best value in curves - etc.) - remove Zcam button

* Change tooltips

* First part GUI - local contrast wavelet Jz

* Passed parameters GUI local contrast wav jz to rtengine

* save config wavelet jz

* first try wavelet local contrast Jz

* Add tooltips

* Simplify code wavelet local contrast

* take into account edge wavelet performance in Wavelet Jz

* Fixed overflow jz when usig botth contradt and wavelt local jz contrast

* Adapt size winGdiHandles in filepanel to avoid crash in Windows multieditor

* First GUI part Clarity wavelet Jz

* First try wavelet Jz Cz clarity

* Added tooltips

* Small change to enable wavelet jz

* Disabled (commented) all Zcam code

* Improve behavior when SH local-contrast and Clarity are use both

* Change limit PQremap jz

* Clean and optimize code

* Reenable mjjz

* Change settings guidedfilter wavelet Jz

* Fixed crash when revory based on lum mask negative

* Change tooltip

* Fixed ad behavior auto mean and absolute luminance

* Remove warning in console

* Fixed bad behavior auto Log encoding - bad behavior curves L(H) Jz

* Fixed another bad behavior - reenable curves color and light L(H) C(H)

* first transposition Lab Jz for curves H

* Change mask boundary for Jz

* Various improvment to H curves Jz

* Add amountchrom to Hcurve Color and Light

* Improve gray boundary curves behavior

* reenable Jz curve H(H) - soft radius

* Improve guidefilter Jz H curve

* Threshold chroma Jz(Hz)

* Enable guidedfilter chroma curve H

* improve GUI curves Hz

* Checkbutton chroma for curve Jz(Hz)

* Change event selectspot

* Clean and small optimization code

* Another clean code

* Change calculation Hz references for curves Hz

* Clean code

* Various changes to GF and GUI

* Another change to Chroma for Jz(H)

* Change GUI sensitive Jz100 adapdjzcie

* Improve code for Jz100

* Change default value skin-protection to 0 instead of 50

* Clean code

* Remove BENCHFUN for ciecam

* small correction to huejz_to_huehsv2 conversion

* Added missing plum parameter for jch2xyz_ciecam02float

* another small change to huejz_to_huehsv2

* Improvment to huelab_to_huehsv2 and some double functions

* Fixed warning hide parameters in lgtm-com

* Fixed ? Missing retuen statement in lgtm-com

* Change behavior Log encoding whith PQ Cam16

* Small improvment to Jz PU adaptation

* Added forgoten to_one for Cz slider

* Replace 0.707... by RT_SQRT1_2 - change some settings chroma

* Improvment to getAutoLogloc

* Fixed crash with array in getAutoLogloc

* First try Jz Log encoding

* Forgotten Cz

* Various improvment GUI setlogscale - Jz log encoding

* Change labels tooltips Jz log

* Change wrong clipcz value

* Change tooltip auto scene conditions

* Fixed bad behavior blackevjz whiteevjz

* Small improvment to LA Log encoding std

* Avoid bad behavior Jz log when enable Relative luminance

* Change sourcegray jz calculation

* Revert last change

* Clean and comment code

* Review tooltips thanks to Wayne - harmonize response La log encoding and Jz Log encoding

* Always force Dynamic Range evaluation in full frame mode for Jz log encoding

* Remove unused code

* Small optimizations sigmoid Cam16 and Jz

* Comment code

* Change parameters deltaE for HDR

* Various improvment to Jz - La - sigmoid - log encoding

* Basic support for Sony ILCE-7M4 in camconst.json

* German translation Spot Removal (#6388)

* Filmnegative German translation (#6389)

* (Temporarily) disable `ftree-loop-vectorize` for GCC 11 because of #6384

* Added BlacEv WhiteEv to sigmoidJz

* Improve GUI for BlackEv WhiteEv

* Change location SigmoidJz in Iplocallab

* Improvment GUI and sensitivity sliders strength sigmoid

* Change labels

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
Co-authored-by: Anna <simonanna@gmx.net>
2021-12-21 07:43:59 +01:00
Lawrence Lee
f8a1deb371 Add option to clone favorite tools
If cloning is enabled, favorite tools will appear in the favorites panel
and in the original location.
2021-12-09 21:27:39 -08:00
Lawrence Lee
732316dcaf Fix initial generation of external editor icons
In Windows, escape backslashes and quotes in the serialized GVariants of
the icons.
2021-10-05 21:49:42 -07:00
Desmis
ba2985a44c
Enable checkbutton preferences - ciecam artifacts (#6347) 2021-08-29 07:39:01 +02:00
Lawrence Lee
672d6302f3 Fix storage of external editor icons
De-serialize and serialize icons instead of using their names.
2021-08-14 17:11:07 -07:00
Lawrence Lee
02e3e01294 Use correct GIMP and Photoshop icons for Windows
Icon names in Windows are typically the executable path followed by the
string ",0".
2021-07-11 21:45:39 -07:00
Lawrence Lee
c625975453 Surround Windows commands in quotes
When external editors are launched in Windows OS, the command is
surrounded by quotes. This commit fixes the translation of commands for
use by the multiple custom external editors feature so that the
translated commands are also surrounded by quotes.
2021-07-11 21:38:52 -07:00
Lawrence Lee
72fe8d6049 Merge dev into multi-external-editor 2021-06-28 22:03:14 -07:00
Pandagrapher
491b57bee7
Improves RT window position management, fixes #6233 (#6239)
* Improves RT window events detection and RT window position computation

* Fixes some limitations in specific cases for Windows and MacOS

* Fixes RT window not restoring saved position at startup

- When maximized at startup, RT window position wasn't restored from
options file. So when unmaximazing RT, position was set to up left
corner instead of restored one
- Other fix: Removed some uses of deprecated Gtk functions

* Improves RT window management for independant edit window mode

Other fixes:
- Monitor ID wasn't correctly computed
- Removes some other deprecated functions uses
- Removes debug printf

* Fixes editor window aspects not restored in MEOW mode on Linux

Other fixes:
- Removes some Gtk warnings when adding a new editor panel in MEOW mode
- Adds robustness to avoid RT windows outside screen at startup loading
corrupted options file with negative position values

* Fixes incorrect max position saturation in dual screen configurations
2021-06-21 21:22:14 +02:00
Bezierr
d86888e93f
Add resizing options "long edge" and "short edge" (#6263)
Introduces "long edge" and "short edge" options to resize an image. The GUI is made such that the relevant spinboxes only appear for the selected option. Unrelated values (e.g. for box-mode) are not updated.
2021-06-05 07:37:09 +02:00
Desmis
7040aed540
Some change issue6234 (#6238) 2021-05-15 06:40:39 +02:00
Desmis
eb8f121709
Add ability to export to an external editor within the same folder as the original file - issue 6195 (#6232)
* import and change the art code -thanks to Alberto

* Possible fixed for white space in folder

* Added verbose when white-space

* Replace WS only if windows and Gimp

* Fixed Windows and Gimp bug for external editor - thanks to Lawrence37

* Fix LGTM alert for reused variable name

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2021-05-13 12:41:22 +02:00
Lawrence Lee
e6b2c9e7b0 Make options ignore empty custom editor command 2021-04-18 12:33:32 -07:00
Lawrence Lee
044451868a Add missing parenthesis 2021-04-17 22:11:17 -07:00
Lawrence Lee
be7aecac40 Add multiple external editors to options 2021-04-11 18:24:39 -07:00
Ingo Weyrich
3a6c3ecd3b
Merge branch 'dev' into issue5867 2020-11-05 10:38:42 +01:00
Floessie
1318935a87
Better handle thumbnail generation of extreme aspect ratio images (fixes #3794)
* Backport fix taken from ART
* Enforce minimal thumbnail size of 1x1 px in two places, prevents divison by zero and empty image generation
2020-10-25 18:24:30 +01:00
Lawrence Lee
01ad249718 Make scope trace brightness persistent 2020-10-15 21:09:13 -07:00
Lawrence Lee
6b667ead58 Swap positions of scope buttons
Make the scope type buttons the primary buttons and the other options
secondary.
2020-10-02 22:14:29 -07:00
Flössie
97c7794a5a Turn Options::ScopeType into a scoped enum :)
Also remove global `using ...` from header file.
2020-09-14 09:44:29 +02:00
Lawrence Lee
c03efe4878 Add dedicated buttons for scope switching
Previously, changing to a different scope was done by clicking the scope
type button and cycling through all scopes. This commit decreases the
number of clicks needed to switch between two scopes by adding a radio
selector. The radio buttons can be shown or hidden by pressing the scope
type button. This commit also makes the raw histogram one of the scope
types.
2020-09-12 17:52:24 -07:00
Lawrence Lee
bb0c625960 Use enum for scope types 2020-09-07 16:37:40 -07:00
Flössie
c5ace05df8 Merge branch 'dev' into waveform 2020-08-16 10:08:28 +02:00
rfranke
01df366c06 Merge branch 'dev' into issue5867
Conflicts (resolved manually):
	rtdata/languages/default
	rtgui/options.cc
2020-08-11 18:40:47 +02:00
rfranke
e63b800864 Re-add inspector tab as an option (#5867)
- add option "inspectorWindow" to switch from tab to fullscreen view
- add option "zoomOnScroll" to configure scroll device for zoom or pan
- add both options to preferences
- filepanel creates tab if not inspectorWindow
- inspector adapts to settings inspectorWindow and zoomOnScroll
- filebrowser shows context menu item for inspector only if inspectorWindow
2020-08-11 18:27:50 +02:00
Desmis
130fbb8eb2
Local complexity - Add 'Basic' to 'Standard'(Normal) and 'Advanced'(Expert) (#5858)
* Mode simple to color and light

* Exposure complex

* Vibrance and SH complex

* Soft and Blur complex

* Common mask complex

* Sharp Retinex complex

* Localcontrast complex

* Change label tooltip complex

* Change labels and tooltip

* Change tooltip french

* Change default value scope TM

* Some forgotten hide..with basic in inverse mode

* Another hide in basic and inverse

* Change some type in labels

* Change typo contrast

* Refine some labels tootips

* Change after review Ingo - thanks

* Improve history behaviour when changing local adjustments complexity mode

* Added normal to original retinex - basic to dehaze

* Fixed bad behavior normal expert Color and Light

* Improve edge sharpness

* Another improvment edge sharpness

* various improvement

* locallab: speedup and reduced memory usage for wavcontrast4()

* remove file

* French labels complexity

* calckoe(): cleanup, speedup and bugfix for 3x3 gaussian kernels

* calckoe(): cleanup for 3x3 gaussian kernels

* calckoe(): fill koeli[] with zeroes if level <= 1 && tloww >= 75.f

* GUI part fixes and cleanup

* Fix in Locallab Settings panel

Additionnal minor fix in Preferences windows

* Change default mode complexity in preferences - basic

* Change complexity in option

* Improve gui when lauch first image

Co-authored-by: Ingo Weyrich <heckflosse67@gmx.de>
Co-authored-by: Pandagrapher <pierre.cab@gmail.com>
2020-08-10 13:18:21 +02:00
Lawrence Lee
2f06f56d9c Merge from dev 2020-08-08 22:02:29 -07:00
Desmis
e0d3353d72
Wavelet levels - choice complexity standard - advanced (#5869)
* Added in option edghi edglo limrad

* Hide choice edgesharpness slider curve

* First normal expert

* Second normal expert

* Changes in normal expert contrast chroma residual

* Change label complexity wavelet

* French + hide sigmafin standard

* Added tooltip complexty wavelet
2020-08-02 15:52:01 +02:00
Lawrence Lee
4cbd622569 Add initial implementation of waveform 2020-07-21 22:45:10 -07:00
luz.paz
a41aa73124 Fix various typos
Found via  codespell v2.0.dev0  
```
codespell -q 3 -I ../rawtherapy-whitelist.txt -S ./rtdata/languages -L bord,hist,fo,reall,bloc,alph,dof,thre,makro,chang,currentry,portugues,vektor,ue
```
2020-06-18 14:53:04 -04:00
Ingo Weyrich
25498651a8 Merge branch 'dev' into newlocallab2 2020-05-30 11:15:55 +02:00
Pandagrapher
320408306d
Build improvements + fix for window size/position (macOS) (#5771)
* Allow using relative path in MacOS for development builds
* [macOS] Fixes RT "cache"/"config" folder not located in the right place
In actual "dev" branch, RT "cache"/"config" folder is located in
"~/Application Support/RawTherapee" folder instead of
"~/Library/Application Support/RawTherapee" folder (as in v5.8 release
and discribed in RawPedia). Moreover, "CACHE_NAME_SUFFIX" cMake option
was not anymore considered.
* [macOS] Remember RT window position correctly, fixes #3209

As described in GTK documentation, some OS Windows Manager do not
consider setting window size and position before it is completely
created (which seems to be the case for macOS). In this commit,
restoring window size/position is now done after its creation.
Morevover, macOS menu bar height is now considered.
2020-05-28 12:26:14 +02:00
Pandagrapher
bdb8a95b14 Use default complexity mode defined in preferences when adding tool 2020-05-04 20:03:58 +02:00
Desmis
e573de78b4 merge with dev 2020-03-19 13:40:11 +01:00
Desmis
a45823995a Itcwb increases precision in color sampling 5 instead of 9 - option itcwb_precis 2020-03-18 09:00:26 +01:00
Desmis
8a972bef9e Itcwb - Use standard observer 10 by default - create option itcwb_stdobserver10 2020-03-16 17:58:35 +01:00
Beep6581
817286b027
Merge pull request #5644 from Benitoite/patch-22
mac: simplifies bundle structure, bundle packaging fixes
2020-02-25 09:05:20 +01:00
Benitoite
007fe17e48
another whitespace removed 2020-02-17 15:27:59 -08:00
Benitoite
6bc7e16d9b
remove another whitespace 2020-02-17 15:26:41 -08:00
Benitoite
9047e89bd3
options.cc: remove a whitespace 2020-02-17 14:55:01 -08:00
Richard Barber
3350394c22 mac:lowercase bundle UUID 2020-02-17 14:14:57 -08:00
Richard Barber
b8fce85a2d mac:remove debug outputs 2020-02-17 13:40:39 -08:00
Richard Barber
097375e543 mac: spell font name correctly 2020-02-17 12:21:45 -08:00
Richard Barber
53ccd55b35 mac:try a string pointer 2020-02-17 11:55:56 -08:00
Richard Barber
0c6bccd4f6 mac:change a variable name 2020-02-17 11:47:09 -08:00
Richard Barber
cca34f16dd mac:use strcat() 2020-02-17 11:44:01 -08:00
Richard Barber
e4f16c2005 mac: use fewer variables 2020-02-17 11:31:39 -08:00
Richard Barber
38037aee8c mac:use a std::string 2020-02-17 11:24:05 -08:00
Richard Barber
c9f887281e mac: truncate homedir 2020-02-17 06:55:18 -08:00