use radio buttons to select between normal and custom pipeline for Fast Export

as suggested by @michaelezra
This commit is contained in:
Alberto Griggio
2017-03-13 16:39:10 +01:00
parent 7a69ff84a4
commit f99da0c1ef
4 changed files with 94 additions and 69 deletions

View File

@@ -38,8 +38,11 @@ ExportPanel::ExportPanel () : listener (nullptr)
labExportTitle->set_alignment(Gtk::ALIGN_START);
pack_start(*labExportTitle, Gtk::PACK_SHRINK, 4);
Gtk::RadioButton::Group pipeline_group;
use_fast_pipeline = Gtk::manage ( new Gtk::RadioButton (pipeline_group, M("EXPORT_USE_FAST_PIPELINE")));
use_normal_pipeline = Gtk::manage ( new Gtk::RadioButton (pipeline_group, M("EXPORT_USE_NORMAL_PIPELINE")));
bypass_box = Gtk::manage(new Gtk::VBox());
bypass_ALL = Gtk::manage ( new Gtk::CheckButton (M("EXPORT_BYPASS_ALL")));
use_fast_pipeline = Gtk::manage ( new Gtk::CheckButton (M("EXPORT_USE_FAST_PIPELINE")));
use_fast_pipeline->set_tooltip_text(M("EXPORT_USE_FAST_PIPELINE_TIP"));
bypass_sharpening = Gtk::manage ( new Gtk::CheckButton (M("EXPORT_BYPASS_SHARPENING")));
bypass_sharpenEdge = Gtk::manage ( new Gtk::CheckButton (M("EXPORT_BYPASS_SHARPENEDGE")));
@@ -98,19 +101,28 @@ ExportPanel::ExportPanel () : listener (nullptr)
// ----------------------------------------------------------------
// start global packing
Gtk::HBox* lblbox = Gtk::manage (new Gtk::HBox ());
lblbox->pack_start (*Gtk::manage (new Gtk::Label (M("EXPORT_PIPELINE"))), Gtk::PACK_SHRINK, 4);
pack_start (*lblbox, Gtk::PACK_SHRINK, 4);
pack_start(*use_fast_pipeline , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_ALL , Gtk::PACK_SHRINK, 4);
pack_start(*Gtk::manage(new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 4);
pack_start(*bypass_sharpening , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_sharpenEdge , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_sharpenMicro , Gtk::PACK_SHRINK, 4);
pack_start(*use_normal_pipeline , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*Gtk::manage(new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 4);
lblbox = Gtk::manage (new Gtk::HBox ());
lblbox->pack_start (*Gtk::manage (new Gtk::Label (M("EXPORT_BYPASS"))), Gtk::PACK_SHRINK, 4);
bypass_box->pack_start (*lblbox, Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_ALL , Gtk::PACK_SHRINK, 4);
// bypass_box->pack_start(*Gtk::manage(new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_sharpening , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_sharpenEdge , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_sharpenMicro , Gtk::PACK_SHRINK, 4);
//pack_start(*bypass_lumaDenoise , Gtk::PACK_SHRINK, 4);
//pack_start(*bypass_colorDenoise , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_defringe , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_dirpyrDenoise, Gtk::PACK_SHRINK, 4);
pack_start(*bypass_sh_hq , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_dirpyrequalizer , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_wavelet , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_defringe , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_dirpyrDenoise, Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_sh_hq , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_dirpyrequalizer , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_wavelet , Gtk::PACK_SHRINK, 4);
bayerFrameVBox->pack_start(*hb_raw_bayer_method, Gtk::PACK_SHRINK, 4);
//bayerFrameVBox->pack_start(*bypass_raw_all_enhance , Gtk::PACK_SHRINK, 4);
@@ -124,12 +136,14 @@ ExportPanel::ExportPanel () : listener (nullptr)
xtransFrameVBox->pack_start(*hb_raw_xtrans_method, Gtk::PACK_SHRINK, 4);
xtransFrame->add(*xtransFrameVBox);
pack_start(*bypass_raw_ccSteps , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_raw_ca , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_raw_ccSteps , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_raw_ca , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_raw_df , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_raw_ff , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_raw_df , Gtk::PACK_SHRINK, 4);
bypass_box->pack_start(*bypass_raw_ff , Gtk::PACK_SHRINK, 4);
pack_start(*bypass_box, Gtk::PACK_SHRINK);
pack_start (*Gtk::manage(new Gtk::HSeparator ()), Gtk::PACK_SHRINK, 2);
// Resize options
@@ -179,6 +193,7 @@ ExportPanel::ExportPanel () : listener (nullptr)
pack_start(*vboxpe, Gtk::PACK_SHRINK, 0);
use_fast_pipeline->signal_toggled().connect(sigc::mem_fun(*this, &ExportPanel::use_fast_pipeline_toggled));
btnFastExport->signal_clicked().connect( sigc::mem_fun(*this, &ExportPanel::FastExportPressed) );
//btnExportLoadSettings->signal_clicked().connect( sigc::mem_fun(*this, &ExportPanel::LoadSettings) );
//btnExportSaveSettings->signal_clicked().connect( sigc::mem_fun(*this, &ExportPanel::SaveSettings) );
@@ -347,6 +362,7 @@ void ExportPanel::LoadDefaultSettings()
MaxHeight->set_value(options.fastexport_resize_height);
use_fast_pipeline->set_active(options.fastexport_use_fast_pipeline);
bypass_box->set_sensitive(!options.fastexport_use_fast_pipeline);
}
void ExportPanel::LoadSettings()
@@ -428,6 +444,11 @@ void ExportPanel::bypassALL_Toggled()
bypass_raw_ffConn.block (false);
}
void ExportPanel::use_fast_pipeline_toggled()
{
bypass_box->set_sensitive(!use_fast_pipeline->get_active());
}
/*
fastexport_bypass_sharpening
fastexport_bypass_sharpenEdge

View File

@@ -36,9 +36,11 @@ class ExportPanel : public Gtk::VBox
protected:
Gtk::VBox *bypass_box;
//Gtk::CheckButton* enabled;
Gtk::RadioButton* use_fast_pipeline;
Gtk::RadioButton* use_normal_pipeline;
Gtk::CheckButton* bypass_ALL;
Gtk::CheckButton* use_fast_pipeline;
Gtk::CheckButton* bypass_sharpenEdge;
Gtk::CheckButton* bypass_sharpenMicro;
Gtk::CheckButton* bypass_sharpening;
@@ -106,6 +108,7 @@ protected:
ExportPanelListener* listener;
void bypassALL_Toggled();
void use_fast_pipeline_toggled();
void SaveSettingsAsDefault();
void LoadDefaultSettings();
void LoadSettings();

View File

@@ -1095,41 +1095,41 @@ void FileCatalog::developRequested (std::vector<FileBrowserEntry*> tbe, bool fas
// and also those which effect is not pronounced after reducing the image size
// TODO!!! could expose selections below via preferences
if (fastmode) {
if (options.fastexport_bypass_sharpening ) {
params.sharpening.enabled = false;
}
if (options.fastexport_bypass_sharpenEdge ) {
params.sharpenEdge.enabled = false;
}
if (options.fastexport_bypass_sharpenMicro ) {
params.sharpenMicro.enabled = false;
}
//if (options.fastexport_bypass_lumaDenoise ) params.lumaDenoise.enabled = false;
//if (options.fastexport_bypass_colorDenoise ) params.colorDenoise.enabled = false;
if (options.fastexport_bypass_defringe ) {
params.defringe.enabled = false;
}
if (options.fastexport_bypass_dirpyrDenoise ) {
params.dirpyrDenoise.enabled = false;
}
if (options.fastexport_bypass_sh_hq ) {
params.sh.hq = false;
}
if (options.fastexport_bypass_dirpyrequalizer ) {
params.dirpyrequalizer.enabled = false;
}
if (options.fastexport_bypass_wavelet ) {
params.wavelet.enabled = false;
}
if (!options.fastexport_use_fast_pipeline) {
if (options.fastexport_bypass_sharpening ) {
params.sharpening.enabled = false;
}
if (options.fastexport_bypass_sharpenEdge ) {
params.sharpenEdge.enabled = false;
}
if (options.fastexport_bypass_sharpenMicro ) {
params.sharpenMicro.enabled = false;
}
//if (options.fastexport_bypass_lumaDenoise ) params.lumaDenoise.enabled = false;
//if (options.fastexport_bypass_colorDenoise ) params.colorDenoise.enabled = false;
if (options.fastexport_bypass_defringe ) {
params.defringe.enabled = false;
}
if (options.fastexport_bypass_dirpyrDenoise ) {
params.dirpyrDenoise.enabled = false;
}
if (options.fastexport_bypass_sh_hq ) {
params.sh.hq = false;
}
if (options.fastexport_bypass_dirpyrequalizer ) {
params.dirpyrequalizer.enabled = false;
}
if (options.fastexport_bypass_wavelet ) {
params.wavelet.enabled = false;
}
//if (options.fastexport_bypass_raw_bayer_all_enhance ) params.raw.bayersensor.all_enhance = false;
if (options.fastexport_bypass_raw_bayer_dcb_iterations ) {
params.raw.bayersensor.dcb_iterations = 0;
@@ -1150,30 +1150,28 @@ void FileCatalog::developRequested (std::vector<FileBrowserEntry*> tbe, bool fas
if (options.fastexport_bypass_raw_bayer_greenthresh ) {
params.raw.bayersensor.greenthresh = 0;
}
}
if (options.fastexport_bypass_raw_ccSteps ) {
params.raw.bayersensor.ccSteps = params.raw.xtranssensor.ccSteps = 0;
}
if (options.fastexport_bypass_raw_ccSteps ) {
params.raw.bayersensor.ccSteps = params.raw.xtranssensor.ccSteps = 0;
}
if (options.fastexport_bypass_raw_ca ) {
params.raw.ca_autocorrect = false;
params.raw.cared = 0;
params.raw.cablue = 0;
}
if (options.fastexport_bypass_raw_ca ) {
params.raw.ca_autocorrect = false;
params.raw.cared = 0;
params.raw.cablue = 0;
}
if (options.fastexport_bypass_raw_df ) {
params.raw.df_autoselect = false;
params.raw.dark_frame = "";
}
if (options.fastexport_bypass_raw_df ) {
params.raw.df_autoselect = false;
params.raw.dark_frame = "";
}
if (options.fastexport_bypass_raw_ff ) {
params.raw.ff_AutoSelect = false;
params.raw.ff_file = "";
}
if (options.fastexport_bypass_raw_ff ) {
params.raw.ff_AutoSelect = false;
params.raw.ff_file = "";
}
if (!options.fastexport_use_fast_pipeline) {
params.raw.bayersensor.method = options.fastexport_raw_bayer_method ;
params.raw.xtranssensor.method = options.fastexport_raw_xtrans_method;
params.icm.input = options.fastexport_icm_input ;