Demosaicing and pre-processing parameters selectable for each image.
Dark frames subtraction and badpixels file support
Fast loading in editor.
This commit is contained in:
ffsup2
2010-10-30 22:14:47 +02:00
parent 5e7a81f0f1
commit 647dfb8366
153 changed files with 10304 additions and 6407 deletions

View File

@@ -30,8 +30,20 @@ Vignetting::Vignetting () : vigAdd(false) {
radius = Gtk::manage (new Adjuster (M("TP_VIGNETTING_RADIUS"), 0, 100, 1, 50));
radius->setAdjusterListener (this);
strength = Gtk::manage (new Adjuster (M("TP_VIGNETTING_STRENGTH"), 1, 100, 1, 1));
strength->setAdjusterListener (this);
centerX = Gtk::manage (new Adjuster (M("TP_VIGNETTING_CENTER_X"), -100, 100, 1, 0));
centerX->setAdjusterListener (this);
centerY = Gtk::manage (new Adjuster (M("TP_VIGNETTING_CENTER_Y"), -100, 100, 1, 0));
centerY->setAdjusterListener (this);
pack_start (*amount);
pack_start (*radius);
pack_start (*strength);
pack_start (*centerX);
pack_start (*centerY);
show_all();
}
@@ -45,6 +57,9 @@ void Vignetting::read (const ProcParams* pp, const ParamsEdited* pedited) {
amount->setValue (pp->vignetting.amount);
radius->setValue (pp->vignetting.radius);
strength->setValue (pp->vignetting.strength);
centerX->setValue (pp->vignetting.centerX);
centerY->setValue (pp->vignetting.centerY);
enableListener ();
}
@@ -53,6 +68,9 @@ void Vignetting::write (ProcParams* pp, ParamsEdited* pedited) {
pp->vignetting.amount = (int)amount->getValue ();
pp->vignetting.radius = (int)radius->getValue ();
pp->vignetting.strength = (int)strength->getValue ();
pp->vignetting.centerX = (int)centerX->getValue ();
pp->vignetting.centerY = (int)centerY->getValue ();
if (pedited)
pedited->vignetting.amount = amount->getEditedState ();
@@ -62,6 +80,9 @@ void Vignetting::setDefaults (const ProcParams* defParams, const ParamsEdited* p
amount->setDefault (defParams->vignetting.amount);
radius->setDefault (defParams->vignetting.radius);
strength->setDefault (defParams->vignetting.strength);
centerX->setDefault (defParams->vignetting.centerX);
centerY->setDefault (defParams->vignetting.centerY);
if (pedited)
amount->setDefaultEditedState (pedited->vignetting.amount ? Edited : UnEdited);
@@ -72,7 +93,7 @@ void Vignetting::setDefaults (const ProcParams* defParams, const ParamsEdited* p
void Vignetting::adjusterChanged (Adjuster* a, double newval) {
if (listener)
listener->panelChanged (EvVignetting, Glib::ustring::compose ("%1=%3\n%2=%4", M("TP_VIGNETTING_AMOUNT"), M("TP_VIGNETTING_RADIUS"), (int)amount->getValue(), (int)radius->getValue()));
listener->panelChanged (EvVignetting, Glib::ustring::compose ("%1=%5\n%2=%6\n%3=%7\n%4=%8 %9", M("TP_VIGNETTING_AMOUNT"), M("TP_VIGNETTING_RADIUS"), M("TP_VIGNETTING_STRENGTH"), M("TP_VIGNETTING_CENTER"), (int)amount->getValue(), (int)radius->getValue(), (int)strength->getValue(), (int)centerX->getValue(), (int)centerY->getValue()));
}
void Vignetting::setAdjusterBehavior (bool bvadd) {