[Rawstudio-commit] r2998 - branches/rawstudio-ng-color/plugins/meta-tiff
Anders Kvist
anders at kvistmail.dk
Sat Jan 16 01:20:47 CET 2010
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);
+}
More information about the Rawstudio-commit
mailing list