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

Reply via email to