From 51512a271da6bba5f340f174cdb2fd769f5bfa87 Mon Sep 17 00:00:00 2001 From: Desmis Date: Mon, 12 Feb 2018 08:51:43 +0100 Subject: [PATCH] Move warm-cool from Color-and-Light to Exposure --- rtdata/languages/default | 3 ++- rtengine/iplocallab.cc | 14 +++++++------- rtgui/locallab.cc | 17 ++++++++++++----- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/rtdata/languages/default b/rtdata/languages/default index 3e0b3ea43..ace6e561e 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1945,7 +1945,8 @@ TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve TP_LOCALLAB_TRANSIT;Transition TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas. TP_LOCALLAB_VIBRANCE;Vibrance -TP_LOCALLAB_WARM;Warm - Cool +TP_LOCALLAB_WARM;Warm - Cool & Color artifacts +TP_LOCALLAB_WARM_TOOLTIP;This slider use Ciecam algorithm and acts as White Balance, it can warm or cool the area selected.\nIt can also in some cases reduce color artifacts. TP_LOCAL_HEIGHT;Bottom TP_LOCAL_HEIGHT_T;Top TP_LOCAL_WIDTH;Right diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index d1e7db31c..961a97acd 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -2345,7 +2345,7 @@ void ImProcFunctions::cat02_Local(float **buflightcat, float **buf_a_cat, float //local cat02 BENCHFUN { const float ach = (float)lp.trans / 100.f; - float varsens = lp.sens; + float varsens = lp.sensex; //chroma @@ -10921,17 +10921,17 @@ void ImProcFunctions::Lab_Local(int call, int maxspot, int sp, LUTf & huerefs, L } - if (lp.war != 0 && !lp.inv && lp.colorena) { - float hueplus = hueref + dhue; - float huemoins = hueref - dhue; + if (lp.war != 0 && lp.exposena) {//move cat02WB to exposure ==> reduce color artifacts + float hueplus = hueref + dhueex; + float huemoins = hueref - dhueex; // float ddhue = 0.f; if (hueplus > rtengine::RT_PI) { - hueplus = hueref + dhue - 2.f * rtengine::RT_PI; + hueplus = hueref + dhueex - 2.f * rtengine::RT_PI; } if (huemoins < -rtengine::RT_PI) { - huemoins = hueref - dhue + 2.f * rtengine::RT_PI; + huemoins = hueref - dhueex + 2.f * rtengine::RT_PI; } int bfh = 0.f, bfw = 0.f; @@ -11011,7 +11011,7 @@ void ImProcFunctions::Lab_Local(int call, int maxspot, int sp, LUTf & huerefs, L } } - cat02_Local(buflightcat, buf_a_cat, buf_b_cat, hueplus, huemoins, hueref, dhue, chromaref, lumaref, lp, original, transformed, bufcat02fin, cx, cy, sk); + cat02_Local(buflightcat, buf_a_cat, buf_b_cat, hueplus, huemoins, hueref, dhueex, chromaref, lumaref, lp, original, transformed, bufcat02fin, cx, cy, sk); diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index e2249598d..891c82ea1 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -485,13 +485,13 @@ Locallab::Locallab(): lightness->setAdjusterListener(this); contrast->setAdjusterListener(this); - +/* Gtk::Image* iblueredL = Gtk::manage(new RTImage("ajd-wb-bluered1.png")); Gtk::Image* iblueredR = Gtk::manage(new RTImage("ajd-wb-bluered2.png")); warm = Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., iblueredL, iblueredR)); warm->setAdjusterListener(this); - +*/ chroma->setAdjusterListener(this); sensi->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); @@ -510,6 +510,12 @@ Locallab::Locallab(): shcompr->setAdjusterListener(this); sensiex->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); sensiex->setAdjusterListener(this); + Gtk::Image* iblueredL = Gtk::manage(new RTImage("ajd-wb-bluered1.png")); + Gtk::Image* iblueredR = Gtk::manage(new RTImage("ajd-wb-bluered2.png")); + + warm = Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., iblueredL, iblueredR)); + warm->setAdjusterListener(this); + warm->set_tooltip_text(M("TP_LOCALLAB_WARM_TOOLTIP")); radius->setAdjusterListener(this); strength->setAdjusterListener(this); @@ -890,7 +896,7 @@ Locallab::Locallab(): superFrame->add(*superBox); colorBox->pack_start(*superFrame); - colorBox->pack_start(*warm); +// colorBox->pack_start(*warm); colorBox->pack_start(*sensi); /* dustFrame->set_label_align(0.025, 0.5); @@ -934,6 +940,7 @@ Locallab::Locallab(): exposeBox->pack_start(*hlcomprthresh); exposeBox->pack_start(*black); exposeBox->pack_start(*shcompr); + exposeBox->pack_start(*warm); exposeBox->pack_start(*sensiex); exposeBox->pack_start(*curveEditorG); @@ -3877,7 +3884,7 @@ void Locallab::inversChanged() } if (invers->get_active()) { - warm->hide(); + // warm->hide(); sensi->show(); llCurveEditorG->hide(); curvactiv->hide(); @@ -3887,7 +3894,7 @@ void Locallab::inversChanged() } else { sensi->show(); - warm->show(); + // warm->show(); llCurveEditorG->show(); curvactiv->show(); qualitycurveMethod->show();