Author: akv
Date: 2013-04-21 18:21:56 +0200 (Sun, 21 Apr 2013)
New Revision: 4350

Modified:
   branches/4175-enfuse/plugins/load-gdk/load-gdk.c
   branches/4175-enfuse/src/rs-enfuse.c
Log:
Using RSE as extension for RawStudio Enfused images. This allows us to use 
16-bit PNG as output without having 'load non-RAW' enabled.

Modified: branches/4175-enfuse/plugins/load-gdk/load-gdk.c
===================================================================
--- branches/4175-enfuse/plugins/load-gdk/load-gdk.c    2013-04-21 15:27:19 UTC 
(rev 4349)
+++ branches/4175-enfuse/plugins/load-gdk/load-gdk.c    2013-04-21 16:21:56 UTC 
(rev 4350)
@@ -173,4 +173,9 @@
        rs_filetype_register_meta_loader(".png", "PNG", rs_gdk_load_meta, 10, 
RS_LOADER_FLAGS_8BIT);
        rs_filetype_register_meta_loader(".tif", "TIFF", rs_gdk_load_meta, 20, 
RS_LOADER_FLAGS_8BIT);
        rs_filetype_register_meta_loader(".tiff", "TIFF", rs_gdk_load_meta, 20, 
RS_LOADER_FLAGS_8BIT);
+
+       /* Our own extension for RS Enfused PNGs */
+       rs_filetype_register_loader(".rse", "JPEG", load_gdk, 10, 
RS_LOADER_FLAGS_RAW);
+       rs_filetype_register_meta_loader(".rse", "PNG", rs_gdk_load_meta, 10, 
RS_LOADER_FLAGS_RAW);
+
 }

Modified: branches/4175-enfuse/src/rs-enfuse.c
===================================================================
--- branches/4175-enfuse/src/rs-enfuse.c        2013-04-21 15:27:19 UTC (rev 
4349)
+++ branches/4175-enfuse/src/rs-enfuse.c        2013-04-21 16:21:56 UTC (rev 
4350)
@@ -291,8 +291,9 @@
 
   gchar *first = NULL;
   gchar *parsed_filename = NULL;
+  gchar *temp_filename = g_strdup("/tmp/.rawstudio-temp.png");
 
-  RS_PROGRESS *progress = gui_progress_new("Enfusing...", 4);
+  RS_PROGRESS *progress = gui_progress_new("Enfusing...", 5);
 
   if (num_selected == 1)
     {
@@ -319,7 +320,7 @@
       fullpath = g_string_append(fullpath, "/");
       fullpath = g_string_append(fullpath, outname->str);
       fullpath = g_string_append(fullpath, "_%2c");
-      fullpath = g_string_append(fullpath, ".png");
+      fullpath = g_string_append(fullpath, ".rse");
       parsed_filename = filename_parse(fullpath->str, g_strdup(first), 0, 
FALSE);
       g_string_free(outname, TRUE);
       g_string_free(fullpath, TRUE);
@@ -343,19 +344,28 @@
 
   gui_progress_advance_one(progress); /* 3 - after aligned images */
 
-  enfuse_images(aligned_names, parsed_filename, enfuse_options);
+  enfuse_images(aligned_names, temp_filename, enfuse_options);
+  g_free(enfuse_options);
 
   gui_progress_advance_one(progress); /* 4 - after enfusing */
 
-  g_free(enfuse_options);
-
-  gui_progress_free(progress);
-
   /* FIXME: should use the photo in the middle as it's averaged between it... 
*/
-  rs_exif_copy(first, parsed_filename, "sRGB", RS_EXIF_FILE_TYPE_PNG);
+  rs_exif_copy(first, temp_filename, "sRGB", RS_EXIF_FILE_TYPE_PNG);
   if (first)
     g_free(first);
 
+  GString *mv = g_string_new("mv ");
+  mv = g_string_append(mv, temp_filename);
+  mv = g_string_append(mv, " ");
+  mv = g_string_append(mv, parsed_filename);
+  printf("command: %s\n", mv->str);
+  if(system(mv->str)); 
+  g_string_free(mv, TRUE);
+
+  gui_progress_advance_one(progress); /* 5 - misc file operations */
+
+  gui_progress_free(progress);
+
   return parsed_filename;
 }
 


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to