Author: akv
Date: 2010-02-15 23:07:08 +0100 (Mon, 15 Feb 2010)
New Revision: 3239

Modified:
   trunk/src/application.c
Log:
Testing if DCP profile is present.

Modified: trunk/src/application.c
===================================================================
--- trunk/src/application.c     2010-02-15 22:03:54 UTC (rev 3238)
+++ trunk/src/application.c     2010-02-15 22:07:08 UTC (rev 3239)
@@ -46,6 +46,8 @@
 #include "rs-exif.h"
 #include "rs-library.h"                                                        
                                                                            
 #include "lensfun.h"
+#include "rs-profile-factory-model.h"
+#include "rs-profile-camera.h"
 
 static void photo_spatial_changed(RS_PHOTO *photo, RS_BLOB *rs);
 static void photo_profile_changed(RS_PHOTO *photo, gpointer profile, RS_BLOB 
*rs);
@@ -331,6 +333,29 @@
        }
 }
 
+gboolean
+test_dcp_profile(RSProfileFactory *factory, gchar *make_ascii, gchar 
*model_ascii)
+{
+       GtkTreeIter iter;
+       GtkTreeModel *model = GTK_TREE_MODEL(factory->profiles);
+       gchar *unique = g_strdup(rs_profile_camera_find(make_ascii, 
model_ascii));
+       gchar *temp;
+
+       gtk_tree_model_get_iter_first(model, &iter);
+       do {
+               gtk_tree_model_get(model, &iter,
+                                  FACTORY_MODEL_COLUMN_MODEL, &temp,
+                                  -1);
+               if (g_strcmp0(temp, unique) == 0)
+               {
+                       g_free(unique);
+                       return TRUE;
+               }
+       } while ( gtk_tree_model_iter_next(model, &iter));
+       g_free(unique);
+       return FALSE;
+}
+
 /**
  * This is a very simple regression test for Rawstudio. Filenames will be read
  * from "testimages" in the current directory, one filename per line, and a
@@ -355,7 +380,10 @@
        struct lfDatabase *lensdb = lf_db_new ();
        lf_db_load (lensdb);
 
-       printf("basename, load, filetype, thumb, meta, make, a-make, a-model, 
aperture, iso, s-speed, wb, f-length, lensfun camera, lens min focal, lens max 
focal, lens max aperture, lens min aperture, lens id, lens identifier\n");
+       RSProfileFactory *profile_factory = 
g_object_new(RS_TYPE_PROFILE_FACTORY, NULL);
+       rs_profile_factory_load_profiles(profile_factory, PACKAGE_DATA_DIR "/" 
PACKAGE "/profiles/", TRUE, FALSE);
+
+       printf("basename, load, filetype, thumb, meta, make, a-make, a-model, 
aperture, iso, s-speed, wb, f-length, lensfun camera, lens min focal, lens max 
focal, lens max aperture, lens min aperture, lens id, lens identifier, dcp 
profile\n");
        status = g_io_channel_read_line(io, &filename, NULL, NULL, NULL);
        g_strstrip(filename);
 
@@ -384,6 +412,7 @@
                gboolean lens_min_aperture_ok = FALSE;
                gboolean lens_id_ok = FALSE;
                gboolean lens_identifier_ok = FALSE;
+               gboolean dcp_profile_ok = FALSE;
 
                if (rs_filetype_can_load(filename))
                {
@@ -444,12 +473,15 @@
                        if (metadata->lens_identifier)
                                lens_identifier_ok = TRUE;
 
+                       if (test_dcp_profile(profile_factory, 
metadata->make_ascii, metadata->model_ascii))
+                               dcp_profile_ok = TRUE;
+
                        g_object_unref(metadata);
 
                }
 
                basename = g_path_get_basename(filename);
-               printf("%s, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, 
%d, %d, %d, %d, %d, %d\n",
+               printf("%s, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, 
%d, %d, %d, %d, %d, %d, %d\n",
                        basename,
                        load_ok,
                        filetype_ok,
@@ -469,7 +501,8 @@
                        lens_max_aperture_ok,
                        lens_min_aperture_ok,
                        lens_id_ok,
-                       lens_identifier_ok
+                      lens_identifier_ok,
+                      dcp_profile_ok
                );
                sum = load_ok
                        +filetype_ok
@@ -489,9 +522,10 @@
                        +lens_max_aperture_ok
                        +lens_min_aperture_ok
                        +lens_id_ok
-                       +lens_identifier_ok;
+                       +lens_identifier_ok
+                       +dcp_profile_ok;
                good += sum;
-               bad += (19-sum);
+               bad += (20-sum);
 
                g_free(basename);
 


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

Reply via email to