merge with dev
This commit is contained in:
@@ -37,7 +37,7 @@ using namespace rtengine::procparams;
|
||||
|
||||
Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, CacheImageData* cf)
|
||||
: fname(fname), cfs(*cf), cachemgr(cm), ref(1), enqueueNumber(0), tpp(nullptr),
|
||||
pparamsValid(false), needsReProcessing(true), imageLoading(false), lastImg(nullptr),
|
||||
pparamsValid(false), imageLoading(false), lastImg(nullptr),
|
||||
lastW(0), lastH(0), lastScale(0), initial_(false)
|
||||
{
|
||||
|
||||
@@ -65,7 +65,7 @@ Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, CacheImageDa
|
||||
|
||||
Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, const std::string& md5)
|
||||
: fname(fname), cachemgr(cm), ref(1), enqueueNumber(0), tpp(nullptr), pparamsValid(false),
|
||||
needsReProcessing(true), imageLoading(false), lastImg(nullptr),
|
||||
imageLoading(false), lastImg(nullptr),
|
||||
lastW(0), lastH(0), lastScale(0.0), initial_(true)
|
||||
{
|
||||
|
||||
@@ -155,7 +155,6 @@ void Thumbnail::_generateThumbnailImage ()
|
||||
tpp->getAutoWBMultipliers(cfs.redAWBMul, cfs.greenAWBMul, cfs.blueAWBMul);
|
||||
_saveThumbnail ();
|
||||
cfs.supported = true;
|
||||
needsReProcessing = true;
|
||||
|
||||
cfs.save (getCacheFileName ("data", ".txt"));
|
||||
|
||||
@@ -368,7 +367,6 @@ void Thumbnail::clearProcParams (int whoClearedIt)
|
||||
|
||||
cfs.recentlySaved = false;
|
||||
pparamsValid = false;
|
||||
needsReProcessing = true;
|
||||
|
||||
//TODO: run though customprofilebuilder?
|
||||
// probably not as this is the only option to set param values to default
|
||||
@@ -413,34 +411,60 @@ void Thumbnail::clearProcParams (int whoClearedIt)
|
||||
}
|
||||
}
|
||||
|
||||
bool Thumbnail::hasProcParams ()
|
||||
bool Thumbnail::hasProcParams () const
|
||||
{
|
||||
|
||||
return pparamsValid;
|
||||
}
|
||||
|
||||
void Thumbnail::setProcParams (const ProcParams& pp, ParamsEdited* pe, int whoChangedIt, bool updateCacheNow)
|
||||
void Thumbnail::setProcParams (const ProcParams& pp, ParamsEdited* pe, int whoChangedIt, bool updateCacheNow, bool resetToDefault)
|
||||
{
|
||||
const bool needsReprocessing =
|
||||
resetToDefault
|
||||
|| pparams.toneCurve != pp.toneCurve
|
||||
|| pparams.labCurve != pp.labCurve
|
||||
|| pparams.localContrast != pp.localContrast
|
||||
|| pparams.rgbCurves != pp.rgbCurves
|
||||
|| pparams.colorToning != pp.colorToning
|
||||
|| pparams.vibrance != pp.vibrance
|
||||
|| pparams.wb != pp.wb
|
||||
|| pparams.colorappearance != pp.colorappearance
|
||||
|| pparams.epd != pp.epd
|
||||
|| pparams.fattal != pp.fattal
|
||||
|| pparams.sh != pp.sh
|
||||
|| pparams.crop != pp.crop
|
||||
|| pparams.coarse != pp.coarse
|
||||
|| pparams.commonTrans != pp.commonTrans
|
||||
|| pparams.rotate != pp.rotate
|
||||
|| pparams.distortion != pp.distortion
|
||||
|| pparams.lensProf != pp.lensProf
|
||||
|| pparams.perspective != pp.perspective
|
||||
|| pparams.gradient != pp.gradient
|
||||
|| pparams.pcvignette != pp.pcvignette
|
||||
|| pparams.cacorrection != pp.cacorrection
|
||||
|| pparams.vignetting != pp.vignetting
|
||||
|| pparams.chmixer != pp.chmixer
|
||||
|| pparams.blackwhite != pp.blackwhite
|
||||
|| pparams.icm != pp.icm
|
||||
|| pparams.hsvequalizer != pp.hsvequalizer
|
||||
|| pparams.filmSimulation != pp.filmSimulation
|
||||
|| pparams.softlight != pp.softlight
|
||||
|| pparams.dehaze != pp.dehaze;
|
||||
|
||||
{
|
||||
MyMutex::MyLock lock(mutex);
|
||||
|
||||
if (pparams.sharpening.threshold.isDouble() != pp.sharpening.threshold.isDouble()) {
|
||||
printf("WARNING: Sharpening different!\n");
|
||||
}
|
||||
|
||||
if (pparams.vibrance.psthreshold.isDouble() != pp.vibrance.psthreshold.isDouble()) {
|
||||
printf("WARNING: Vibrance different!\n");
|
||||
}
|
||||
|
||||
if (pparams != pp) {
|
||||
cfs.recentlySaved = false;
|
||||
} else if (pparamsValid && !updateCacheNow) {
|
||||
// nothing to do
|
||||
return;
|
||||
}
|
||||
|
||||
// do not update rank, colorlabel and inTrash
|
||||
int rank = getRank();
|
||||
int colorlabel = getColorLabel();
|
||||
int inTrash = getStage();
|
||||
const int rank = getRank();
|
||||
const int colorlabel = getColorLabel();
|
||||
const int inTrash = getStage();
|
||||
|
||||
if (pe) {
|
||||
pe->combine(pparams, pp, true);
|
||||
@@ -449,24 +473,24 @@ void Thumbnail::setProcParams (const ProcParams& pp, ParamsEdited* pe, int whoCh
|
||||
}
|
||||
|
||||
pparamsValid = true;
|
||||
needsReProcessing = true;
|
||||
|
||||
setRank(rank);
|
||||
setColorLabel(colorlabel);
|
||||
setStage(inTrash);
|
||||
|
||||
if (updateCacheNow) {
|
||||
updateCache ();
|
||||
updateCache();
|
||||
}
|
||||
|
||||
} // end of mutex lock
|
||||
|
||||
for (size_t i = 0; i < listeners.size(); i++) {
|
||||
listeners[i]->procParamsChanged (this, whoChangedIt);
|
||||
if (needsReprocessing) {
|
||||
for (size_t i = 0; i < listeners.size(); i++) {
|
||||
listeners[i]->procParamsChanged (this, whoChangedIt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool Thumbnail::isRecentlySaved ()
|
||||
bool Thumbnail::isRecentlySaved () const
|
||||
{
|
||||
|
||||
return cfs.recentlySaved;
|
||||
@@ -495,17 +519,17 @@ void Thumbnail::imageRemovedFromQueue ()
|
||||
enqueueNumber--;
|
||||
}
|
||||
|
||||
bool Thumbnail::isEnqueued ()
|
||||
bool Thumbnail::isEnqueued () const
|
||||
{
|
||||
|
||||
return enqueueNumber > 0;
|
||||
}
|
||||
|
||||
bool Thumbnail::isPixelShift ()
|
||||
bool Thumbnail::isPixelShift () const
|
||||
{
|
||||
return cfs.isPixelShift;
|
||||
}
|
||||
bool Thumbnail::isHDR ()
|
||||
bool Thumbnail::isHDR () const
|
||||
{
|
||||
return cfs.isHDR;
|
||||
}
|
||||
@@ -694,13 +718,13 @@ void Thumbnail::generateExifDateTimeStrings ()
|
||||
dateTimeString = ostr.str ();
|
||||
}
|
||||
|
||||
const Glib::ustring& Thumbnail::getExifString ()
|
||||
const Glib::ustring& Thumbnail::getExifString () const
|
||||
{
|
||||
|
||||
return exifString;
|
||||
}
|
||||
|
||||
const Glib::ustring& Thumbnail::getDateTimeString ()
|
||||
const Glib::ustring& Thumbnail::getDateTimeString () const
|
||||
{
|
||||
|
||||
return dateTimeString;
|
||||
@@ -798,7 +822,6 @@ int Thumbnail::infoFromImage (const Glib::ustring& fname, std::unique_ptr<rtengi
|
||||
void Thumbnail::_loadThumbnail(bool firstTrial)
|
||||
{
|
||||
|
||||
needsReProcessing = true;
|
||||
tw = -1;
|
||||
th = options.maxThumbnailHeight;
|
||||
delete tpp;
|
||||
|
Reference in New Issue
Block a user