Preset cat02 automatic
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include "guiutils.h"
|
||||
#include "options.h"
|
||||
#include "rtimage.h"
|
||||
#include "eventmapper.h"
|
||||
|
||||
#include "../rtengine/color.h"
|
||||
#include "../rtengine/procparams.h"
|
||||
@@ -217,8 +218,16 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance"
|
||||
milestones.push_back ( GradientMilestone (0., 0., 0., 0.) );
|
||||
milestones.push_back ( GradientMilestone (1., 1., 1., 1.) );
|
||||
|
||||
auto m = ProcEventMapper::getInstance();
|
||||
Evcatpreset = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_CAT02PRESET");
|
||||
|
||||
// ------------------------ Process #1: Converting to CIECAM
|
||||
//preset button cat02
|
||||
presetcat02 = Gtk::manage (new Gtk::CheckButton (M ("TP_COLORAPP_PRESETCAT02")));
|
||||
presetcat02->set_tooltip_markup (M("TP_COLORAPP_PRESETCAT02_TIP"));
|
||||
presetcat02conn = presetcat02->signal_toggled().connect( sigc::mem_fun(*this, &ColorAppearance::presetcat02pressed));
|
||||
pack_start (*presetcat02, Gtk::PACK_SHRINK);
|
||||
|
||||
// ----------------------- Process #1: Converting to CIECAM
|
||||
|
||||
|
||||
// Process 1 frame
|
||||
@@ -801,6 +810,7 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
tcmodeconn.block (true);
|
||||
tcmode2conn.block (true);
|
||||
tcmode3conn.block (true);
|
||||
presetcat02conn.block (true);
|
||||
shape->setCurve (pp->colorappearance.curve);
|
||||
shape2->setCurve (pp->colorappearance.curve2);
|
||||
shape3->setCurve (pp->colorappearance.curve3);
|
||||
@@ -808,7 +818,12 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
toneCurveMode2->set_active (toUnderlying(pp->colorappearance.curveMode2));
|
||||
toneCurveMode3->set_active (toUnderlying(pp->colorappearance.curveMode3));
|
||||
curveMode3Changed(); // This will set the correct sensitive state of depending Adjusters
|
||||
presetcat02->set_active(pp->colorappearance.presetcat02);
|
||||
|
||||
nexttemp = pp->wb.temperature;
|
||||
nextgreen = pp->wb.green;
|
||||
|
||||
printf("temp=%f green=%f\n", nexttemp, nextgreen);
|
||||
if (pedited) {
|
||||
degree->setEditedState (pedited->colorappearance.degree ? Edited : UnEdited);
|
||||
degreeout->setEditedState (pedited->colorappearance.degreeout ? Edited : UnEdited);
|
||||
@@ -858,6 +873,7 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
if (!pedited->colorappearance.curveMode3) {
|
||||
toneCurveMode3->set_active (3);
|
||||
}
|
||||
presetcat02->set_inconsistent(!pedited->colorappearance.presetcat02);
|
||||
|
||||
|
||||
}
|
||||
@@ -993,6 +1009,10 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited)
|
||||
ybout->setValue (pp->colorappearance.ybout);
|
||||
tempsc->setValue (pp->colorappearance.tempsc);
|
||||
greensc->setValue (pp->colorappearance.greensc);
|
||||
presetcat02conn.block (true);
|
||||
presetcat02->set_active (pp->colorappearance.presetcat02);
|
||||
presetcat02conn.block (false);
|
||||
lastpresetcat02 = pp->colorappearance.presetcat02;
|
||||
|
||||
tcmode3conn.block (false);
|
||||
tcmode2conn.block (false);
|
||||
@@ -1045,6 +1065,7 @@ void ColorAppearance::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->colorappearance.ybout = ybout->getValue ();
|
||||
pp->colorappearance.tempsc = tempsc->getValue ();
|
||||
pp->colorappearance.greensc = greensc->getValue ();
|
||||
pp->colorappearance.presetcat02 = presetcat02->get_active();
|
||||
|
||||
int tcMode = toneCurveMode->get_active_row_number();
|
||||
|
||||
@@ -1114,6 +1135,7 @@ void ColorAppearance::write (ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->colorappearance.ybout = ybout->getEditedState ();
|
||||
pedited->colorappearance.tempsc = tempsc->getEditedState ();
|
||||
pedited->colorappearance.greensc = greensc->getEditedState ();
|
||||
pedited->colorappearance.presetcat02 = presetcat02->get_inconsistent ();
|
||||
|
||||
}
|
||||
|
||||
@@ -1309,6 +1331,130 @@ void ColorAppearance::badpix_toggled () {
|
||||
|
||||
}
|
||||
*/
|
||||
void ColorAppearance::presetcat02pressed ()
|
||||
{
|
||||
if (presetcat02->get_active ()) {
|
||||
disableListener();
|
||||
jlight->resetValue (false);
|
||||
qbright->resetValue (false);
|
||||
chroma->resetValue (false);
|
||||
schroma->resetValue (false);
|
||||
mchroma->resetValue (false);
|
||||
rstprotection->resetValue (false);
|
||||
contrast->resetValue (false);
|
||||
qcontrast->resetValue (false);
|
||||
colorh->resetValue (false);
|
||||
tempout->resetValue (false);
|
||||
greenout->resetValue (false);
|
||||
ybout->resetValue (false);
|
||||
tempsc->resetValue (false);
|
||||
greensc->resetValue (false);
|
||||
badpixsl->resetValue (false);
|
||||
wbmodel->set_active (0);
|
||||
toneCurveMode->set_active (0);
|
||||
toneCurveMode2->set_active (0);
|
||||
toneCurveMode3->set_active (0);
|
||||
shape->reset();
|
||||
shape2->reset();
|
||||
shape3->reset();
|
||||
gamutconn.block (true);
|
||||
gamut->set_active (true);
|
||||
gamutconn.block (false);
|
||||
degree->setAutoValue (true);
|
||||
degree->resetValue (false);
|
||||
adapscen->resetValue (false);
|
||||
adapscen->setAutoValue (true);
|
||||
degreeout->resetValue (false);
|
||||
degreeout->setAutoValue (true);
|
||||
ybscen->resetValue (false);
|
||||
ybscen->setAutoValue (true);
|
||||
surrsrc->set_active (0);
|
||||
wbmodel->set_active (2);
|
||||
tempsc->resetValue (false);
|
||||
greensc->resetValue (false);
|
||||
adapscen->setValue(400.);
|
||||
ybscen->setValue(18);
|
||||
surround->set_active (0);
|
||||
adaplum->setValue(400.);
|
||||
degreeout->setValue(70);
|
||||
ybout->setValue(18);
|
||||
tempout->setValue (nexttemp);
|
||||
greenout->setValue (nextgreen);
|
||||
enableListener();
|
||||
} else {
|
||||
disableListener();
|
||||
/* jlight->resetValue (false);
|
||||
qbright->resetValue (false);
|
||||
chroma->resetValue (false);
|
||||
schroma->resetValue (false);
|
||||
mchroma->resetValue (false);
|
||||
rstprotection->resetValue (false);
|
||||
contrast->resetValue (false);
|
||||
qcontrast->resetValue (false);
|
||||
colorh->resetValue (false);
|
||||
tempout->resetValue (false);
|
||||
greenout->resetValue (false);
|
||||
ybout->resetValue (false);
|
||||
tempsc->resetValue (false);
|
||||
greensc->resetValue (false);
|
||||
badpixsl->resetValue (false);
|
||||
wbmodel->set_active (0);
|
||||
toneCurveMode->set_active (0);
|
||||
toneCurveMode2->set_active (0);
|
||||
toneCurveMode3->set_active (0);
|
||||
shape->reset();
|
||||
shape2->reset();
|
||||
shape3->reset();
|
||||
gamutconn.block (true);
|
||||
gamut->set_active (true);
|
||||
gamutconn.block (false);
|
||||
*/
|
||||
degree->setAutoValue (true);
|
||||
degree->resetValue (false);
|
||||
adapscen->resetValue (false);
|
||||
adapscen->setAutoValue (true);
|
||||
degreeout->resetValue (false);
|
||||
degreeout->setAutoValue (true);
|
||||
ybscen->resetValue (false);
|
||||
ybscen->setAutoValue (true);
|
||||
surrsrc->set_active (0);
|
||||
wbmodel->set_active (0);
|
||||
tempsc->resetValue (false);
|
||||
greensc->resetValue (false);
|
||||
adapscen->resetValue (false);
|
||||
ybscen->resetValue (false);
|
||||
surround->set_active (0);
|
||||
adaplum->resetValue (false);
|
||||
degreeout->resetValue (false);
|
||||
ybout->resetValue (false);
|
||||
tempout->resetValue (false);
|
||||
greenout->resetValue (false);
|
||||
enableListener();
|
||||
|
||||
}
|
||||
if (batchMode) {
|
||||
if (presetcat02->get_inconsistent()) {
|
||||
presetcat02->set_inconsistent (false);
|
||||
presetcat02conn.block (true);
|
||||
presetcat02->set_active (false);
|
||||
presetcat02conn.block (false);
|
||||
} else if (lastpresetcat02) {
|
||||
presetcat02->set_inconsistent (true);
|
||||
}
|
||||
|
||||
lastpresetcat02 = presetcat02->get_active ();
|
||||
}
|
||||
|
||||
if (listener) {
|
||||
if (presetcat02->get_active ()) {
|
||||
listener->panelChanged (Evcatpreset, M ("GENERAL_ENABLED"));
|
||||
} else {
|
||||
listener->panelChanged (Evcatpreset, M ("GENERAL_DISABLED"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void ColorAppearance::datacie_toggled ()
|
||||
{
|
||||
|
||||
@@ -1470,6 +1616,10 @@ void ColorAppearance::autoCamChanged (double ccam, double ccamout)
|
||||
|
||||
void ColorAppearance::adapCamChanged (double cadap)
|
||||
{
|
||||
if(presetcat02->get_active()){
|
||||
return;
|
||||
}
|
||||
|
||||
idle_register.add(
|
||||
[this, cadap]() -> bool
|
||||
{
|
||||
@@ -1483,6 +1633,10 @@ void ColorAppearance::adapCamChanged (double cadap)
|
||||
|
||||
void ColorAppearance::ybCamChanged (int ybsc)
|
||||
{
|
||||
if(presetcat02->get_active()){
|
||||
return;
|
||||
}
|
||||
|
||||
idle_register.add(
|
||||
[this, ybsc]() -> bool
|
||||
{
|
||||
|
Reference in New Issue
Block a user