diff --git a/rtdata/languages/default b/rtdata/languages/default index cc615ad31..68a90d12c 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -1596,13 +1596,13 @@ TP_FLATFIELD_CLIPCONTROL;Clip control TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Clip control avoids clipped highlights caused by applying the flat field. If there are already clipped highlights before applying the flat field, clip control can lead to color cast. TP_FLATFIELD_LABEL;Flat-Field TP_GAMMA_CURV;Gamma -TP_GAMMA_FREE;Free Output Integrate Profile (FOIP)-generate ICC V2 V4 +TP_GAMMA_FREE;Custom Output Integrate Profile & generate ICC TP_GAMMA_PRIM;Primaries Output profile TP_GAMMA_OUTPUT;Gamma - TRC TP_GAMMA_PROF;Generate ICC profile TP_GAMMA_PROF_NONE;none -TP_GAMMA_PROF_V2;ICC V2 -TP_GAMMA_PROF_V4;ICC V4 +TP_GAMMA_PROF_V2;ICC v2 +TP_GAMMA_PROF_V4;ICC v4 TP_GAMMA_SLOP;Slope (linear) TP_GAMMA_PRIM_ACESP0;AcesP0 TP_GAMMA_PRIM_ACESP1;AcesP1 @@ -1614,14 +1614,14 @@ TP_GAMMA_PRIM_WIDEG;Widegamut TP_GAMMA_PRIM_BEST;BestRGB TP_GAMMA_PRIM_BETA;BetaRGB TP_GAMMA_PRIM_BRUCE;BruceRGB -TP_GAMMA_PRIM_FREE;Free primaries -ICC V4 -TP_GAMMA_PRIM_REDX;Red x primari -TP_GAMMA_PRIM_REDY;Red y primari -TP_GAMMA_PRIM_GREX;Green x primari -TP_GAMMA_PRIM_GREY;Green y primari -TP_GAMMA_PRIM_BLUX;Blue x primari -TP_GAMMA_PRIM_BLUY;Blue y primari -TP_GAMMA_TEMP;Illuminant (icc V4)temp +TP_GAMMA_PRIM_FREE;Custom primaries - ICC v4 +TP_GAMMA_PRIM_REDX;Red x primary +TP_GAMMA_PRIM_REDY;Red y primary +TP_GAMMA_PRIM_GREX;Green x primary +TP_GAMMA_PRIM_GREY;Green y primary +TP_GAMMA_PRIM_BLUX;Blue x primary +TP_GAMMA_PRIM_BLUY;Blue y primary +TP_GAMMA_TEMP;Illuminant (ICC v4) TP_GAMMA_TEMP_DEF;Default TP_GAMMA_TEMP_41;D41 TP_GAMMA_TEMP_50;D50 @@ -1629,11 +1629,11 @@ TP_GAMMA_TEMP_55;D55 TP_GAMMA_TEMP_60;D60 TP_GAMMA_TEMP_65;D65 TP_GAMMA_TEMP_80;D80 -TP_GAMMA_TEMP_INC;Incandescent 2856K -TP_GAMMA_TEMP_TOOLTIP;Only whith generate ICC V4, you can change the illuminant and Free primaries +TP_GAMMA_TEMP_INC;stdA 2856K +TP_GAMMA_TEMP_TOOLTIP;Only whith generate ICC v4, you can change the illuminant and Custom primaries TP_GAMMA_TRCIN;Gamma - TRC TP_GAMMA_TRCIN_NONE;None -TP_GAMMA_TRCIN_FREE;Free +TP_GAMMA_TRCIN_FREE;Custom TP_GAMMA_TRCIN_TOOLTIP;Only for build in profiles TP_GAMMAWORK_GAMMA;Gamma TP_GAMMAWORK_SLOPE;Slope diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index 3477646c2..0e77791ee 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -808,7 +808,7 @@ void Crop::update(int todo) } if (todo & M_INIT) { - if (params.icm.wtrcin == "free") { //exec TRC IN free + if (params.icm.wtrcin == "Custom") { //exec TRC IN free Glib::ustring profile; profile = params.icm.working; diff --git a/rtengine/iccstore.cc b/rtengine/iccstore.cc index 1aba413c1..427459ad5 100644 --- a/rtengine/iccstore.cc +++ b/rtengine/iccstore.cc @@ -199,7 +199,7 @@ cmsHPROFILE createXYZProfile() const double(*wprofiles[])[3] = {xyz_sRGB, xyz_adobe, xyz_prophoto, xyz_widegamut, xyz_bruce, xyz_beta, xyz_best, xyz_rec2020, xyz_ACESp0, xyz_ACESp1};// const double(*iwprofiles[])[3] = {sRGB_xyz, adobe_xyz, prophoto_xyz, widegamut_xyz, bruce_xyz, beta_xyz, best_xyz, rec2020_xyz, ACESp0_xyz, ACESp1_xyz};// const char* wpnames[] = {"sRGB", "Adobe RGB", "ProPhoto", "WideGamut", "BruceRGB", "Beta RGB", "BestRGB", "Rec2020", "ACESp0", "ACESp1"};// -const char* wpgamma[] = {"Free", "BT709_g2.2_s4.5", "sRGB_g2.4_s12.92", "linear_g1.0", "standard_g2.2", "standard_g1.8", "High_g1.3_s3.35", "Low_g2.6_s6.9", "Lab_g3.0s9.03296"}; //gamma free +const char* wpgamma[] = {"Custom", "BT709_g2.2_s4.5", "sRGB_g2.4_s12.92", "linear_g1.0", "standard_g2.2", "standard_g1.8", "High_g1.3_s3.35", "Low_g2.6_s6.9", "Lab_g3.0s9.03296"}; //gamma free //default = gamma inside profile //BT709 g=2.22 s=4.5 sRGB g=2.4 s=12.92 //linear g=1.0 diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index ad3f06de4..ee9f21513 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -486,7 +486,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, Crop* cropCall) progress("Exposure curve & CIELAB conversion...", 100 * readyphase / numofphases); if (todo & M_INIT) { - if (params.icm.wtrcin == "free") { //exec TRC IN free + if (params.icm.wtrcin == "Custom") { //exec TRC IN free Glib::ustring profile; profile = params.icm.working; diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index 7371f928a..5aa66e626 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -3163,7 +3163,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo keyFile ); saveToKeyfile(!pedited || pedited->icm.outputBPC, "Color Management", "OutputBPC", icm.outputBPC, keyFile); - saveToKeyfile(!pedited || pedited->icm.gamma, "Color Management", "Gammafree", icm.gamma, keyFile); + saveToKeyfile(!pedited || pedited->icm.gamma, "Color Management", "GammaCustom", icm.gamma, keyFile); saveToKeyfile(!pedited || pedited->icm.freegamma, "Color Management", "Freegamma", icm.freegamma, keyFile); saveToKeyfile(!pedited || pedited->icm.gampos, "Color Management", "GammaValue", icm.gampos, keyFile); saveToKeyfile(!pedited || pedited->icm.slpos, "Color Management", "GammaSlope", icm.slpos, keyFile); @@ -4197,7 +4197,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) } assignFromKeyfile(keyFile, "Color Management", "OutputBPC", pedited, icm.outputBPC, pedited->icm.outputBPC); - assignFromKeyfile(keyFile, "Color Management", "Gammafree", pedited, icm.gamma, pedited->icm.gamma); + assignFromKeyfile(keyFile, "Color Management", "GammaCustom", pedited, icm.gamma, pedited->icm.gamma); assignFromKeyfile(keyFile, "Color Management", "Freegamma", pedited, icm.freegamma, pedited->icm.freegamma); assignFromKeyfile(keyFile, "Color Management", "GammaValue", pedited, icm.gampos, pedited->icm.gampos); assignFromKeyfile(keyFile, "Color Management", "GammaSlope", pedited, icm.slpos, pedited->icm.slpos); diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index 8ec13ad32..800bfeef5 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -884,7 +884,7 @@ private: //gamma TRC working { - if (params.icm.wtrcin == "free") { //exec TRC IN free + if (params.icm.wtrcin == "Custom") { //exec TRC IN free Glib::ustring profile; profile = params.icm.working; diff --git a/rtgui/icmpanel.cc b/rtgui/icmpanel.cc index 91fba165c..205ea54c0 100644 --- a/rtgui/icmpanel.cc +++ b/rtgui/icmpanel.cc @@ -751,7 +751,7 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) if (pp->icm.wtrcin == "none") { wtrcin->set_active(0); - } else if (pp->icm.wtrcin == "free") { + } else if (pp->icm.wtrcin == "Custom") { wtrcin->set_active(1); } @@ -803,9 +803,9 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) onames->set_sensitive(/*wgamma->get_active_row_number() == 0 &&*/ !pp->icm.freegamma); //"default" wgamma->set_sensitive(pp->icm.freegamma); gampos->set_sensitive(pp->icm.freegamma); - gampos->set_sensitive(pp->icm.gamma == "Free"); + gampos->set_sensitive(pp->icm.gamma == "Custom"); slpos->set_sensitive(pp->icm.freegamma); - slpos->set_sensitive(pp->icm.gamma == "Free"); + slpos->set_sensitive(pp->icm.gamma == "Custom"); updateRenderingIntent(pp->icm.output); wprimaries->set_sensitive(pp->icm.freegamma); wprofile->set_sensitive(pp->icm.freegamma); @@ -987,7 +987,7 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited) if (wtrcin->get_active_row_number() == 0) { pp->icm.wtrcin = "none"; } else if (wtrcin->get_active_row_number() == 1) { - pp->icm.wtrcin = "free"; + pp->icm.wtrcin = "Custom"; } pp->icm.freegamma = freegamma->get_active(); @@ -1399,6 +1399,13 @@ void ICMPanel::GamChanged() if (!batchMode) { onames->set_sensitive(false);//disabled choice + wgamma->show(); + gampos->show(); + slpos->show(); + wprimaries->show(); + wprofile->show(); + wtemp->show(); + wgamma->set_sensitive(true); gampos->set_sensitive(true); slpos->set_sensitive(true); @@ -1409,14 +1416,18 @@ void ICMPanel::GamChanged() if (wprofile->get_active_row_number() == 2) { wtemp->set_sensitive(true); } + priHBox->show(); + prifreeVBox->show(); priHBox->set_sensitive(true); - if (wprimaries->get_active_row_number() == 10) { prifreeVBox->set_sensitive(true); } else { prifreeVBox->set_sensitive(false); } + gaHBox->show(); + profHBox->show(); + tempHBox->show(); gaHBox->set_sensitive(true); profHBox->set_sensitive(true); @@ -1427,17 +1438,29 @@ void ICMPanel::GamChanged() if (!batchMode) { onames->set_sensitive(true); + wgamma->hide(); + gampos->hide(); + slpos->hide(); + wprimaries->hide(); + wprofile->hide(); + wtemp->hide(); + wgamma->set_sensitive(false); gampos->set_sensitive(false); slpos->set_sensitive(false); wprimaries->set_sensitive(false); wprofile->set_sensitive(false); - + if (wprofile->get_active_row_number() != 2) { wtemp->set_sensitive(false); } + priHBox->hide(); + prifreeVBox->hide(); + + gaHBox->hide(); + profHBox->hide(); + tempHBox->hide(); - //wtemp->set_sensitive(false); priHBox->set_sensitive(false); prifreeVBox->set_sensitive(false); @@ -1445,6 +1468,7 @@ void ICMPanel::GamChanged() profHBox->set_sensitive(false); tempHBox->set_sensitive(false); + } } } diff --git a/rtgui/icmpanel.h b/rtgui/icmpanel.h index 45f97e619..859d3a8ea 100644 --- a/rtgui/icmpanel.h +++ b/rtgui/icmpanel.h @@ -45,6 +45,8 @@ class ICMPanel : protected: Gtk::Frame* dcpFrame; + Gtk::Frame* coipFrame; + Adjuster* gampos; Adjuster* slpos; Adjuster* predx;