Index: trunk/ippTools/src/pxframes.c
===================================================================
--- trunk/ippTools/src/pxframes.c	(revision 8175)
+++ trunk/ippTools/src/pxframes.c	(revision 8187)
@@ -51,5 +51,13 @@
     PS_ASSERT_PTR_NON_NULL(frames, false); \
 \
-    psMetadata *output = psMetadataAlloc(); \
+    bool simple = false; \
+    { \
+        bool status = false; \
+        simple = psMetadataLookupBool(&status, config->args, "-simple"); \
+        if (!status) { \
+            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple"); \
+            return false; \
+        } \
+    } \
 \
     for (long i = 0; i < psArrayLength(frames); i++) { \
@@ -58,16 +66,10 @@
         PS_ASSERT_PTR_NON_NULL(frame->images, false); \
 \
-        for (long j = 0; j < psArrayLength(frame->images); j++) { \
-            imfiletype##Row *image = frame->images->data[j]; \
-            psMetadata *md = imfiletype##MetadataFromObject(image); \
-            psMetadataAddMetadata(output, PS_LIST_TAIL, #imfiletype,  PS_META_DUPLICATE_OK, NULL, md); \
-            psFree(md); \
+        if (!imfiletype##PrintObjects(stdout, frame->images, !simple)) { \
+            psError(PS_ERR_UNKNOWN, false, "failed to print array"); \
+            return false; \
         } \
     } \
-\
-    psString str = psMetadataConfigFormat(output); \
-    psFree(output); \
-    fprintf(stream, "%s\n", str); \
-    psFree(str); \
+    \
 \
     return true; \
