47 Commits

Author SHA1 Message Date
Alberto Griggio
d4d4ae0320 Do not perform Bradford adaptation when importing custom working spaces from ICC profiles
ICC profile matrices are already adapted to D50, regardless of the value of the white point tag
2018-04-10 22:00:26 +02:00
Alberto Griggio
b09bf381b4 added possibility to specify extra working spaces via a json file
The JSON file is called workingspaces.json, it can be either in the global iccprofiles directory, or in the user's ICC profiles dir (set in preferences).

The format is the following:

{"working_spaces": [
    {
        "name" : "ACES",
        "file" : "/path/to/ACES.icc"
    },
    {
        "name" : "ACEScg",
        "matrix" : [0.7184354, 0.16578523, 0.09882643, 0.29728935, 0.66958117, 0.03571544, -0.00647622, 0.01469771, 0.66732561]
    }
]}

if "matrix" is present, "file" is ignored. If only "file" is present, the matrix is extracted from the ICC profile. For this, we look only at the R, G, and B matrix columns and the white point set in the profile. Bradford adaptation is used to convert the matrix to D50. Anything else (LUT, TRC, ...) in the profile is ignored.

It is the user's responsibility to ensure that the profile is suitable to be used as a working space.
2018-03-20 15:06:09 +01:00
Alberto Griggio
14a463102c use cyan instead of green for out-of-gamut pixels 2018-02-04 18:02:01 +01:00
Alberto Griggio
dc44212691 Soft-proofing: fall back to using the current output profile if no printer profile is specified
Implements #4361
2018-02-03 21:49:41 +01:00
Alberto Griggio
bb56d73cc8 started working on proof-of-concept histogram matching 2018-01-17 01:12:13 +01:00
heckflosse
a75058546a Make compilation unit rtengine/color.cc -Wextra clean, #4155 2017-10-22 14:36:56 +02:00
Hombre57
dcd2922167 Let users select RGB Input ICC profiles for output profiles
as requested there
https://discuss.pixls.us/t/rawtherapee-restriction-on-user-chosen-output-profile/5301
(no issue)
2017-10-10 23:03:57 +02:00
heckflosse
3449945f25 fixes #3941, Monitor and printer ICC color profiles missing 2017-06-26 17:46:12 +02:00
heckflosse
642b4cc86c Fix some coverity issues 2017-06-16 21:21:22 +02:00
heckflosse
c4f27b2c13 Fix some coverity issues 2017-06-14 17:02:33 +02:00
heckflosse
5e5affa585 Fix some memory leaks 2017-06-07 21:32:28 +02:00
heckflosse
5e22addc54 Fix memory leak in iccstore 2017-06-07 20:39:44 +02:00
Alberto Griggio
2edd677d1a Fixed various memory leaks as reported by AddressSanitizer 2017-06-07 10:36:28 +02:00
Alberto Griggio
ecae94f17c automatically select the system monitor profile if the preferences say so
Fix for issue #3821
2017-04-12 16:20:03 +02:00
Alberto Griggio
a7471b3db6 Merge pull request #3810 from Beep6581/autodetect-monitor-profile-linux
Added support for autodetecting the system monitor color profile also on Linux
2017-04-12 14:00:41 +02:00
heckflosse
6e55f6bab5 Fixed a lot of issues reported by cppcheck 1.78 2017-04-08 22:41:46 +02:00
Alberto Griggio
b01899783d Added support for autodetecting the system monitor color profile also on Linux
Code borrowed from Geeqie
2017-04-08 15:18:50 +02:00
Flössie
5632c787a3 Don't return XYZ for sRGB (#3691)
Also fix length of `ProfileContent` to match the old implementation.
2017-03-19 11:18:13 +01:00
Hombre
99f0d723b5 Fixing missing output Profiles bug + disabling rt-cli (see #3691) 2017-03-19 03:31:33 +01:00
Hombre
c654785ae3 Merge branch 'dev' into rt-cli 2017-03-18 18:17:45 +01:00
Flössie
97caf21b5c PIMPLed and streamlined ICCStore (#3691) 2017-03-18 11:59:14 +01:00
Hombre
567ed3629c Automatically selected profiles are now correctly loaded on first use. 2017-03-13 01:30:34 +01:00
Hombre
6162cbd77d Adding more profiles to the Output color profile combobox in ICM
You can now select output profiles of the "OUTPUT" device class, but
only if they have an RGB color-space.
2017-02-27 01:12:40 +01:00
Hombre
a04b3eefba Adding rawtherapee-cli.exe, '-q' (quick start mode) added
Standard rawtherapee.exe now has almost no command line options left.
Use '-h' to see options for each executables.
2017-02-13 23:38:05 +01:00
Hombre
d702156f8a Merge branch 'master' into gtk3 2017-01-02 02:48:45 +01:00
Hombre
23863aceca Printer profile added in Preferences for soft-proofing
The output profiles now retain only 'Display' device class as well as
the Monitor profile - and they both have to have rgb color space, the
printer profile retain only 'Output' device class.

MacOS can use soft-proofing but due to undocumented feature of OSX, and
since Cairo assume that the image data are sRGB, the monitor profile is
forced to 'RT_sRGB'. A warning message replace the combobox for this OS.
2016-12-30 03:59:18 +01:00
heckflosse
b16ef8d1f5 Merge master into gtk3 2016-10-28 17:59:47 +02:00
Flössie
730c03785d Reapplied clang-tidy filters
- modernize-use-nullptr
- modernize-redundant-void-arg
- readability-simplify-boolean-expr
- misc-redundant-expression
- readability-redundant-control-flow
- readability-avoid-const-params-in-decls
2016-10-18 18:16:05 +02:00
Morgan Hardwood
4efae5c764 Merge branch 'master' into gtk3 2016-10-16 23:26:51 +02:00
Hombre
ee4749f271 Fix a recursive Mutex lock bug when selecting an output Gamma profile. 2016-09-11 03:49:33 +02:00
Hombre
a69c631f22 Fix issue #3411 + revert some code to the old one for better readability 2016-09-03 00:49:35 +02:00
Hombre
c96c7dc8f3 Soft-proofing ang GamutCheck buttons are now disabled if Monitor profile
== NONE of is no suported intent for the selected profile.

The Monitor profile list (in the Editor and in Preferences) shows RGB
profiles only, whereas the output profile list shows all profiles (RGB,
CMYK, ... anything!)

Bugfix: When switching to a new image, the image now use the selected profile and intent.
2016-09-02 16:23:21 +02:00
Hombre
d31de41f68 Cleaner implementation of the gamma array (more C++11) 2016-08-31 23:40:27 +02:00
Hombre
827acd35f9 Some bugfix. 2016-08-27 22:20:54 +02:00
Hombre
5affa18341 Introducting soft-proofing and Black Point Compensation, simplify the
CMM at the end of the pipeline + sparse code refactoring
A new BPC checkbutton has been created in 'Preferences/Color Management'
and in the ICM tool. Better hanbling of widget sensitivity of the output
profile / gamma part of the ICM tool.
2016-08-24 22:32:06 +02:00
Beep6581
e737365597 Merge branch 'master' into gtk3 2016-05-22 13:13:04 +02:00
Flössie
c556771843 Prevent narrowing conversion when building for PowerPC 2016-05-18 21:16:27 +02:00
Beep6581
a47043d6cd Merged master into gtk3 with some manually fixed merge conflicts caused by formatting changes. 2016-04-30 16:29:13 +02:00
Beep6581
59a9d2dc2f astyle on files edited by rec2020 branch 2016-04-30 16:20:45 +02:00
Desmis
b97ed08987 Add working profile Rec2020 2016-04-29 07:41:17 +02:00
Adam Reichold
a2eea7c265 Finally fully remove the safegtk module. 2016-02-21 10:26:11 +01:00
Adam Reichold
75e605012a Fix logic error in extension checks for loading ICC and CLUT files. 2016-01-17 16:21:57 +01:00
Hombre
e9141dd98c Cleaning up the GUI for the monitor profile and rendering intent +
output profile rendering intent + soft-proof button.

DCP profile GUI switched from 2x2 array to a single column.
2015-12-18 01:45:59 +01:00
Adam Reichold
35919bddc9 Copy-edit the ICC store for better performance and maintainability and add a method to load profile lists from arbitrary directories. 2015-12-07 19:55:14 +01:00
Adam Reichold
9ec0557edf Simplify the DCLP singleton instances found by searching for methods named 'getInstance'. 2015-11-28 14:53:27 +01:00
DrSlony
0e0cfb9b25 Formatted all .cc and .h code in rtengine, rtexif and rtgui using astyle 2015-08-11 11:55:03 +02:00
torger
d5ca351c20 Issue 2134: removed obsolete raw highlight preservation setting from GUI (still left in procparams for backwards compatilibility) 2015-07-10 12:00:36 +02:00