Hi

here is a small patch to display the status of the Flash in EXIF data. It is a
very quick and dirty check for tag 0x9209. For Canon CR2 files, the values are
either 0x9 (flash fired) or 0x10 (no flash).

As I am not a C programmer, you should probably review it the patch ;-)

Have fun
Martin
Index: gtk-interface.c
===================================================================
--- gtk-interface.c	(revision 1507)
+++ gtk-interface.c	(working copy)
@@ -256,7 +256,9 @@
 				if (photo->metadata->aperture!=0.0)
 					g_string_append_printf(label, _("F/%.1f "), photo->metadata->aperture);
 				if (photo->metadata->iso!=0)
-					g_string_append_printf(label, _("ISO%d"), photo->metadata->iso);
+					g_string_append_printf(label, _("ISO%d "), photo->metadata->iso);
+				if (photo->metadata->flash<10)
+					g_string_append_printf(label, _("Flash"));
 				gtk_label_set_text(infolabel, label->str);
 				g_string_free(label, TRUE);
 			} else
Index: rawstudio.h
===================================================================
--- rawstudio.h	(revision 1507)
+++ rawstudio.h	(working copy)

 typedef struct {
@@ -171,6 +172,7 @@
 	gfloat aperture;
 	gushort iso;
 	gfloat shutterspeed;
+	guint flash;
 	guint thumbnail_start;
 	guint thumbnail_length;
 	guint preview_start;
Index: tiff-meta.c
===================================================================
--- tiff-meta.c	(revision 1507)
+++ tiff-meta.c	(working copy)
@@ -527,6 +527,9 @@
 				if ((float_temp1 < EXPO_TIME_MAXVAL) && (meta->shutterspeed<0.0))
 					meta->shutterspeed = 1.0/pow(2.0, float_temp1);
 				break;
+			case 0x9209: /* Flash */
+				raw_get_uint(rawfile, offset, &meta->flash);
+				break;
 			case 0x4001: /* white balance for Canon 20D & 350D */
 				raw_get_uint(rawfile, offset, &uint_temp1);
 				switch (valuecount)
_______________________________________________
Rawstudio-dev mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev

Reply via email to