Author: akv
Date: 2013-04-25 23:01:08 +0200 (Thu, 25 Apr 2013)
New Revision: 4364
Modified:
branches/4175-enfuse/src/rs-enfuse.c
Log:
Using options for enfuse based on wanted method.
Modified: branches/4175-enfuse/src/rs-enfuse.c
===================================================================
--- branches/4175-enfuse/src/rs-enfuse.c 2013-04-25 21:00:14 UTC (rev
4363)
+++ branches/4175-enfuse/src/rs-enfuse.c 2013-04-25 21:01:08 UTC (rev
4364)
@@ -35,6 +35,8 @@
#include "rs-metadata.h"
#include "conf_interface.h"
+#define ENFUSE_OPTIONS "-d 16"
+
gboolean has_align_image_stack ();
gint calculate_lightness(RSFilter *filter)
@@ -285,7 +287,7 @@
GString *outname = g_string_new("");
GString *fullpath = NULL;
gchar *align_options = NULL;
- gchar *enfuse_options = g_strdup("-d 16");
+ GString *enfuse_options = g_string_new("");
gboolean extend = TRUE;
gint extend_num = 1;
gfloat extend_step = 2.0;
@@ -294,6 +296,21 @@
gboolean align = DEFAULT_CONF_ENFUSE_ALIGN_IMAGES;
rs_conf_get_boolean_with_default(CONF_ENFUSE_ALIGN_IMAGES, &align,
DEFAULT_CONF_ENFUSE_ALIGN_IMAGES);
+ gint method = 0;
+ if (!rs_conf_get_integer(CONF_ENFUSE_METHOD, &method))
+ method = DEFAULT_CONF_ENFUSE_METHOD;
+
+ gchar *method_options = NULL;
+ if (method == ENFUSE_METHOD_EXPOSURE_BLENDING_ID) {
+ method_options = g_strdup(ENFUSE_OPTIONS_EXPOSURE_BLENDING);
+ } else if (method == ENFUSE_METHOD_FOCUS_STACKING_ID) {
+ method_options = g_strdup(ENFUSE_OPTIONS_FOCUS_STACKING);
+ }
+
+ enfuse_options = g_string_append(enfuse_options, ENFUSE_OPTIONS);
+ enfuse_options = g_string_append(enfuse_options, " ");
+ enfuse_options = g_string_append(enfuse_options, method_options);
+
gchar *first = NULL;
gchar *parsed_filename = NULL;
gchar *temp_filename = g_strdup("/tmp/.rawstudio-temp.png");
@@ -356,8 +373,8 @@
if (quick == FALSE)
gui_progress_advance_one(progress); /* 3 - after aligned images */
- enfuse_images(aligned_names, temp_filename, enfuse_options);
- g_free(enfuse_options);
+ enfuse_images(aligned_names, temp_filename, enfuse_options->str);
+ g_string_free(enfuse_options, TRUE);
if (quick == FALSE)
gui_progress_advance_one(progress); /* 4 - after enfusing */
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit