gcmd-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gcmd-dev] Metatags


From: Piotr Eljasiak
Subject: [gcmd-dev] Metatags
Date: Mon, 18 Sep 2006 01:47:44 +0200

Hi folks,

I've managed (at last!) to get working code for metatags extraction.
Currently there are supported 3 classes of metatags: Exif, IPTC and
File. 

Here goes (quite long) list of available metatags:

        Exif.ApertureValue, Exif.Artist, Exif.BatteryLevel,
        Exif.BitsPerSample, Exif.BrightnessValue, Exif.CFAPattern,
        Exif.CFARepeatPatternDim, Exif.ColorSpace,
        Exif.ComponentsConfiguration, Exif.CompressedBitsPerPixel,
        Exif.Compression, Exif.Contrast, Exif.Copyright,
        Exif.CustomRendered, Exif.DateTime, Exif.DateTimeDigitized,
        Exif.DateTimeOriginal, Exif.DeviceSettingDescription,
        Exif.DigitalZoomRatio, Exif.DocumentName, Exif.ExifIfdPointer,
        Exif.ExifVersion, Exif.ExposureBiasValue, Exif.ExposureIndex,
        Exif.ExposureMode, Exif.ExposureProgram, Exif.ExposureTime,
        Exif.FileSource, Exif.FillOrder, Exif.Flash, Exif.FlashEnergy,
        Exif.FlashPixVersion, Exif.FNumber, Exif.FocalLength,
        Exif.FocalLengthIn35mmFilm, Exif.FocalPlaneResolutionUnit,
        Exif.FocalPlaneXResolution, Exif.FocalPlaneYResolution,
        Exif.GainControl, Exif.Gamma, Exif.GPS.Altitude,
        Exif.GPS.AltitudeRef, Exif.GPS.InfoIFDPointer,
        Exif.GPS.Latitude, Exif.GPS.LatitudeRef, Exif.GPS.Longitude,
        Exif.GPS.LongitudeRef, Exif.GPS.VersionID,
        Exif.ImageDescription, Exif.ImageLength, Exif.ImageResources,
        Exif.ImageUniqueID, Exif.ImageWidth,
        Exif.InteroperabilityIFDPointer, Exif.InteroperabilityIndex,
        Exif.InteroperabilityVersion, Exif.InterColorProfile,
        Exif.IPTCNAA, Exif.ISOSpeedRatings, Exif.JPEGInterchangeFormat,
        Exif.JPEGInterchangeFormatLength, Exif.JPEGProc,
        Exif.LightSource, Exif.Make, Exif.MakerNote,
        Exif.MaxApertureValue, Exif.MeteringMode, Exif.Model,
        Exif.CFAPattern, Exif.NewSubfileType, Exif.OECF,
        Exif.Orientation, Exif.PhotometricInterpretation,
        Exif.PixelXDimension, Exif.PixelYDimension,
        Exif.PlanarConfiguration, Exif.PrimaryChromaticities,
        Exif.ReferenceBlackWhite, Exif.RelatedImageFileFormat,
        Exif.RelatedImageLength, Exif.RelatedImageWidth,
        Exif.RelatedSoundFile, Exif.ResolutionUnit, Exif.RowsPerStrip,
        Exif.SamplesPerPixel, Exif.Saturation, Exif.SceneCaptureType,
        Exif.SceneType, Exif.SensingMethod, Exif.Sharpness,
        Exif.ShutterSpeedValue, Exif.Software,
        Exif.SpatialFrequencyResponse, Exif.SpectralSensitivity,
        Exif.StripByteCounts, Exif.StripOffsets, Exif.SubjectArea,
        Exif.SubjectDistance, Exif.SubjectDistanceRange,
        Exif.SubjectLocation, Exif.SubIFDs, Exif.SubsecTime,
        Exif.SubSecTimeDigitized, Exif.SubSecTimeOriginal,
        Exif.TIFF/EPStandardID, Exif.TransferFunction,
        Exif.TransferRange, Exif.UserComment, Exif.WhiteBalance,
        Exif.WhitePoint, Exif.XMLPacket, Exif.XResolution,
        Exif.YCbCrCoefficients, Exif.YCbCrPositioning,
        Exif.YCbCrSubSampling, Exif.YResolution, Exif.Artist,
        Exif.BitsPerSample, Exif.Compression, Exif.Copyright,
        Exif.DateTime, Exif.ImageDescription, Exif.ImageLength,
        Exif.ImageWidth, Exif.JPEGInterchangeFormat,
        Exif.JPEGInterchangeFormatLength, Exif.Make, Exif.Model,
        Exif.Orientation, Exif.PhotometricInterpretation,
        Exif.PlanarConfiguration, Exif.PrimaryChromaticities,
        Exif.ReferenceBlackWhite, Exif.ResolutionUnit,
        Exif.RowsPerStrip, Exif.SamplesPerPixel, Exif.Software,
        Exif.StripByteCounts, Exif.StripOffsets, Exif.TransferFunction,
        Exif.WhitePoint, Exif.XResolution, Exif.YCbCrCoefficients,
        Exif.YCbCrPositioning, Exif.YCbCrSubSampling, Exif.YResolution
        
        Image.Album, Image.CameraMake, Image.CameraModel,
        Image.Comments, Image.Copyright, Image.Creator, Image.Date,
        Image.Description, Image.ExposureProgram, Image.ExposureTime,
        Image.Flash, Image.Fnumber, Image.FocalLength, Image.Height,
        Image.ISOSpeed, Image.Keywords, Image.MeteringMode,
        Image.Orientation, Image.Software, Image.Title,
        Image.WhiteBalance, Image.Width
        
        IPTC.ActionAdvised, IPTC.ARMID, IPTC.ARMVersion,
        IPTC.AudioDuration, IPTC.AudioOutcue, IPTC.AudioSamplingRate,
        IPTC.AudioSamplingRes, IPTC.AudioType, IPTC.Byline,
        IPTC.BylineTitle, IPTC.Caption, IPTC.Category,
        IPTC.CharacterSet, IPTC.City, IPTC.ConfirmedDataSize,
        IPTC.Contact, IPTC.ContentLocCode, IPTC.ContentLocName,
        IPTC.CopyrightNotice, IPTC.CountryCode, IPTC.CountryName,
        IPTC.Credit, IPTC.DateCreated, IPTC.DateSent, IPTC.Destination,
        IPTC.DigitalCreationDate, IPTC.DigitalCreationTime,
        IPTC.EditorialUpdate, IPTC.EditStatus, IPTC.EnvelopeNum,
        IPTC.EnvelopePriority, IPTC.ExpirationDate, IPTC.ExpirationTime,
        IPTC.FileFormat, IPTC.FileVersion, IPTC.FixtureID,
        IPTC.Headline, IPTC.ImageOrientation, IPTC.ImageType,
        IPTC.Keywords, IPTC.LanguageID, IPTC.MaxObjectSize,
        IPTC.MaxSubfileSize, IPTC.ModelVersion, IPTC.ObjectAttribute,
        IPTC.ObjectCycle, IPTC.ObjectName, IPTC.ObjectSizeAnnounced,
        IPTC.ObjectType, IPTC.OriginatingProgram, IPTC.OrigTransRef,
        IPTC.PreviewData, IPTC.PreviewFileFormat,
        IPTC.PreviewFileFormatVer, IPTC.ProductID, IPTC.ProgramVersion,
        IPTC.RasterizedCaption, IPTC.RecordVersion, IPTC.RefDate,
        IPTC.RefNumber, IPTC.RefService, IPTC.ReleaseDate,
        IPTC.ReleaseTime, IPTC.ServiceID, IPTC.SizeMode, IPTC.Source,
        IPTC.SpecialInstructions, IPTC.State, IPTC.Subfile,
        IPTC.SubjectRef, IPTC.Sublocation, IPTC.SupplCategory,
        IPTC.TimeCreated, IPTC.TimeSent, IPTC.UNO, IPTC.Urgency,
        IPTC.WriterEditor
        
        
What is this for?

Currently for advrename only, but I do plan to add this functionality
to:
* file searching
* custom columns
* intview: Exif and IPTC metatags presentation


How to use it?

There is new placeholder added: $T(metatag). Use, for example,
$T(Exif.DateTime) to get image capture date/time and to insert it to new
filename (metatags names are case insensitive, so we could use also
$T(exif.datetime) here). The generic 'Image.' metatags are independent
of the used framework and they provide unified access to image metadata.
Please refer to
http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec for
details on Image.* metatags.


How to get it working?

The code for metatags is available at gcmd-1-3 branch. Additionally
you'll need some installed libraries:
        * libexif >= 0.6.12 for Exif metatags
        * libiptcdata >= 0.2.1 for IPTC metatags

So the usual invocation:
        ./autogen.sh
        make
        make install
        
If everything goes OK, you should see after ./autogen.sh execution:

        ...
        ==========================================
         Ready to build GNOME Commander 1.3.1
        ==========================================
        
        The following settings will be used:
        
          prefix         : /usr/local
          module support : yes
          compiler       : gcc
          CFLAGS         : -g -O2
          LDFLAGS        :
        
        
        Optional file metadata support:
        
          Exif support   : yes
          IPTC support   : yes
          ICC support    : yes
          chm support    : yes
        
        
        The following libraries will be used:
        
          glib     : 2.10.3    in /usr
          gtk+     : 2.8.20    in /usr
          gnome    : 2.14.1    in /usr
          gnomeui  : 2.14.1    in /usr
          gnome-vfs: 2.14.2    in /usr
        
        
        
        Type 'make' to compile and then 'make install' to install
        
        Now type `make' to compile gnome-commander
        

I'd like to add this feature to upcoming 1.2.1, so please do as much
testing as possible. Additionally I'd like to ask for sending me some
files with IPTC tags - unfortunately I don't have many for testing...


I believe that gcmd is one of a very few OMF supporting metatags at the
moment :o))

Please enjoy,
Piotr





reply via email to

[Prev in Thread] Current Thread [Next in Thread]