3802 Commits

Author SHA1 Message Date
Alexander Brock
6c43f10c30 Fix bug: Defish checkbox value wasn't correctly loaded 2023-02-18 00:50:25 +01:00
Alexander Brock
f023a90170 Add camera_defish to PerspCorrection::read/write 2023-02-11 23:51:32 +01:00
Alexander Brock
fb90908cbd Add GUI elements for defish and scale in perspective tool. Doesn't work very good yet. 2023-02-11 20:31:08 +01:00
Desmis
9a245c1acb
Avoid Color shift - Gamut and Munsell Review in RT - branch Munsellgamut (#6673)
* Fixed numerous problems with gamut and Munsell in Local adjustments

* change gamut-munsell in lab adjustmnts - gamut in ciecam

* Improve XYZ colorimetry and tooltip

* Change event - format code - change labels tooltips

* Removed avoid_ and avoidmun_

* Removed avoidcolorshift in labcurve

* Push change proposed by Lawrence37 - compatibility with old pp3
2023-01-31 12:32:31 +01:00
Lawrence37
ef7676826e
Merge pull request #6661 from Beep6581/external-editor-fixes
External editor fixes for Windows
2023-01-26 21:37:14 -08:00
Desmis
7afdfc1e2b
Abstract profile - Gamut improvment (#6665)
* Gamut control when the chosen primaries are different from working profile

* Gamut control abstract

* Gamut label and history

* Change to Wx Wz

* Fixed crash if y primaries are set to zero

* Fomated with Astylert ImProcFunctions::workingtrc and Color::primaries_to_xyz

* Fixed black becomes green wit gamt abstract profile

* Harmonize types in color.cc

* Try to fix Multiplication result converted to larger type
2023-01-24 14:29:50 +01:00
Lawrence Lee
22edf5f069
Add radio indicator to external editor selector
Make it easier to see that the selector is for changing the current
editor and not for immediately sending the image to the clicked-on
editor.
2023-01-15 15:10:54 -08:00
Lawrence Lee
194ef397a6
Fix external editor file chooser filter (Windows)
Look for files with the MIME type "application/x-msdownload", which are
Windows executable files. The Gio function for determining if a file is
executable does not work for Windows.
2023-01-08 22:17:21 -08:00
Lawrence Lee
5468e74e57
Fall back to custom external editor launcher 2023-01-08 17:20:42 -08:00
Desmis
21afbaf90b
CIECAM - Changes such as symmetric works and temperature output makes sense - issue #6656 (#6658)
* changes such as symmetric works and temperature output makes sense

* Comment code

* other Comment code and small change

* Change tint in tooltip temperature

* Improve GUI for tempout and greenout
2023-01-06 06:43:21 +01:00
Desmis
95cede9a1a
Color Appearance and lighting : Remove cat02preset and all dependencies issue 5664 (#6585)
* Remove cat02preset and all dependencies issue 5664

* Normalize cmakelist
2023-01-03 07:44:46 +01:00
Lawrence Lee
4d287b4cdf
Merge branch 'dev' into multi-external-editor 2023-01-02 15:06:33 -08:00
Lawrence37
57c1822b2c
Strict temporary image file permissions (#6358)
* Write temp images to private tmp directory (Linux)

The directory is in /tmp with 700 permissions.

* Reduce temp image file permissions in Linux

Set temporary image file permissions to read/write for the user only.

* Use private tmp directory for temp images in MacOS

* Use private tmp directory for temp images Windows

* Use GLib to create temporary directories

* Reuse temp directory if possible
2023-01-02 21:32:15 +01:00
Ingo Weyrich
8d29d361a8
Support dnggainmap (embedded correction) for Bayer files (#6382)
* dng gainmap support, #6379
* dng GainMap: control sensitivity of checkbox, #6379
* dng GainMap: partial paste
* dng GainMap: moved isGainMapSupported() from dcraw.h to dcraw.cc
* RawImageSource::applyDngGainMap: small speedup
* Change GUI to separate gainmap from other flat-field; also reorder checkbox

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2023-01-02 21:30:06 +01:00
Niklas Haas
2101b846c3
Implement file sorting in thumbnail view (#6449)
* Use mtime as fallback timestamp for files without EXIF data

As suggested in #6449, with date-based sorting it can be useful to have
at least *some* sort of time-relevant information for EXIF-less files,
to prevent them from falling back to getting sorted alphabetically all
the time.

This commit simply defaults the file timestamp to the file's mtime as
returned by g_stat. For annoying reasons, it doesn't suffice to merely
forward the timestamp to the FileData structs - we also need to keep
track of it inside FilesData to cover the case of a file with 0 frames
in it.

* Add DateTime to Thumbnail

Putting it here facilitate easier sorting without having to re-construct
the DateTime on every comparison.

To simplify things moving forwards, use the Glib::DateTime struct right
away. This struct also contains timezone information, but we don't
currently care about timezone - so just use the local timezone as the
best approximation. (Nothing currently depends on getting the timezone
right, anyway)

In addition to the above, this commit also changes the logic to allow
generating datetime strings even for files with missing EXIF (which
makes sense as a result of the previous commit allowing the use of mtime
instead).

* Implement file sorting in thumbnail view

For simplicity, I decided to only implement the attributes that I could
verily easily reach from the existing metadata exported by Thumbnail.
Ideally, I would also like to be able to sort by "last modified" but I'm
not sure of the best way to reach this from this place in the code.

It's worth pointing out that, with the current implementation, the list
will not dynamically re-sort itself until you re-select the sorting
method - even if you make changes to the files that would otherwise
affect the sorting (e.g. changing the rank while sorting by rank). One
might even call this a feature, not a bug, since it prevents thumbnails
from moving around while you're trying to re-label them. You can always
re-select "sort by ..." from the context menu to force a re-sort.

Fixes #3317

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2023-01-02 21:27:12 +01:00
Lawrence Lee
646065f643
Remove unused code
Remove the preferences code for selecting the external editor since it
is superseded by the multiple external editor preferences.
2023-01-01 21:22:47 -08:00
Nicolas Turlais
401727fba9
Add filter for Paths to dynamic profiles (#6284)
Work by @nicolas-t 
* Path filter in dynamic profile panel
* Pass filename as a function argument
* Removed unused include
* Clearer translation
2022-12-31 10:51:30 +01:00
Lawrence37
5b4cf1a040
Merge branch 'dev' into multi-external-editor 2022-12-11 12:11:16 -08:00
Lawrence Lee
255dc13843
Add Lensfun DB lookup fallback directory
Load from the bundled database directory if loading from the configured
location fails.
2022-11-24 17:08:00 -08:00
Morgan Hardwood
cf96139c3a Review of default #5664
Consistently use _TOOLTIP suffix for tooltip keys.
2022-09-23 18:09:44 +02:00
Morgan Hardwood
799452ac88 Review of default #5664 2022-09-23 16:37:46 +02:00
luzpaz
4d1d5d4539
Fix various typos (#6569)
* Fix various typos

* Fix previous commit + add follow-up grammatical fixes
2022-08-30 15:17:43 +02:00
Lawrence37
dfede05312
Add Castellano language, fix some default language detection (#6547)
Closes #6530 
Language file provided by Francisco Lorés and Javier Bartol
2022-08-26 10:44:22 +02:00
Desmis
efbcebb522
Review JzCzHz - Various changes to locallabtools2 - default - french (#6561)
* Various changes to locallabtools2 default french

* changed to German TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP
2022-08-25 14:01:17 +02:00
Lawrence37
0a55428205
Clean up missing language keys (#6556)
* Clean up some unused code

* Use grid for abstract profile primaries

* Remove blank line from default
2022-08-24 20:23:09 +02:00
Thanatomanic
c58f582505
Minor license path fixes (#6551)
* Fix CMakeLists
* Fix splash.cc
2022-08-18 20:58:50 +02:00
Ingo Weyrich
f564394bbc
dfmanager cleanup (#6211)
* Turn `DFManager` into a singleton
* PIMPL `DFManager`
* Cleanup namespace usage in `dfmanager.cc`
* Constify `DFManager` interface
* Fix bad `reinterpret_cast` between `std::string` and `Glib::ustring`

Co-authored-by: Flössie <floessie.mail@gmail.com>
Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2022-08-18 17:00:49 +02:00
luzpaz
65db39b9f8
Fix various typos (#6529) 2022-08-18 16:49:26 +02:00
Lawrence Lee
262d00bf1b Fix incomplete changing of input profile
Closes #6533.
2022-07-23 15:59:40 -07:00
Pandagrapher
1e2dc30738
Local adjustments - Fix apply/paste actions with LA
- Fixes LA lost when applying partial profile (fixes #6150)
- Fixes LA behavior when using apply/paste actions: spots are now totally replaced and not anymore merged (fixes #6136 and #6411)
- Fixes a crash in specific situations when saving/copying a partial number of spots
- Partial paste dialog: Fixes Locallab button remaining inconsistent if all the spots are deselected
2022-07-18 19:03:29 +02:00
Desmis
19a4720ec7 Fixed bad GUI behavior in Color and Light - issue 6517 2022-07-06 11:01:14 +02:00
Desmis
01570e3430 Fixed bad GUI behavior gamma in DR Exposure issue 6507 2022-06-23 14:10:12 +02:00
Lawrence Lee
2df26028b8
Fix auto perspective correction not working
Use default focal length and/or crop factor if undefined.

Closes #6487.
2022-05-21 15:11:00 -07:00
Lawrence37
37080e1b5d
Fix some history messages (#6474)
Use correct key for spot removal history message.

Remove B&W channel mixer auto enabled message when changing the filter
color.

Replace hard-coded input color profile strings.
2022-05-14 05:39:31 +02:00
Desmis
c45a6105f7
Improvments to LA Sigmoid - LA Log encoding Cam16 and ICC profile creator (#6410)
* Improvment to sigmoid Cam16 and Jz
* Change default parameters contrast sigmoid
* Log encoding Q added to Sigmoid Q - Cam16
* Change DR evaluation for sigmoid
* Change default log encoding cam16 and change tool position options
* DCI-P3 added to Iccprofilecreator
2022-03-26 12:04:21 +01:00
Jonathan Bieler
d80b3c71d1
Add default spot size control (#6371)
* added adjuster to change default spot size in spot removal tool

* added translation for default spot size

* removed unnecessary adjuster methods
2022-03-26 11:44:09 +01:00
Bezierr
c2c7f2c862
Film Simulation ComboBox for long HaldCLUT names (#6423)
* Film Simulation ComboBox for long HaldCLUT names

Small change that makes the Film Simulation ComboBox look better if there are HaldCLUT names that are too long to fit into it

* Ellipsize long HaldCLUT names

Functionality moved to ClutComboBox constructor.

* Wrapped in Gtk::manage

Wrapped in Gtk::manage

* Compacted.
2022-03-26 11:34:42 +01:00
Lawrence Lee
793a77fc44
Add missing include 2022-03-06 11:52:09 -08:00
Lawrence Lee
329341f89f
Replace Gtk::make_managed() with Gtk::manage()
Maintain compatibility with gtkmm 3.16.
2022-03-05 18:36:28 -08:00
Lawrence Lee
58f0783561
Allow selecting file as external editor 2022-03-05 18:26:52 -08:00
Lawrence Lee
9c5ce0d9bb Fix focal len autofill after browser adjustments
Don't update the camera-based perspective focal length and crop factor
parameters when making other adjustments using the file browser or batch
editor.

Closes #6402
2022-01-08 12:02:25 -08:00
Desmis
690fab3d08 Changes a brace in iplocalla and 2 warning in locallabtools2 - thanks to Floessie 2021-12-21 11:21:25 +01: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
Desmis
a1bbede061 Fixed missing entries history msg wavelet issue 6381 2021-11-12 17:24:28 +01:00
Ingo Weyrich
e4ee63850d
Add an average filter for pixel shift to process the moving parts, closes #6376 (#6380) 2021-11-10 17:54:57 +01: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
Ingo Weyrich
d053f02450 Do not explicit enable white balance when switching method, fixes #6365 2021-09-19 12:29:09 +02:00
Lawrence37
5268b94cfd
Merge pull request #6302 from Beep6581/spot-rename
Update spot name in history after rename
2021-09-04 12:00:12 -07:00
Desmis
9b26424c3a Set default to brightness in some cases 2021-09-03 10:34:31 +02:00
Desmis
0991b0a380
Ciecam - re enable - curve brightness (#6350)
* Re enable curve ciecam brighness

* Change default tone curve2 to Brightness
2021-09-03 07:51:31 +02:00