From b5b52989ef2b31d7beef04e1aa4a025f86ddd2a7 Mon Sep 17 00:00:00 2001 From: Desmis Date: Tue, 7 Jan 2020 16:09:15 +0100 Subject: [PATCH] Change warm-cool from Exposure to Vibrance --- rtdata/languages/default | 2 +- rtengine/iplocallab.cc | 18 ++++++++++------ rtengine/procparams.cc | 8 +++---- rtengine/procparams.h | 2 +- rtgui/locallab.cc | 45 +++++++++++++++++++++------------------- rtgui/locallab.h | 3 ++- rtgui/paramsedited.cc | 14 ++++++------- rtgui/paramsedited.h | 2 +- 8 files changed, 52 insertions(+), 42 deletions(-) diff --git a/rtdata/languages/default b/rtdata/languages/default index de244675e..ca65e7095 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -2621,7 +2621,7 @@ TP_LOCALLAB_TRANSMISSIONMAP;Transmission map TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction.\nYou can act on this curve to change Transmission and reduce the artifacts TP_LOCALLAB_USEMASK;Use mask TP_LOCALLAB_VART;Variance (contrast) -TP_LOCALLAB_VIBRANCE;Vibrance +TP_LOCALLAB_VIBRANCE;Vibrance - Warm & Cool TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. TP_LOCALLAB_WAMASKCOL;Ψ Mask Wavelet level TP_LOCALLAB_WARM;Warm - Cool & Color artifacts diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index 8e0c2a4bb..82caa59a1 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -5276,10 +5276,11 @@ void ImProcFunctions::InverseColorLight_Local(bool tonequ, bool tonecurv, int sp } } } - +/* if (lp.war != 0) { ImProcFunctions::ciecamloc_02float(sp, temp); } + */ } if (senstype == 0) { //Color and Light curves L C @@ -10517,7 +10518,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o //vibrance - if (lp.expvib && (lp.past != 0.f || lp.satur != 0.f || lp.strvib != 0.f || lp.strvibab != 0.f || lp.strvibh != 0.f || lp.showmaskvibmet == 2 || lp.enavibMask || lp.showmaskvibmet == 3 || lp.showmaskvibmet == 4) && lp.vibena) { //interior ellipse renforced lightness and chroma //locallutili + if (lp.expvib && (lp.past != 0.f || lp.satur != 0.f || lp.strvib != 0.f || lp.war != 0 || lp.strvibab != 0.f || lp.strvibh != 0.f || lp.showmaskvibmet == 2 || lp.enavibMask || lp.showmaskvibmet == 3 || lp.showmaskvibmet == 4) && lp.vibena) { //interior ellipse renforced lightness and chroma //locallutili if (call <= 3) { //simpleprocess, dcrop, improccoordinator const int ystart = std::max(static_cast(lp.yc - lp.lyT) - cy, 0); const int yend = std::min(static_cast(lp.yc + lp.ly) - cy, original->H); @@ -10719,6 +10720,11 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o ImProcFunctions::vibrance(bufexpfin.get(), vibranceParams, params->toneCurve.hrenabled, params->icm.workingProfile); + if (params->locallab.spots.at(sp).warm != 0) { + ImProcFunctions::ciecamloc_02float(sp, bufexpfin.get()); + } + + transit_shapedetect2(call, 2, bufexporig.get(), bufexpfin.get(), originalmaskvib.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); @@ -12722,7 +12728,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o enablefat = true;; } - bool execex = (lp.exposena && (lp.expcomp != 0.f || lp.blac != 0 || lp.war != 0 || lp.laplacexp > 0.1f || lp.strexp != 0.f || enablefat || lp.showmaskexpmet == 2 || lp.enaExpMask || lp.showmaskexpmet == 3 || lp.showmaskexpmet == 4 || lp.showmaskexpmet == 5 || (exlocalcurve && localexutili))); + bool execex = (lp.exposena && (lp.expcomp != 0.f || lp.blac != 0 || lp.laplacexp > 0.1f || lp.strexp != 0.f || enablefat || lp.showmaskexpmet == 2 || lp.enaExpMask || lp.showmaskexpmet == 3 || lp.showmaskexpmet == 4 || lp.showmaskexpmet == 5 || (exlocalcurve && localexutili))); if (!lp.invex && execex) { int ystart = std::max(static_cast(lp.yc - lp.lyT) - cy, 0); @@ -13092,12 +13098,12 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o ImProcFunctions::shadowsHighlights(bufexpfin.get(), true, 1, 0, lp.shadex, 40, sk, 0, lp.shcomp); } } - +/* //cat02 if (params->locallab.spots.at(sp).warm != 0) { ImProcFunctions::ciecamloc_02float(sp, bufexpfin.get()); } - +*/ /* constexpr float ampli = 70.f; float ch = 0.f; @@ -13144,7 +13150,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o } //inverse - else if (lp.invex && (lp.expcomp != 0.0 || lp.war != 0 || lp.laplacexp > 0.1f || params->locallab.spots.at(sp).fatamount > 1.f || (exlocalcurve && localexutili) || lp.enaExpMaskinv || lp.showmaskexpmetinv == 1) && lp.exposena) { + else if (lp.invex && (lp.expcomp != 0.0 || lp.laplacexp > 0.1f || params->locallab.spots.at(sp).fatamount > 1.f || (exlocalcurve && localexutili) || lp.enaExpMaskinv || lp.showmaskexpmetinv == 1) && lp.exposena) { float adjustr = 2.f; std::unique_ptr bufmaskblurexp; std::unique_ptr originalmaskexp; diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index ed163c911..b722ccaba 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -2520,7 +2520,6 @@ LocallabParams::LocallabSpot::LocallabSpot() : shadex(0), shcompr(50), expchroma(30), - warm(0), sensiex(15), structexp(0), blurexpde(5), @@ -2587,6 +2586,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : expvibrance(false), saturated(0), pastels(0), + warm(0), psthreshold({0, 75, false}), protectskins(false), avoidcolorshift(true), @@ -2926,7 +2926,6 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && shadex == other.shadex && shcompr == other.shcompr && expchroma == other.expchroma - && warm == other.warm && sensiex == other.sensiex && structexp == other.structexp && blurexpde == other.blurexpde @@ -3002,6 +3001,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && expvibrance == other.expvibrance && saturated == other.saturated && pastels == other.pastels + && warm == other.warm && psthreshold == other.psthreshold && protectskins == other.protectskins && avoidcolorshift == other.avoidcolorshift @@ -4328,7 +4328,6 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->locallab.spots.at(i).shadex, "Locallab", "Shadex_" + std::to_string(i), spot.shadex, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).shcompr, "Locallab", "Shcompr_" + std::to_string(i), spot.shcompr, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).expchroma, "Locallab", "Expchroma_" + std::to_string(i), spot.expchroma, keyFile); - saveToKeyfile(!pedited || pedited->locallab.spots.at(i).warm, "Locallab", "Warm_" + std::to_string(i), spot.warm, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sensiex, "Locallab", "Sensiex_" + std::to_string(i), spot.sensiex, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).structexp, "Locallab", "Structexp_" + std::to_string(i), spot.structexp, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blurexpde, "Locallab", "Blurexpde_" + std::to_string(i), spot.blurexpde, keyFile); @@ -4396,6 +4395,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo // Vibrance saveToKeyfile(!pedited || pedited->locallab.spots.at(i).expvibrance, "Locallab", "Expvibrance_" + std::to_string(i), spot.expvibrance, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).saturated, "Locallab", "Saturated_" + std::to_string(i), spot.saturated, keyFile); + saveToKeyfile(!pedited || pedited->locallab.spots.at(i).warm, "Locallab", "Warm_" + std::to_string(i), spot.warm, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).pastels, "Locallab", "Pastels_" + std::to_string(i), spot.pastels, keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).psthreshold, "Locallab", "PSThreshold_" + std::to_string(i), spot.psthreshold.toVector(), keyFile); saveToKeyfile(!pedited || pedited->locallab.spots.at(i).protectskins, "Locallab", "ProtectSkins_" + std::to_string(i), spot.protectskins, keyFile); @@ -5855,7 +5855,6 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Shadex_" + std::to_string(i), pedited, spot.shadex, spotEdited.shadex); assignFromKeyfile(keyFile, "Locallab", "Shcompr_" + std::to_string(i), pedited, spot.shcompr, spotEdited.shcompr); assignFromKeyfile(keyFile, "Locallab", "Expchroma_" + std::to_string(i), pedited, spot.expchroma, spotEdited.expchroma); - assignFromKeyfile(keyFile, "Locallab", "Warm_" + std::to_string(i), pedited, spot.warm, spotEdited.warm); assignFromKeyfile(keyFile, "Locallab", "Sensiex_" + std::to_string(i), pedited, spot.sensiex, spotEdited.sensiex); assignFromKeyfile(keyFile, "Locallab", "Structexp_" + std::to_string(i), pedited, spot.structexp, spotEdited.structexp); assignFromKeyfile(keyFile, "Locallab", "Blurexpde_" + std::to_string(i), pedited, spot.blurexpde, spotEdited.blurexpde); @@ -5924,6 +5923,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Expvibrance_" + std::to_string(i), pedited, spot.expvibrance, spotEdited.expvibrance); assignFromKeyfile(keyFile, "Locallab", "Saturated_" + std::to_string(i), pedited, spot.saturated, spotEdited.saturated); assignFromKeyfile(keyFile, "Locallab", "Pastels_" + std::to_string(i), pedited, spot.pastels, spotEdited.pastels); + assignFromKeyfile(keyFile, "Locallab", "Warm_" + std::to_string(i), pedited, spot.warm, spotEdited.warm); if (keyFile.has_key("Locallab", "PSThreshold_" + std::to_string(i))) { const std::vector thresh = keyFile.get_integer_list("Locallab", "PSThreshold_" + std::to_string(i)); diff --git a/rtengine/procparams.h b/rtengine/procparams.h index aa070179b..3a50632a1 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -1063,7 +1063,6 @@ struct LocallabParams { int shadex; int shcompr; int expchroma; - int warm; int sensiex; int structexp; int blurexpde; @@ -1130,6 +1129,7 @@ struct LocallabParams { bool expvibrance; int saturated; int pastels; + int warm; Threshold psthreshold; bool protectskins; bool avoidcolorshift; diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index 7ceb2a5d6..2ccee4df8 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -417,7 +417,6 @@ Locallab::Locallab(): shadex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHADEX"), 0, 100, 1, 0))), shcompr(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHADEXCOMP"), 0, 100, 1, 50))), expchroma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_EXPCHROMA"), -50, 100, 1, 30))), - warm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))), sensiex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 15))), structexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))), blurexpde(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLURDE"), 2, 100, 1, 5))), @@ -487,6 +486,7 @@ sloSH(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SLOSH"), 0.0, 100.0, 0.01, 12.92)) // Vibrance saturated(Gtk::manage(new Adjuster(M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.))), pastels(Gtk::manage(new Adjuster(M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.))), +warm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))), sensiv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 15))), blendmaskvib(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLENDMASKCOL"), -100, 100, 1, 0))), radmaskvib(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RADMASKCOL"), -10.0, 1000.0, 0.1, 0.))), @@ -1462,11 +1462,6 @@ pe(nullptr) shcompr->setAdjusterListener(this); expchroma->setAdjusterListener(this); - if (showtooltip) { - warm->set_tooltip_text(M("TP_LOCALLAB_WARM_TOOLTIP")); - } - - warm->setAdjusterListener(this); if (showtooltip) { sensiex->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); @@ -1677,7 +1672,7 @@ pe(nullptr) } toolBox->pack_start(*curveEditorG, Gtk::PACK_SHRINK, 4); - toolBox->pack_start(*warm); +// toolBox->pack_start(*warm); setExpandAlignProperties(exptoolexp, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); exptoolexp->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &Locallab::foldAllButMe), exptoolexp)); @@ -2009,6 +2004,12 @@ pe(nullptr) pastels->setAdjusterListener(this); + if (showtooltip) { + warm->set_tooltip_text(M("TP_LOCALLAB_WARM_TOOLTIP")); + } + + warm->setAdjusterListener(this); + if (showtooltip) { psThreshold->set_tooltip_markup(M("TP_VIBRANCE_PSTHRESHOLD_TOOLTIP")); @@ -2101,6 +2102,7 @@ pe(nullptr) } vibranceBox->pack_start(*pastels, Gtk::PACK_SHRINK, 0); + vibranceBox->pack_start(*warm, Gtk::PACK_SHRINK, 0); if (complexsoft < 2) { vibranceBox->pack_start(*psThreshold, Gtk::PACK_SHRINK, 0); @@ -5056,7 +5058,6 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited pp->locallab.spots.at(pp->locallab.selspot).shadex = shadex->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).shcompr = shcompr->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).expchroma = expchroma->getIntValue(); - pp->locallab.spots.at(pp->locallab.selspot).warm = warm->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).sensiex = sensiex->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).structexp = structexp->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).blurexpde = blurexpde->getIntValue(); @@ -5153,6 +5154,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited // Vibrance pp->locallab.spots.at(pp->locallab.selspot).expvibrance = expvibrance->getEnabled(); + pp->locallab.spots.at(pp->locallab.selspot).warm = warm->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).saturated = saturated->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).pastels = pastels->getIntValue(); pp->locallab.spots.at(pp->locallab.selspot).psthreshold = psThreshold->getValue(); @@ -5546,7 +5548,6 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited pe->locallab.spots.at(pp->locallab.selspot).shadex = pe->locallab.spots.at(pp->locallab.selspot).shadex || shadex->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).shcompr = pe->locallab.spots.at(pp->locallab.selspot).shcompr || shcompr->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).expchroma = pe->locallab.spots.at(pp->locallab.selspot).expchroma || expchroma->getEditedState(); - pe->locallab.spots.at(pp->locallab.selspot).warm = pe->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).sensiex = pe->locallab.spots.at(pp->locallab.selspot).sensiex || sensiex->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).structexp = pe->locallab.spots.at(pp->locallab.selspot).structexp || structexp->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).blurexpde = pe->locallab.spots.at(pp->locallab.selspot).blurexpde || blurexpde->getEditedState(); @@ -5617,6 +5618,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited // Vibrance pe->locallab.spots.at(pp->locallab.selspot).expvibrance = pe->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent(); pe->locallab.spots.at(pp->locallab.selspot).saturated = pe->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState(); + pe->locallab.spots.at(pp->locallab.selspot).warm = pe->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).pastels = pe->locallab.spots.at(pp->locallab.selspot).pastels || pastels->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).psthreshold = pe->locallab.spots.at(pp->locallab.selspot).psthreshold || psThreshold->getEditedState(); pe->locallab.spots.at(pp->locallab.selspot).protectskins = pe->locallab.spots.at(pp->locallab.selspot).protectskins || !protectSkins->get_inconsistent(); @@ -5961,7 +5963,6 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited pedited->locallab.spots.at(pp->locallab.selspot).shadex = pedited->locallab.spots.at(pp->locallab.selspot).shadex || shadex->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).shcompr = pedited->locallab.spots.at(pp->locallab.selspot).shcompr || shcompr->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).expchroma = pedited->locallab.spots.at(pp->locallab.selspot).expchroma || expchroma->getEditedState(); - pedited->locallab.spots.at(pp->locallab.selspot).warm = pedited->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).sensiex = pedited->locallab.spots.at(pp->locallab.selspot).sensiex || sensiex->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).structexp = pedited->locallab.spots.at(pp->locallab.selspot).structexp || structexp->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).blurexpde = pedited->locallab.spots.at(pp->locallab.selspot).blurexpde || blurexpde->getEditedState(); @@ -6032,6 +6033,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited // Vibrance pedited->locallab.spots.at(pp->locallab.selspot).expvibrance = pedited->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent(); pedited->locallab.spots.at(pp->locallab.selspot).saturated = pedited->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState(); + pedited->locallab.spots.at(pp->locallab.selspot).warm = pedited->locallab.spots.at(pp->locallab.selspot).warm || warm->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).pastels = pedited->locallab.spots.at(pp->locallab.selspot).pastels || pastels->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).psthreshold = pedited->locallab.spots.at(pp->locallab.selspot).psthreshold || psThreshold->getEditedState(); pedited->locallab.spots.at(pp->locallab.selspot).protectskins = pedited->locallab.spots.at(pp->locallab.selspot).protectskins || !protectSkins->get_inconsistent(); @@ -8829,7 +8831,6 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c shadex->setDefault((double)defSpot->shadex); shcompr->setDefault((double)defSpot->shcompr); expchroma->setDefault((double)defSpot->expchroma); - warm->setDefault((double)defSpot->warm); sensiex->setDefault((double)defSpot->sensiex); structexp->setDefault((double)defSpot->structexp); blurexpde->setDefault((double)defSpot->blurexpde); @@ -8881,6 +8882,7 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c // Vibrance saturated->setDefault((double)defSpot->saturated); + warm->setDefault((double)defSpot->warm); pastels->setDefault((double)defSpot->pastels); psThreshold->setDefault(defSpot->psthreshold); sensiv->setDefault((double)defSpot->sensiv); @@ -9073,7 +9075,6 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c shadex->setDefaultEditedState(Irrelevant); shcompr->setDefaultEditedState(Irrelevant); expchroma->setDefaultEditedState(Irrelevant); - warm->setDefaultEditedState(Irrelevant); sensiex->setDefaultEditedState(Irrelevant); structexp->setDefaultEditedState(Irrelevant); blurexpde->setDefaultEditedState(Irrelevant); @@ -9126,6 +9127,7 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c // Vibrance saturated->setDefaultEditedState(Irrelevant); pastels->setDefaultEditedState(Irrelevant); + warm->setDefaultEditedState(Irrelevant); psThreshold->setDefaultEditedState(Irrelevant); sensiv->setDefaultEditedState(Irrelevant); blendmaskvib->setDefaultEditedState(Irrelevant); @@ -9322,7 +9324,6 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c shadex->setDefaultEditedState(defSpotState->shadex ? Edited : UnEdited); shcompr->setDefaultEditedState(defSpotState->shcompr ? Edited : UnEdited); expchroma->setDefaultEditedState(defSpotState->expchroma ? Edited : UnEdited); - warm->setDefaultEditedState(defSpotState->warm ? Edited : UnEdited); sensiex->setDefaultEditedState(defSpotState->sensiex ? Edited : UnEdited); structexp->setDefaultEditedState(defSpotState->structexp ? Edited : UnEdited); blurexpde->setDefaultEditedState(defSpotState->blurexpde ? Edited : UnEdited); @@ -9375,6 +9376,7 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c // Vibrance saturated->setDefaultEditedState(defSpotState->saturated ? Edited : UnEdited); pastels->setDefaultEditedState(defSpotState->pastels ? Edited : UnEdited); + warm->setDefaultEditedState(defSpotState->warm ? Edited : UnEdited); psThreshold->setDefaultEditedState(defSpotState->psthreshold ? Edited : UnEdited); sensiv->setDefaultEditedState(defSpotState->sensiv ? Edited : UnEdited); blendmaskvib->setDefaultEditedState(defSpotState->blendmaskvib ? Edited : UnEdited); @@ -9805,11 +9807,6 @@ void Locallab::adjusterChanged(Adjuster * a, double newval) } } - if (a == warm) { - if (listener) { - listener->panelChanged(Evlocallabwarm, warm->getTextValue()); - } - } if (a == sensiex) { if (listener) { @@ -10101,6 +10098,12 @@ void Locallab::adjusterChanged(Adjuster * a, double newval) } } + if (a == warm) { + if (listener) { + listener->panelChanged(Evlocallabwarm, warm->getTextValue()); + } + } + if (a == sensiv) { if (listener) { listener->panelChanged(Evlocallabsensiv, sensiv->getTextValue()); @@ -11044,7 +11047,6 @@ void Locallab::setBatchMode(bool batchMode) shadex->showEditedCB(); shcompr->showEditedCB(); expchroma->showEditedCB(); - warm->showEditedCB(); sensiex->showEditedCB(); structexp->showEditedCB(); blurexpde->showEditedCB(); @@ -11097,6 +11099,7 @@ void Locallab::setBatchMode(bool batchMode) // Vibrance saturated->showEditedCB(); pastels->showEditedCB(); + warm->showEditedCB(); psThreshold->showEditedCB(); sensiv->showEditedCB(); blendmaskvib->showEditedCB(); @@ -11847,7 +11850,6 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con shadex->setValue(pp->locallab.spots.at(index).shadex); shcompr->setValue(pp->locallab.spots.at(index).shcompr); expchroma->setValue(pp->locallab.spots.at(index).expchroma); - warm->setValue(pp->locallab.spots.at(index).warm); sensiex->setValue(pp->locallab.spots.at(index).sensiex); structexp->setValue(pp->locallab.spots.at(index).structexp); blurexpde->setValue(pp->locallab.spots.at(index).blurexpde); @@ -11992,6 +11994,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con expvibrance->setEnabled(pp->locallab.spots.at(index).expvibrance); saturated->setValue(pp->locallab.spots.at(index).saturated); pastels->setValue(pp->locallab.spots.at(index).pastels); + warm->setValue(pp->locallab.spots.at(index).warm); psThreshold->setValue(pp->locallab.spots.at(index).psthreshold); protectSkins->set_active(pp->locallab.spots.at(index).protectskins); avoidColorShift->set_active(pp->locallab.spots.at(index).avoidcolorshift); @@ -12536,7 +12539,6 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con hlcomprthresh->setEditedState(spotState->hlcomprthresh ? Edited : UnEdited); black->setEditedState(spotState->black ? Edited : UnEdited); shadex->setEditedState(spotState->shadex ? Edited : UnEdited); - warm->setEditedState(spotState->warm ? Edited : UnEdited); shcompr->setEditedState(spotState->shcompr ? Edited : UnEdited); expchroma->setEditedState(spotState->expchroma ? Edited : UnEdited); sensiex->setEditedState(spotState->sensiex ? Edited : UnEdited); @@ -12621,6 +12623,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con expvibrance->set_inconsistent(!spotState->expvibrance); saturated->setEditedState(spotState->saturated ? Edited : UnEdited); pastels->setEditedState(spotState->pastels ? Edited : UnEdited); + warm->setEditedState(spotState->warm ? Edited : UnEdited); psThreshold->setEditedState(spotState->psthreshold ? Edited : UnEdited); protectSkins->set_inconsistent(multiImage && !spotState->protectskins); avoidColorShift->set_inconsistent(multiImage && !spotState->avoidcolorshift); diff --git a/rtgui/locallab.h b/rtgui/locallab.h index 2f76f76c1..f9b40ba8b 100644 --- a/rtgui/locallab.h +++ b/rtgui/locallab.h @@ -229,7 +229,7 @@ private: Adjuster* const shadex; Adjuster* const shcompr; Adjuster* const expchroma; - Adjuster* const warm; +// Adjuster* const warm; Adjuster* const sensiex; Adjuster* const structexp; Adjuster* const blurexpde; @@ -277,6 +277,7 @@ private: // Vibrance Adjuster* const saturated; Adjuster* const pastels; + Adjuster* const warm; Adjuster* const sensiv; Adjuster* const blendmaskvib; Adjuster* const radmaskvib; diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index cd2f4ee5b..a598e47ea 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -1056,7 +1056,6 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).shadex = locallab.spots.at(j).shadex && pSpot.shadex == otherSpot.shadex; locallab.spots.at(j).shcompr = locallab.spots.at(j).shcompr && pSpot.shcompr == otherSpot.shcompr; locallab.spots.at(j).expchroma = locallab.spots.at(j).expchroma && pSpot.expchroma == otherSpot.expchroma; - locallab.spots.at(j).warm = locallab.spots.at(j).warm && pSpot.warm == otherSpot.warm; locallab.spots.at(j).sensiex = locallab.spots.at(j).sensiex && pSpot.sensiex == otherSpot.sensiex; locallab.spots.at(j).structexp = locallab.spots.at(j).structexp && pSpot.structexp == otherSpot.structexp; locallab.spots.at(j).blurexpde = locallab.spots.at(j).blurexpde && pSpot.blurexpde == otherSpot.blurexpde; @@ -1125,6 +1124,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).expvibrance = locallab.spots.at(j).expvibrance && pSpot.expvibrance == otherSpot.expvibrance; locallab.spots.at(j).saturated = locallab.spots.at(j).saturated && pSpot.saturated == otherSpot.saturated; locallab.spots.at(j).pastels = locallab.spots.at(j).pastels && pSpot.pastels == otherSpot.pastels; + locallab.spots.at(j).warm = locallab.spots.at(j).warm && pSpot.warm == otherSpot.warm; locallab.spots.at(j).psthreshold = locallab.spots.at(j).psthreshold && pSpot.psthreshold == otherSpot.psthreshold; locallab.spots.at(j).protectskins = locallab.spots.at(j).protectskins && pSpot.protectskins == otherSpot.protectskins; locallab.spots.at(j).avoidcolorshift = locallab.spots.at(j).avoidcolorshift && pSpot.avoidcolorshift == otherSpot.avoidcolorshift; @@ -3230,10 +3230,6 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).expchroma = mods.locallab.spots.at(i).expchroma; } - if (locallab.spots.at(i).warm) { - toEdit.locallab.spots.at(i).warm = mods.locallab.spots.at(i).warm; - } - if (locallab.spots.at(i).sensiex) { toEdit.locallab.spots.at(i).sensiex = mods.locallab.spots.at(i).sensiex; } @@ -3495,6 +3491,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).pastels = mods.locallab.spots.at(i).pastels; } + if (locallab.spots.at(i).warm) { + toEdit.locallab.spots.at(i).warm = mods.locallab.spots.at(i).warm; + } + if (locallab.spots.at(i).psthreshold) { toEdit.locallab.spots.at(i).psthreshold = mods.locallab.spots.at(i).psthreshold; } @@ -5445,7 +5445,6 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : shadex(v), shcompr(v), expchroma(v), - warm(v), sensiex(v), structexp(v), blurexpde(v), @@ -5512,6 +5511,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : expvibrance(v), saturated(v), pastels(v), + warm(v), psthreshold(v), protectskins(v), avoidcolorshift(v), @@ -5848,7 +5848,6 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) shadex = v; shcompr = v; expchroma = v; - warm = v; sensiex = v; structexp = v; blurexpde = v; @@ -5917,6 +5916,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) expvibrance = v; saturated = v; pastels = v; + warm = v; psthreshold = v; protectskins = v; avoidcolorshift = v; diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h index 200cc97c4..5470f4b9c 100644 --- a/rtgui/paramsedited.h +++ b/rtgui/paramsedited.h @@ -489,7 +489,6 @@ public: bool shadex; bool shcompr; bool expchroma; - bool warm; bool sensiex; bool structexp; bool blurexpde; @@ -556,6 +555,7 @@ public: bool expvibrance; bool saturated; bool pastels; + bool warm; bool psthreshold; bool protectskins; bool avoidcolorshift;