Merge branch 'tiff32float' into dev
This commit is contained in:
@@ -578,7 +578,7 @@ void BatchQueue::startProcessing ()
|
||||
}
|
||||
}
|
||||
|
||||
rtengine::ProcessingJob* BatchQueue::imageReady (rtengine::IImage16* img)
|
||||
rtengine::ProcessingJob* BatchQueue::imageReady (rtengine::IImagefloat* img)
|
||||
{
|
||||
|
||||
// save image img
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
return (!fd.empty());
|
||||
}
|
||||
|
||||
rtengine::ProcessingJob* imageReady (rtengine::IImage16* img);
|
||||
rtengine::ProcessingJob* imageReady (rtengine::IImagefloat* img);
|
||||
void error (Glib::ustring msg);
|
||||
void setProgress (double p);
|
||||
void rightClicked (ThumbBrowserEntryBase* entry);
|
||||
|
||||
@@ -1772,9 +1772,9 @@ void EditorPanel::procParamsChanged (Thumbnail* thm, int whoChangedIt)
|
||||
}
|
||||
}
|
||||
|
||||
bool EditorPanel::idle_saveImage (ProgressConnector<rtengine::IImage16*> *pc, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams)
|
||||
bool EditorPanel::idle_saveImage (ProgressConnector<rtengine::IImagefloat*> *pc, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams)
|
||||
{
|
||||
rtengine::IImage16* img = pc->returnValue();
|
||||
rtengine::IImagefloat* img = pc->returnValue();
|
||||
delete pc;
|
||||
|
||||
if ( img ) {
|
||||
@@ -1785,13 +1785,13 @@ bool EditorPanel::idle_saveImage (ProgressConnector<rtengine::IImage16*> *pc, Gl
|
||||
img->setSaveProgressListener (parent->getProgressListener());
|
||||
|
||||
if (sf.format == "tif")
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImage16::saveAsTIFF), fname, sf.tiffBits, sf.tiffUncompressed),
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImagefloat::saveAsTIFF), fname, sf.tiffBits, sf.tiffUncompressed),
|
||||
sigc::bind (sigc::mem_fun (*this, &EditorPanel::idle_imageSaved), ld, img, fname, sf, pparams));
|
||||
else if (sf.format == "png")
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImage16::saveAsPNG), fname, sf.pngBits),
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImagefloat::saveAsPNG), fname, sf.pngBits),
|
||||
sigc::bind (sigc::mem_fun (*this, &EditorPanel::idle_imageSaved), ld, img, fname, sf, pparams));
|
||||
else if (sf.format == "jpg")
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImage16::saveAsJPEG), fname, sf.jpegQuality, sf.jpegSubSamp),
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImagefloat::saveAsJPEG), fname, sf.jpegQuality, sf.jpegSubSamp),
|
||||
sigc::bind (sigc::mem_fun (*this, &EditorPanel::idle_imageSaved), ld, img, fname, sf, pparams));
|
||||
else {
|
||||
delete ld;
|
||||
@@ -1812,7 +1812,7 @@ bool EditorPanel::idle_saveImage (ProgressConnector<rtengine::IImage16*> *pc, Gl
|
||||
return false;
|
||||
}
|
||||
|
||||
bool EditorPanel::idle_imageSaved (ProgressConnector<int> *pc, rtengine::IImage16* img, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams)
|
||||
bool EditorPanel::idle_imageSaved (ProgressConnector<int> *pc, rtengine::IImagefloat* img, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams)
|
||||
{
|
||||
img->free ();
|
||||
|
||||
@@ -1937,7 +1937,7 @@ void EditorPanel::saveAsPressed ()
|
||||
ipc->getParams (&pparams);
|
||||
rtengine::ProcessingJob* job = rtengine::ProcessingJob::create (ipc->getInitialImage(), pparams);
|
||||
|
||||
ProgressConnector<rtengine::IImage16*> *ld = new ProgressConnector<rtengine::IImage16*>();
|
||||
ProgressConnector<rtengine::IImagefloat*> *ld = new ProgressConnector<rtengine::IImagefloat*>();
|
||||
ld->startFunc (sigc::bind (sigc::ptr_fun (&rtengine::processImage), job, err, parent->getProgressListener(), false ),
|
||||
sigc::bind (sigc::mem_fun ( *this, &EditorPanel::idle_saveImage ), ld, fnameOut, sf, pparams));
|
||||
saveimgas->set_sensitive (false);
|
||||
@@ -1981,7 +1981,7 @@ void EditorPanel::sendToGimpPressed ()
|
||||
rtengine::procparams::ProcParams pparams;
|
||||
ipc->getParams (&pparams);
|
||||
rtengine::ProcessingJob* job = rtengine::ProcessingJob::create (ipc->getInitialImage(), pparams);
|
||||
ProgressConnector<rtengine::IImage16*> *ld = new ProgressConnector<rtengine::IImage16*>();
|
||||
ProgressConnector<rtengine::IImagefloat*> *ld = new ProgressConnector<rtengine::IImagefloat*>();
|
||||
ld->startFunc (sigc::bind (sigc::ptr_fun (&rtengine::processImage), job, err, parent->getProgressListener(), false ),
|
||||
sigc::bind (sigc::mem_fun ( *this, &EditorPanel::idle_sendToGimp ), ld, openThm->getFileName() ));
|
||||
saveimgas->set_sensitive (false);
|
||||
@@ -1996,7 +1996,7 @@ bool EditorPanel::saveImmediately (const Glib::ustring &filename, const SaveForm
|
||||
rtengine::ProcessingJob *job = rtengine::ProcessingJob::create (ipc->getInitialImage(), pparams);
|
||||
|
||||
// save immediately
|
||||
rtengine::IImage16 *img = rtengine::processImage (job, err, nullptr, false);
|
||||
rtengine::IImagefloat *img = rtengine::processImage (job, err, nullptr, false);
|
||||
|
||||
int err = 0;
|
||||
|
||||
@@ -2042,10 +2042,10 @@ void EditorPanel::histogramProfile_toggled()
|
||||
colorMgmtToolBar->updateHistogram();
|
||||
}
|
||||
|
||||
bool EditorPanel::idle_sendToGimp ( ProgressConnector<rtengine::IImage16*> *pc, Glib::ustring fname)
|
||||
bool EditorPanel::idle_sendToGimp ( ProgressConnector<rtengine::IImagefloat*> *pc, Glib::ustring fname)
|
||||
{
|
||||
|
||||
rtengine::IImage16* img = pc->returnValue();
|
||||
rtengine::IImagefloat* img = pc->returnValue();
|
||||
delete pc;
|
||||
|
||||
if (img) {
|
||||
@@ -2077,7 +2077,7 @@ bool EditorPanel::idle_sendToGimp ( ProgressConnector<rtengine::IImage16*> *pc,
|
||||
|
||||
ProgressConnector<int> *ld = new ProgressConnector<int>();
|
||||
img->setSaveProgressListener (parent->getProgressListener());
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImage16::saveAsTIFF), fileName, sf.tiffBits, sf.tiffUncompressed),
|
||||
ld->startFunc (sigc::bind (sigc::mem_fun (img, &rtengine::IImagefloat::saveAsTIFF), fileName, sf.tiffBits, sf.tiffUncompressed),
|
||||
sigc::bind (sigc::mem_fun (*this, &EditorPanel::idle_sentToGimp), ld, img, fileName));
|
||||
} else {
|
||||
Glib::ustring msg_ = Glib::ustring ("<b> Error during image processing\n</b>");
|
||||
@@ -2090,7 +2090,7 @@ bool EditorPanel::idle_sendToGimp ( ProgressConnector<rtengine::IImage16*> *pc,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool EditorPanel::idle_sentToGimp (ProgressConnector<int> *pc, rtengine::IImage16* img, Glib::ustring filename)
|
||||
bool EditorPanel::idle_sentToGimp (ProgressConnector<int> *pc, rtengine::IImagefloat* img, Glib::ustring filename)
|
||||
{
|
||||
img->free ();
|
||||
int errore = pc->returnValue();
|
||||
|
||||
@@ -146,10 +146,10 @@ private:
|
||||
void close ();
|
||||
|
||||
BatchQueueEntry* createBatchQueueEntry ();
|
||||
bool idle_imageSaved (ProgressConnector<int> *pc, rtengine::IImage16* img, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams);
|
||||
bool idle_saveImage (ProgressConnector<rtengine::IImage16*> *pc, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams);
|
||||
bool idle_sendToGimp ( ProgressConnector<rtengine::IImage16*> *pc, Glib::ustring fname);
|
||||
bool idle_sentToGimp (ProgressConnector<int> *pc, rtengine::IImage16* img, Glib::ustring filename);
|
||||
bool idle_imageSaved (ProgressConnector<int> *pc, rtengine::IImagefloat* img, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams);
|
||||
bool idle_saveImage (ProgressConnector<rtengine::IImagefloat*> *pc, Glib::ustring fname, SaveFormat sf, rtengine::procparams::ProcParams &pparams);
|
||||
bool idle_sendToGimp ( ProgressConnector<rtengine::IImagefloat*> *pc, Glib::ustring fname);
|
||||
bool idle_sentToGimp (ProgressConnector<int> *pc, rtengine::IImagefloat* img, Glib::ustring filename);
|
||||
void histogramProfile_toggled ();
|
||||
|
||||
|
||||
|
||||
@@ -822,7 +822,7 @@ int processLineParams ( int argc, char **argv )
|
||||
}
|
||||
|
||||
// Process image
|
||||
rtengine::IImage16* resultImage = rtengine::processImage (job, errorCode, nullptr);
|
||||
rtengine::IImagefloat* resultImage = rtengine::processImage (job, errorCode, nullptr);
|
||||
|
||||
if ( !resultImage ) {
|
||||
errors++;
|
||||
|
||||
@@ -40,14 +40,16 @@ SaveFormatPanel::SaveFormatPanel () : listener (nullptr)
|
||||
format->append ("JPEG (8 bit)");
|
||||
format->append ("TIFF (8 bit)");
|
||||
format->append ("TIFF (16 bit)");
|
||||
format->append ("TIFF (32 bit float)");
|
||||
format->append ("PNG (8 bit)");
|
||||
format->append ("PNG (16 bit)");
|
||||
|
||||
fstr[0] = "jpg";
|
||||
fstr[1] = "tif";
|
||||
fstr[2] = "tif";
|
||||
fstr[3] = "png";
|
||||
fstr[3] = "tif";
|
||||
fstr[4] = "png";
|
||||
fstr[5] = "png";
|
||||
|
||||
hb1->attach (*flab, 0, 0, 1, 1);
|
||||
hb1->attach (*format, 1, 0, 1, 1);
|
||||
@@ -121,8 +123,10 @@ void SaveFormatPanel::init (SaveFormat &sf)
|
||||
if (sf.format == "jpg") {
|
||||
format->set_active (0);
|
||||
} else if (sf.format == "png" && sf.pngBits == 16) {
|
||||
format->set_active (4);
|
||||
format->set_active (5);
|
||||
} else if (sf.format == "png" && sf.pngBits == 8) {
|
||||
format->set_active (4);
|
||||
} else if (sf.format == "tif" && sf.tiffBits == 32) {
|
||||
format->set_active (3);
|
||||
} else if (sf.format == "tif" && sf.tiffBits == 16) {
|
||||
format->set_active (2);
|
||||
@@ -146,7 +150,7 @@ SaveFormat SaveFormatPanel::getFormat ()
|
||||
int sel = format->get_active_row_number();
|
||||
sf.format = fstr[sel];
|
||||
|
||||
if (sel == 4) {
|
||||
if (sel == 5) {
|
||||
sf.pngBits = 16;
|
||||
} else {
|
||||
sf.pngBits = 8;
|
||||
@@ -154,6 +158,8 @@ SaveFormat SaveFormatPanel::getFormat ()
|
||||
|
||||
if (sel == 2) {
|
||||
sf.tiffBits = 16;
|
||||
} else if (sel == 3) {
|
||||
sf.tiffBits = 32;
|
||||
} else {
|
||||
sf.tiffBits = 8;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ protected:
|
||||
Gtk::Grid* jpegOpts;
|
||||
Gtk::Label* jpegSubSampLabel;
|
||||
FormatChangeListener* listener;
|
||||
Glib::ustring fstr[5];
|
||||
Glib::ustring fstr[6];
|
||||
Gtk::CheckButton* savesPP;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user