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