use radio buttons to select between normal and custom pipeline for Fast Export
as suggested by @michaelezra
This commit is contained in:
@@ -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
|
||||
|
@@ -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();
|
||||
|
@@ -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 ;
|
||||
|
Reference in New Issue
Block a user