Author: akv
Date: 2010-01-16 01:20:47 +0100 (Sat, 16 Jan 2010)
New Revision: 2998
Modified:
branches/rawstudio-ng-color/plugins/meta-tiff/tiff-meta.c
Log:
Moved generating of lens identifier to generate_lens_identifier().
Modified: branches/rawstudio-ng-color/plugins/meta-tiff/tiff-meta.c
===================================================================
--- branches/rawstudio-ng-color/plugins/meta-tiff/tiff-meta.c 2010-01-16
00:18:58 UTC (rev 2997)
+++ branches/rawstudio-ng-color/plugins/meta-tiff/tiff-meta.c 2010-01-16
00:20:47 UTC (rev 2998)
@@ -68,6 +68,7 @@
static gboolean thumbnail_reader(const gchar *service, RAWFILE *rawfile, guint
offset, guint length, RSMetadata *meta);
static gboolean thumbnail_store(GdkPixbuf *pixbuf, RSMetadata *meta);
static GdkPixbuf* raw_thumbnail_reader(const gchar *service, RSMetadata *meta);
+static void generate_lens_identifier(RSMetadata *meta);
typedef enum tiff_field_type
{
@@ -217,7 +218,7 @@
/* Lens ID */
raw_get_short(rawfile, ifd.value_offset+44,
&temp);
- gfloat lens_id = (gfloat) temp;
+ meta->lens_id = (gfloat) temp;
/* Focalunits */
raw_get_short(rawfile, ifd.value_offset+50,
&focalunits);
@@ -237,21 +238,6 @@
/* Min Aperture */
raw_get_short(rawfile, ifd.value_offset+54,
&temp);
meta->lens_min_aperture = (gfloat)
exp(CanonEv(temp)*log(2)/2);
-
- /* Build identifier string */
- GString *identifier = g_string_new("");
- if (lens_id > 0)
- g_string_append_printf(identifier,
"ID:%.1f ",lens_id);
- if (meta->lens_max_focal > 0)
- g_string_append_printf(identifier,
"maxF:%.0f ",meta->lens_max_focal);
- if (meta->lens_min_focal > 0)
- g_string_append_printf(identifier,
"minF:%.0f ",meta->lens_min_focal);
- if (meta->lens_max_aperture > 0)
- g_string_append_printf(identifier,
"maxF:%.1f ",meta->lens_max_aperture);
- if (meta->lens_min_aperture > 0)
- g_string_append_printf(identifier,
"minF:%.0f ",meta->lens_min_aperture);
- meta->lens_identifier =
g_strdup(identifier->str);
- g_string_free(identifier, TRUE);
}
break;
case 0x0004: /* CanonShotInfo */
@@ -1126,6 +1112,9 @@
}
}
+ /* Generate lens identifier */
+ generate_lens_identifier(meta);
+
return TRUE;
}
@@ -1560,3 +1549,32 @@
rs_filetype_register_meta_loader(".tiff", "Generic TIFF meta loader",
tiff_load_meta, 10);
}
+
+void generate_lens_identifier(RSMetadata *meta)
+{
+ /* Build identifier string */
+ GString *identifier = g_string_new("");
+ if (meta->lens_id > 0)
+ g_string_append_printf(identifier, "ID:%.1f ",meta->lens_id);
+ if (meta->lens_max_focal > 0)
+ g_string_append_printf(identifier, "maxF:%.0f
",meta->lens_max_focal);
+ if (meta->lens_min_focal > 0)
+ g_string_append_printf(identifier, "minF:%.0f
",meta->lens_min_focal);
+ if (meta->lens_max_aperture > 0)
+ g_string_append_printf(identifier, "maxF:%.1f
",meta->lens_max_aperture);
+ if (meta->lens_min_aperture > 0)
+ g_string_append_printf(identifier, "minF:%.0f
",meta->lens_min_aperture);
+ if (strlen(identifier->str) > 0)
+ meta->lens_identifier = g_strdup(identifier->str);
+ else
+ {
+ /* Most likely a hacked compact */
+ if (meta->make_ascii > 0)
+ g_string_append_printf(identifier, "make:%s
",meta->make_ascii);
+ if (meta->model_ascii > 0)
+ g_string_append_printf(identifier, "model:%s
",meta->model_ascii);
+ if (strlen(identifier->str) > 0)
+ meta->lens_identifier = g_strdup(identifier->str);
+ }
+ g_string_free(identifier, TRUE);
+}
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit