* Init levels trc GUI
* Levels TRC
* Complete with gamma based attenuation
* Limit RGB channel Slope with checkbox
* Improve GUI and code channel TRC
* Change default values - compexity levels RGB channels
* Relative gamma mode RGB channel TRC
* Change label and ponderation rolloff
* Change rolloff level
* Threshold attenuation
* Threshold attenuation 2 part
* GUI Link R G B
* Linked RGB with Green slope - RGB channels
* Set Freeman TM functions with ImProcFunctions
* First GUI Abstract profile highlight attenuation
* GUI AP part 2
* Restore olg GUI AP
* Expander AP primaries adn illuminant
* Disable RGB channel TRC
* Expander contrast AP
* Slider attenuation response
* Save work GUI local contrast
* Save GUI part 2 AP curve
* Local contrast GUI Abstract Profile
* Move Abstract profile in toolpanel and ICMpanel
* rtengine variable contrast
* Variable contrast 2
* Variable contrast engine 3
* Variable contrast engine 4
* Variable contrast engine
* Detail levels pyramid
* Engine residual contrast
* Residual contrast
* Change settings detail levels
* Expander refinement - new tooltips - low resid contrast
* Change contrast profile and labels
* Remove warning message GUI Gtk
* Gamutcontrol code - disabled
* Improve with calceffect
* Other improvement variable contrast
* Offset variable contrast
* Range offset - comment code
* Parametric inva fot lut
* Clean cmakelist.txt
* Change contrast profiles
* Comment code ipwavelet
* Added orthogonal Daubechies scaling D20
* Change strenght curve - tooltip Daubechies
* Forgotten changes
* Comment code
* Move variable in process - take into account highlight attenuation
* Display label maximum preview and preset selection
* Remove console message
* harmonize levels wavelets iplocallab
* Tooltips contrast enhancement
* Change tooltip Contrast profile
* Chnage tooltip Contrast
* Message warning preview size
* Change gamma TRC values in GUI
* Remove itanium architecture support for windows as PR 7105
* Change windows.yml and appimage.yml
* Windows.yml apseimprov
* Clean and comment ipwavelet
* Clean comment icmpanel.cc
* Harmonize local contrast wavelet Selective editing with Abstract profile
* Harmonize with AP - offset
* vanishing moment D20 - Selective editing wavelet
* Offset only in advanced mode
* GUI expander contrast enable and pyrwavtrc
* Clean and comment code
* merge with dev
* Prepare sigmoid based
* Contrast sigmoid GUI
* Skew sigmoid GUI
* Sigmoid tone mapper in iplocallab
* Change GUI settings
* White-point and black-point auto
* Change EvDCP to ALLNORAW as others events DCP
* Change default skew
* Change settings - enable scale Yb
* Display white point - advanced mode
* Improve GUI
* Clean unused variable
* new sigmoid Q in cam16
* Change tooltips and default sigmoid Q settings
* Sigmoid Jz
* Clean code Jz and sigmoid
* Harmonize Sigmoid Q and Sigmoid RGB
* Harmonize Sigmoid Jz
* Clean code
* Improve labels wit cd/m2
* Slope base Q methode first
* GUI slope based Q
* Change default settings and tooltips
* Change tooltips
* Clean code - change default setting
* Change default local contrast & wavelet to wavelet & basic mode
* Fixed bad assignation slopesmoq
* Improve sigmoid and slope based Q - GUI for Log encoding Color appearance
* Remove wrong change
* various small improvments
* Allows black and white AP and SDA in basic mode
* Change the writing of wGamma and wSlope - attenuates the effect of the first 2 AP contrast profiles
* Clean code wgamma wslope
* Set curve Cam16 in basic mode
* Change position curve in GUI cam16
* Enable tonecurve1 in colorappearance & lighting in standard mode
* Fixed bug scale yb scene - ciecam curve - change default contrast enhancement
* not reset curve shape ciecam in strandard
* Change label Tone mapping operators and tooltips
* Change some labels and tooltips - Appearance - Mask and Mofifications - Recovery Based On Luminance Mask
* Forgotten changes
* Clean locallabtools2.cc
* Maxlevel wavelet minimum to 5
* Reset mask and modifications in SE wavelet and all tools in Global
* Show modified areas SE wavelet
* Tooltip show wavelets decomposition
* Fixed another bad behavior in Global - changes also in color & light for merge file
* Change behavior fullimage - global as in PR GHS
* Disable all mask and modifications in Global but remain active in fullimage and normal
* Set expander expanded = true
* Chane contrast enhancement coef
* Replace VBox trcWavVBox by ToolParamBlock trcWavFBox
* Forgotten code in icmpanel read pedited opacityShapeWLI - hope solve batch mode
* Change RGB Slope behavior with link
* No access to last level contrast enhancement
* Move Abstract Profile tooltip to title
The tooltip was popping up when the cursor was over almost any part of
the tool which was inconvenient. Now, the tooltip only appears when
hovering over the title.
* Improve Color Management expanders behavior
By default, collapse Abstract Profile and leave it's sub-expanders
expanded.
Keep the expanded state of all the sub-expanders during the editing
session.
Fix the right-click behavior. The clicked expander should be expanded
and all siblings, if any, should be collapsed.
* Fix RGB slope tone mapping RGB linkage
Synchronize the red, green, and blue values before updating the preview
to avoid using incorrect values to generate the preview.
* Fix SE CAM tone mapping slider defocus
Avoid unnecessarily hiding then showing the adjusters in tone mapping so
that focus is not lost while adjusting the adjusters.
* Delete history kslopesmo - remove IcmOpacityCurveWL
* change the tooltips as suggested by Lawrence
* Review L37 - change strengthjz strengthlc - MIDDLE_GREY MIDDLE_GREYjz - artifacts ciecam
* Change name Tone map freeman functions
* Remove gamutcont - rename localcont - change allocation memory wdspot
* Clean procparams
* remove sigmoidsenscie - logcieq
* Added * to three labels 'sigmoid' - change tooltip which shows the incompatibility with 5.11
* Forgotten correction suggested by Lawrence
* Compatibility 5.11 log encoding - sigmoid part 1
* Compatibility 5.11 part 2
* Compatibility 5.11 - step 3
* Compatibility 5.11 - step 4
* Compatibility 5.11 step xx
* Compatibility 5.11 - combobox operators Q and J
* Compatibility 5.11 Cam16 GUI first part
* Improve GUI Cam16 sigmoid compatibility
* Compatibility 5.11 Jz - sigmoid - step 1
* Compatibility 5.11 Jz gui step 2
* Compatibility 5.11 Jz GUI step x
* Compatibility 5.11 Jz - history - etc.
* Various change labels - history ...
* Improve GUI - hide show 5.11 5.12
* Jz 5.11 in iplocallab - step 1
* Compatibility 5.11 iplocallab cam16 step 1
* Improve GUI hide show 511 512
* Solved - I hope - GUI problem with tone mapper Q and J 5.11 and 5.12
* Compatibility 5.11 iplocallab Cam16 step 2
* Improve GUI compatibility 5.11 labels tooltips
* Small improvments GUI - labels - history...
* Fixed typo in paramsedited.cc clcurve issue 7283
* Change tooltips method 5.12 - 5.11 for cam16 and Jz brightness Q or J
* Clean and refine code
* Various change dafult language and CAM16 CAM02 replace by Cam16 Cam02
* Change modeQJ method for 5.11 in function ppversion
* Change labels as suggested by Wayne PR 7111
* Others changes suggested for label
* Change tooltips as suggested in PR
* Use unique pointer instead of manual management
* Update rtdata/languages/default
Co-authored-by: Lawrence37 <45837045+Lawrence37@users.noreply.github.com>
* Change all Cam16 references to CAM16
* Change convention uppercase and lowercase in frame - checkbox
* Improve tooltips for Tone Mapping Operators
* Another change CIECAM and uppercase lowercase in checkbox
* Remove appimage and windows yml
---------
Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
* Use target_include_directories to specify include paths
* Specify project root (parent of rtgui and rtengine) as include path
* Replace relative includes with normal includes
* First step LA globally
* fixed several GUI bad behavior
* better behavior shows additional settings
* Improve transition in main
* First step hide-show invers and scope
* Hide show invers and scope step2
* hide show others inverse and scope
* Try to improve
* Change windows.yml and appimage.yml
* In Preference set choice for default Spot Method
* Optimization call idle_register
* forgotten delete mainfp
* Re-enable sliders scope in colorlight - shadows - vibrance - move setting checkbox others settings
* Fixed bad behavior hide - show
* Optimize behavior
* Bad behavior scope when changing method
* Clean and comment code
* disable preview mask and modif for cbdl and retinex
* Fixed preview deltaE mask and modif log encode - exposure - new button preview color and light
* Button preview deltaE - exposure
* Button preview SH
* Button preview Vibrance
* Improce code using mask
* Fixed several bad behavior - preview TM and Contrast
* Preview log button
* Preview Ciecam button
* Preview common mask button
* Disable Preview button in settings when not used in tools
* Change call to controspotpanel in improcoordinator
* Change Local adjustments title to Selective Editing
* Change default value spotmethod in option
* Missing cddl in preview settings
* Change parameter setting spot type
* put selective editing tab just after exposure tab
* Disable preview ΔE button when another is enabled
Only one button should be active at any given time.
* Deactivate preview ΔE buttons when switching spots
* Change tooltip Spot method
* Change selective editing position
* Remove duplicate line in language default
* Remove appimage.yml windows.yml
---------
Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
Add optional ability to load/save image rank property from/to xmp
sidecar "xmp.Rating" and color property from xmp "xmp.Label" ignoring
the ones provided in the processing params file.
This behavior is disabled by default and an option under settings ->
file browser has been added to enable it.
When enabled:
* On load:
* rank and color are not read from processing params.
* rank is mapped from xmp sidecar file rating entry.
* color is mapped from xmp sidecar file label entry.
* On save:
* rank and color are saved to the xmp sidecar
* rank and color are also saved to the processing param (pp3) files to
keep them in sync
Rating mapping:
Since rating can be also -1 but rank only goes from 0 to 5, the -1 value
is ignored like already done when importing from embedded xmp data.
Color mapping:
XMP has no color concept, usually programs like digikam uses the label
field to write a color name ("Red", "Orange"). The problem is that this
isn't standardized and label can be any string. Additionally Rawtherapee
has 5 specific colors while other programs can have different colors
with different name so they won't be shown if they don't map to the 5
color names supported by rawtherapee. On save only the 5 color supported
by rawtherapee wil be saved.
Trash is kept only in the profile files for multiple reasons:
* There's no trash concept in xmp, there's the rejected concept assigned
to a rating == -1.
* We could map rejected to trash but in rawtherapee rank and trash are two different values and
an image can have both rank >= 0 and trashed set to true.
Using an unique value like rating for rank and trash (when -1) will
require changing the current rawtherapee logic.
* Also digikam only handles ratings from 0 to 5 (no -1) and handles
trash in its own internal way without reflecting it in the xmp
sidecar.
Found via `codespell -q 3 -S ./rtdata/languages -L activ,alph,ba,bloc,bord,chang,childs,currentry,dof,dum,fo,hist,inout,invers,lonly,makro,ois,pres,preserv,portugues,rady,reall,redy,struc,tbe,thre,trough,vart,vekto`
Add toggle button in the top toolbar of the file browser to activate or
deactivate recursive browsing. Toggle state is saved in options.
Limit recursion depth and explored directory count.
If an editor is marked as a native command, it is launched using the
older method (native for Windows or Glib otherwise). Non-native commands
are launched with Gio. When reading preferences containing the old style
external editor settings, all commands are marked as native to avoid
breaking them.
Fix bug where the send to editor button shows the wrong editor. The bug
happens when the other editor option is selected while the user edits
the external editors in preferences. When saved, the button shows the
first option is selected instead of the other editor option (the last
entry).
* 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>
In "Preferences", added the possibility to define a "Camera profiles directory" and a "Lens profiles directory" as base paths which enable storing relative paths in the .pp3 files.
* 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
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.
* 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>
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.
- 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
* update macOS autobuild yaml
* updates */CMakeLists* for macOS autobuild compatibility
* "" a dir for cmake
* Un empty an empty EXTRA_INCDIR
* use a cmake operator
* Use the . dir to un-empty a string
* fix minutes timer in macos yaml
* test & skip instead of load & include
* disregard fractional part of minutes in mac yaml
* add another cmake test
* fix typo in mac yaml
* fix other part of same typo
* correct a filename in mac yaml
* test all include dirs
* fix of mac yaml
* mac:fix a path in yaml
* mac:and its antecedent
* options.h include a dir
* test __has_include (gcc 5.* & up & clang)
* remove a printf() in mac yaml
* mac:change a "" and an elseif() to else()
* fix a whitespace error
* fix 2 whitespace errors
* ZULU>UTC
* add a "UTC
* on the other side of the "
* mac:properly set default LOCAL_PREFIX in CACHE
* use of zsh subshells in macos yaml
* mac:remove some &&
* mac:remove some "
* mac:floating point divisors
* mac:use double paren (())
* mac:add a dir
* mac:floatize with decimal point
* mac:zsh -c certain lines
* remove a marker