gimp/plug-ins/metadata
Michael Natterer ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
..
.gitignore Adding Microsoft Windows executables to the .gitignore files 2009-06-19 00:14:17 +02:00
Makefile.am */Makefile.am: merge INCLUDES into AM_CPPFLAGS 2013-06-05 20:48:37 +02:00
README Added placeholder for file properties. 2005-03-04 23:01:48 +00:00
exif-decode.c Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
exif-decode.h Reformatted source code and removed unused prototypes. 2009-06-30 18:41:38 +10:00
gimpxmpmodelentry.c Chain up unconditionally in GObject::constructed() 2012-11-12 21:51:22 +01:00
gimpxmpmodelentry.h Make use of the XMPModel widget interface. 2010-05-14 18:11:53 +10:00
gimpxmpmodeltext.c Chain up unconditionally in GObject::constructed() 2012-11-12 21:51:22 +01:00
gimpxmpmodeltext.h New GtkTextView widget based on the XMPModel widget. 2010-05-14 18:11:53 +10:00
gimpxmpmodelwidget.c Make use of the XMPModel widget interface. 2010-05-14 18:11:53 +10:00
gimpxmpmodelwidget.h Add -fno-common to CFLAGS 2011-03-21 22:51:30 +05:30
interface.c Bug 675069 - "Value" in po-plug-ins/ja.po is conflicted 2013-01-19 22:48:31 +01:00
interface.h Changed XMPModel to GtkTreeStore based object with one custom signal. 2009-08-15 19:47:49 +10:00
metadata.c Remove all calls to g_type_init(), it's deprecated 2013-05-25 22:44:20 +02:00
metadata.h Bug 645456 - Inconsistent window (role) naming scheme 2011-04-08 20:31:34 +02:00
xmp-encode.c Bug 655684 - After saving an image with geotags you cannot... 2012-09-09 00:54:49 +02:00
xmp-encode.h Changed XMPModel to GtkTreeStore based object with one custom signal. 2009-08-15 19:47:49 +10:00
xmp-model.c metadata: Remove ns_prefix decl (it is conditionally used) 2011-10-03 12:55:10 +05:30
xmp-model.h Code cleanup. 2009-12-27 10:03:28 +01:00
xmp-parse.c Corrected spelling errors spotted by Ari Pollak (Mostly fixes bug #683694) 2012-09-10 12:22:12 -04:00
xmp-parse.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
xmp-schemas.c Changed XMPModel to GtkTreeStore based object with one custom signal. 2009-08-15 19:47:49 +10:00
xmp-schemas.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
xmpdump.c Remove all calls to g_type_init(), it's deprecated 2013-05-25 22:44:20 +02:00

README

What is this?
-------------

This is the beginning of an editor for metadata.  It is far from
complete yet.

Current status
--------------
- It does not read metadata, except if there is an XMP block in the
  image file.
- It does not write metadata, it can only export XMP into a separate
  file.
- It does not edit metadata, except for some very limited editing of
  basic scalar types (strings, integers, ...).  It is currently not
  possible to add new properties using the editor (but this can be
  done via the PDB call plug_in_metadata_set_simple()).
- Basically, the current code is only useful for viewing some XMP
  metadata if the image file contains an XMP block.  The import/export
  functions are also supposed to work.  Import merges, so it is
  possible for example to import a license file such as the XMP files
  from Creative Commons in order to apply a license to an image.
- The metadata is saved in a persistent parasite that is overwritten
  after each call.  Caution: the editor should not be open while you
  are trying to test some of the PDB calls, otherwise you would
  discard all changes as soon as you press OK.  This is a problem that
  cannot be solved easily as long as the metadata editor is a plug-in.

How to find test images?
------------------------

The easiest way is to try a Google search for "<?xpacket".  This is
the marker that is used at the beginning of XMP packets.  Many images
or PDF files are incorrectly served as text/plain and therefore
indexed by Google as text files.  By looking for XMP tags such as
"<?xpacket", it is possible to find a large number of files containing
XMP metadata.

Work in progress:
-----------------
- improve XMP code generation (xmp-gen.c) - currently, some structured
  property types are not written back to the buffer, so the round-trip
  decode/encode can silently discard some properties
- add tabs for easy editing of metadata, connect them to the tree
- fix the conversion to/from EXIF (exif-parse.c, exif-gen.c)
- register PDB functions correctly (for setting/getting metadata)
- update the JPEG plug-in

Near future:
- add custom callbacks for editing in the tree, validate entries, ...
- smarter display of rational values, closed sets, ...
- improve the layout of the various tabs

Not-so-near future:
- move some of this stuff into the core

-------------------------------------------------------------------------------
Files modified (2004-08-24):
  configure.in                    (added /plug-ins/metadata/Makefile)
  menus/image-menu.xml.in         (added placeholder "<Image>/File/Info")
  plug-ins/Makefile.am            (added "metadata" in SUBDIRS)
  plug-ins/common/jpeg.c          (changed to get/set metadata through PDB)
New files:
  plug-ins/metadata/Makefile.am   (generates Makefile.in to get a Makefile)
  plug-ins/metadata/metadata.c    (main part: registers the plug-in, etc.)
  plug-ins/metadata/interface.h
  plug-ins/metadata/interface.c   (user interface: widgets and callbacks)
  plug-ins/metadata/xmp-model.h
  plug-ins/metadata/xmp-model.c   (model for the treeview, list of XMP schemas)
  plug-ins/metadata/xmp-parse.h
  plug-ins/metadata/xmp-parse.c   (simple parser for XMP metadata)
  plug-ins/metadata/xmp-gen.h
  plug-ins/metadata/xmp-gen.c     (generates XMP metadata from the tree model)
  plug-ins/metadata/exif-parse.h
  plug-ins/metadata/exif-parse.c  (converts EXIF into the XMP tree model)
  plug-ins/metadata/exif-gen.h
  plug-ins/metadata/exif-gen.c    (generates EXIF metadata from the tree model)