Blame README-SAMPLES.md

Packit Service 21b5d1
![Exiv2](exiv2.png)
Packit Service 21b5d1
Packit Service 21b5d1
# Exiv2 Sample Applications
Packit Service 21b5d1
Packit Service 21b5d1
Exiv2 is a C++ library and a command line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata.  Exiv2 also features a collection of sample and test command-line programs.  Please be aware that while the program _**exiv2**_ enjoys full support from Team Exiv2, the other programs have been written for test, documentation or development purposes.  You are expected to read the code to discover the specification of programs other than _**exiv2**_.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
### Sample Programs
Packit Service 21b5d1
Packit Service 21b5d1
| Name | Purpose | More information | Code |
Packit Service 21b5d1
|:---  |:---  |:---              |:-- |
Packit Service 21b5d1
| _**addmoddel**_   | Demonstrates Exiv2 library APIs to add, modify or delete metadata | [addmoddel](#addmoddel) | [addmoddel.cpp](samples/addmoddel.cpp) |
Packit Service 21b5d1
| _**exifcomment**_ | Set Exif.Photo.UserComment in an image  | [exifcomment](#exifcomment) | [exifcomment.cpp](samples/exifcomment.cpp) |
Packit Service 21b5d1
| _**exifdata**_    | Prints _**Exif**_ metadata in different formats in an image | [exifdata](#exifdata) | [exifdata.cpp](samples/exifdata.cpp) |
Packit Service 21b5d1
| _**exifprint**_   | Print _**Exif**_ metadata in images
Miscelleous other features | [exifprint](#exifprint)| [exifprint.cpp](samples/exifprint.cpp) |
Packit Service 21b5d1
| _**exifvalue**_   | Prints the value of a single _**Exif**_ tag in a file | [exifvalue](#exifvalue) | [exifvalue.cpp](samples/exifvalue.cpp) |
Packit Service 21b5d1
| _**exiv2**_       | Command line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata.
This is the primary test tool used by Team Exiv2 and can exercise almost all code in the library. Due to the extensive capability of this utility, the APIs used are usually less obvious for casual code inspection. | [https://exiv2.org/manpage.html](https://exiv2.org/manpage.html)
[https://exiv2.org/sample.html](https://exiv2.org/sample.html) | |
Packit Service 21b5d1
| _**exiv2json**_   | Extracts data from image in JSON format.
This program also contains a parser to recursively parse Xmp metadata into vectors and objects. | [exiv2json](#exiv2json) | [exiv2json.cpp](samples/exiv2json.cpp) |
Packit Service 21b5d1
| _**geotag**_      | Reads GPX data and updates images with GPS Tags | [geotag](#geotag) | [geotag.cpp](samples/geotag.cpp) |
Packit Service 21b5d1
| _**iptceasy**_    | Demonstrates read, set or modify IPTC metadata | [iptceasy](#iptceasy) | [iptceasy.cpp](samples/iptceasy.cpp) |
Packit Service 21b5d1
| _**iptcprint**_   | Demonstrates Exiv2 library APIs to print Iptc data | [iptceasy](#iptceasy) | [iptcprint.cpp](samples/iptcprint.cpp) |
Packit Service 21b5d1
| _**metacopy**_    | Demonstrates copying metadata from one image to another | [metacopy](#metacopy) | [metacopy.cpp](samples/metacopy.cpp) |
Packit Service 21b5d1
| _**mrwthumb**_    | Sample program to extract a Minolta thumbnail from the makernote | [mrwthumb](#mrwthumb) | [mrwthumb.cpp](samples/mrwthumb.cpp) |
Packit Service 21b5d1
| _**xmpparse**_    | Read an XMP packet from a file, parse it and print all (known) properties. | [xmpparse](#xmpparse) | [xmpparse.cpp](samples/xmpparse.cpp) |
Packit Service 21b5d1
| _**xmpprint**_    | Read an XMP from a file, parse it and print all (known) properties.. | [xmpprint](#xmpprint) | [xmpprint.cpp](samples/xmpprint.cpp) |
Packit Service 21b5d1
| _**xmpsample**_   | Demonstrates Exiv2 library high level XMP classes | [xmpsample](#xmpsample) | [xmpsample.cpp](samples/exmpsample.cpp) |
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
### Test Programs
Packit Service 21b5d1
Packit Service 21b5d1
As Exiv2 is open source, we publish all our materials.  Some of the following programs are actively used in our test harness.  Some of the following programs were written during the development of features and their on-going use may be limited, or even obsolete.  In general these programs are published as source and Team Exiv2 will not provide support to users.
Packit Service 21b5d1
Packit Service 21b5d1
| Name | Kind | More information |
Packit Service 21b5d1
|:---  |:---  |:---              |
Packit Service 21b5d1
| _**conntest**_ | Test http/https/ftp/ssh/sftp connection | [conntest](#conntest) |
Packit Service 21b5d1
| _**convert-test**_ | Conversion test driver | [convert-test](#convert-test) |
Packit Service 21b5d1
| _**easyaccess-test**_ | Sample program using high-level metadata access functions | [easyaccess-test](#easyaccess-test) |
Packit Service 21b5d1
| _**getopt-test**_ | Sample program to test getopt() | [getopt-test](#getopt-test) |
Packit Service 21b5d1
| _**ini-test**_ | Shows simple usage of the INIReader class | [ini-test](#ini-test) |
Packit Service 21b5d1
| _**iotest**_ | Test programs for BasicIo functions. | [iotest](#iotest) |
Packit Service 21b5d1
| _**iptctest**_ | Sample program test Iptc reading and writing. | [iptctest](#iptctest) |
Packit Service 21b5d1
| _**key-test**_ | Key unit tests | [key-test](#key-test) |
Packit Service 21b5d1
| _**largeiptc-test**_ | Test for large (>65535 bytes) IPTC buffer | [largeiptc-test](#largeiptc-test) |
Packit Service 21b5d1
| _**mmap-test**_ | Simple mmap tests | [mmap-test](#mmap-test) |
Packit Service 21b5d1
| _**path-test**_ | Test path IO | [path-test](#path-test) |
Packit Service 21b5d1
| _**prevtest**_ | Test access to preview images | [prevtest](#prevtest) |
Packit Service 21b5d1
| _**remotetest**_ | Tester application for testing remote i/o. | [remotetest](#remotetest) |
Packit Service 21b5d1
| _**stringto-test**_ | Test conversions from string to long, float and Rational types. | [stringto-test](#stringto-test) |
Packit Service 21b5d1
| _**taglist**_ | Print a simple comma separated list of tags defined in Exiv2 | [taglist](#taglist) |
Packit Service 21b5d1
| _**tiff-test**_ | Simple TIFF write test | [tiff-test](#tiff-test) |
Packit Service 21b5d1
| _**werror-test**_ | Simple tests for the wide-string error class WError | [werror-test](#werror-test) |
Packit Service 21b5d1
| _**write-test**_ | ExifData write unit tests | [write-test](#write-test) |
Packit Service 21b5d1
| _**write2-test**_ | ExifData write unit tests for Exif data created from scratch | [write2-test](#write2-test) |
Packit Service 21b5d1
| _**xmpdump**_ | Sample program to dump the XMP packet of an image | [xmpdump](#xmpdump) |
Packit Service 21b5d1
| _**xmpparser-test**_ | Read an XMP packet from a file, parse and re-serialize it. | [xmpparser-test](#xmpparser-test) |
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
## 2 Sample Program Descriptions
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### addmoddel
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: addmoddel file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Demonstrates Exiv2 library APIs to add, modify or delete metadata.  _Code: [addmoddel.cpp](samples/addmoddel.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### exifcomment
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: exifcomment file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
This is a simple program that demonstrates how to set _**Exif.Photo.UserComment**_ in an image. _Code: [exifcomment.cpp](samples/exifcomment.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
### exifdata
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: exifdata file format
Packit Service 21b5d1
formats: csv | json | wolf | xml
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
This is a simple program to demonstrate dumping _**Exif**_ metadata in common formats.  _Code: [exifdata.cpp](samples/exifdata.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### exifprint
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: exifprint [ file | --version | --version-test ]
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
| Arguments | Description |
Packit Service 21b5d1
|:--        |:---  |
Packit Service 21b5d1
| file    | Path to image |
Packit Service 21b5d1
| --version     | Print version information from build |
Packit Service 21b5d1
| --version-test   | Tests Exiv2 VERSION API |
Packit Service 21b5d1
Packit Service 21b5d1
This program demonstrates how to print _**Exif**_ metadata in an image.  This program is also discussed in the platform ReadMe.txt file included in a build bundle.  The option **--version** was added enable the user to build a test application which dumps the build information.  The option **--version-test** was added to test the macro EXIV2\_TEST\_VERSION() in **include/exiv2/version.hpp**.
Packit Service 21b5d1
Packit Service 21b5d1
There is one other unique feature of this program.  It is the only test/sample program which can use the EXV\_UNICODE\_PATH build feature of Exiv2 on Windows.
Packit Service 21b5d1
Packit Service 21b5d1
_Code: [exifprint.cpp](samples/exifprint.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### exifvalue
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: exifvalue file tag
Packit Service 21b5d1
```
Packit Service 21b5d1
Prints the value of a single _**Exif**_ tag in a file. _Code: [exifvalue.cpp](samples/exifvalue.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### exiv2json
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: exiv2json [-option] file
Packit Service 21b5d1
Option: all | exif | iptc | xmp | filesystem
Packit Service 21b5d1
```
Packit Service 21b5d1
| Arguments | Description |
Packit Service 21b5d1
|:--        |:---  |
Packit Service 21b5d1
| all      | All metadata |
Packit Service 21b5d1
| filesystem    | Filesystem metadata |
Packit Service 21b5d1
| exif     | Exif metadata |
Packit Service 21b5d1
| iptc     | Iptc metadata |
Packit Service 21b5d1
| xmp      | Xmp metadata |
Packit Service 21b5d1
| file   | path to image |
Packit Service 21b5d1
Packit Service 21b5d1
This program dumps metadata from an image in JSON format. _Code: [exiv2json.cpp](samples/exiv2json.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
exiv2json has a recursive parser to encode XMP into Vectors and Objects.  XMP data is XMP and can contain XMP `Bag` and `Seq` which are converted to JSON Objects and Arrays.  Exiv2 presents data in the format:  Family.Group.Tag.  For XMP, results in "flat" output such such as:
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
$ exiv2 -px ~/Stonehenge.jpg
Packit Service 21b5d1
Xmp.xmp.Rating                               XmpText     1  0
Packit Service 21b5d1
Xmp.xmp.ModifyDate                           XmpText    25  2015-07-16T20:25:28+01:00
Packit Service 21b5d1
Xmp.dc.description                           LangAlt     1  lang="x-default" Classic View
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
exiv2json parses the Exiv2 'Family.Group.Tag' data and restores the structure of the original data in JSON.  _Code: [exiv2json.cpp](samples/exiv2json.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
$ exiv2json -xmp http://clanmills.com/Stonehenge.jpg
Packit Service 21b5d1
{
Packit Service 21b5d1
  "Xmp": {
Packit Service 21b5d1
    "xmp": {
Packit Service 21b5d1
      "Rating": "0",
Packit Service 21b5d1
      "ModifyDate": "2015-07-16T20:25:28+01:00"
Packit Service 21b5d1
    },
Packit Service 21b5d1
    "dc": {
Packit Service 21b5d1
      "description": {
Packit Service 21b5d1
        "lang": {
Packit Service 21b5d1
          "x-default": "Classic View"
Packit Service 21b5d1
        }
Packit Service 21b5d1
      }
Packit Service 21b5d1
    },
Packit Service 21b5d1
    "xmlns": {
Packit Service 21b5d1
      "dc": "http:\/\/purl.org\/dc\/elements\/1.1\/",
Packit Service 21b5d1
      "xmp": "http:\/\/ns.adobe.com\/xap\/1.0\/"
Packit Service 21b5d1
    }
Packit Service 21b5d1
  }
Packit Service 21b5d1
}
Packit Service 21b5d1
$
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### geotag
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: geotag {-help|-version|-dst|-dryrun|-ascii|-verbose|-adjust value|-tz value|-delta value}+ path+
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Geotag reads one or more GPX files and adds GPS Tages to images.  _Code: [geotag.cpp](samples/geotag.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
If the path is a directory, geotag will read all the files in the directory.  It constructs a time dictionary of position data, then updates every image with GPS Tags.
Packit Service 21b5d1
Packit Service 21b5d1
| Arguments | Description |
Packit Service 21b5d1
|:--        |:---  |
Packit Service 21b5d1
| -ascii    | Output in ascii (not UTF8).  Prints `deg` instead of °. |
Packit Service 21b5d1
| -dst      | Apply 1 hour adjustment for daylight saving time. |
Packit Service 21b5d1
| -dryrun   | Read arguments and print report.  Does not modify images. |
Packit Service 21b5d1
| -verbose  | Report progress. |
Packit Service 21b5d1
| -adjust  value | Add/subtract time from image data. |
Packit Service 21b5d1
| -tz      value | Specify time zone. For example PST = -8:00 |
Packit Service 21b5d1
| -delta   value | Correction between Image DataTime and GPS time. |
Packit Service 21b5d1
Packit Service 21b5d1
I use this program frequently.  I have a little Canon camera which I take when I run.  My Samsung Galaxy Watch uploads my runs to Strava and I download the GPX.  If I'm in another time-zone and have forgotten to change the time setting in the camera, I use `-adjust` to alter the images.  The GPX time is always correct, however the camera is normally off by seconds or minutes.  This option enables you to correct for inaccuracy in the setting of the camera time.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### iptceasy
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: iptceasy file
Packit Service 21b5d1
Reads and writes raw metadata. Use -h option for help.
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Demonstrates read, set or modify IPTC metadata. _Code: [iptceasy.cpp](samples/iptceasy.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### iptcprint
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: iptcprint file
Packit Service 21b5d1
Reads and writes raw metadata. Use -h option for help.
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Demonstrates Exiv2 library APIs to print Iptc data. _Code: [iptcprint.cpp](samples/iptcprint.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### metacopy
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: metacopy [-iecaph] readfile writefile
Packit Service 21b5d1
Reads and writes raw metadata. Use -h option for help.
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Metacopy is used to copy a complete metadata block from one file to another.  _Code: [metacopy.cpp](samples/metacopy.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
Please note that some metadata such as Exif.Photo.PixelXDimension is considered to be part of the image and will not be copied.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### mrwthumb
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: mrwthumb file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Sample program to extract a Minolta thumbnail from the makernote. _Code: [mrwthumb.cpp](samples/mrwthumb.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### xmpparse
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: xmpparse file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Read an XMP packet from a file, parse it and print all (known) properties.  _Code: [xmpparse.cpp](samples/xmpparse.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### xmpprint
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: xmpprint file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Read an XMP from a file, parse it and print all (known) properties. _Code: [xmpprint.cpp](samples/xmpprint.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### xmpsample
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: xmpsample file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Demonstrates Exiv2 library high level XMP classes.  _Code: [xmpsample.cpp](samples/xmpsample.cpp)_
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
## 3 Test Program Descriptions
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### conntest
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: conntest url {-http1_0}
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Test http/https/ftp/ssh/sftp connection
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### convert-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: convert-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Conversion test driver
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### easyaccess-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: easyaccess-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Sample program using high-level metadata access functions
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### getopt-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: getopt-test
Packit Service 21b5d1
```
Packit Service 21b5d1
This program is used to test the function **getopt()**.  Prior to Exiv2 v0.27, the sample programs used the platform's C Runtime Library function **getopt()**.  Visual Studio builds used code in src/getopt.cpp.  Due to differences in the platform **getopt()**, the code in src/getopt.cpp was modified and adopted on every platforms.  This test program was added for test and debug purpose.  Please note that src/getopt.cpp is compiled and linked into the sample application and is not part of the Exiv2 library.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### ini-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: ini-test
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
This program is used to test reading the file ini-test.  This program was added in Exiv2 v0.26 when the ~/.exiv2 file was added to the Exiv2 architecture.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### iotest
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: iotest filein fileout1 fileout2
Packit Service 21b5d1
fileouts are overwritten and should match filein exactly
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Test programs for BasicIo functions.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### iptctest
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: iptctest image
Packit Service 21b5d1
Commands read from stdin.
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Sample program test Iptc reading and writing.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### key-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: key-test
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Key unit tests
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### largeiptc-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: largeiptc-test image datafile
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Test for large (>65535 bytes) IPTC buffer
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### mmap-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: mmap-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Simple mmap tests
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### path-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: path-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Test path IO
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### prevtest
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: prevtest file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Test access to preview images
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### remotetest
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: remotetest remotetest file {--nocurl | --curl}
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Tester application for testing remote i/o.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### stringto-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: stringto-test
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Test conversions from string to long, float and Rational types.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### taglist
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: taglist [--group name|Groups|Exif|Canon|CanonCs|CanonSi|CanonCf|Fujifilm|Minolta|Nikon1|Nikon2|Nikon3|Olympus|Panasonic|Pentax|Sigma|Sony|Iptc|dc|xmp|xmpRights|xmpMM|xmpBJ|xmpTPg|xmpDM|pdf|photoshop|crs|tiff|exif|aux|iptc]
Packit Service 21b5d1
Print Exif tags, MakerNote tags, or Iptc datasets
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Print a simple comma separated list of tags defined in Exiv2
Packit Service 21b5d1
Packit Service 21b5d1
This program encodes the library's tag definitions in ascii.
Packit Service 21b5d1
The data from this program is formatted as HTML on the web-site.  https://exiv2.org/metadata.html
Packit Service 21b5d1
Packit Service 21b5d1
For example, to show the binary definition of Group `Nikon3`:
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
1516 rmills@rmillsmbp:~/gnu/github/exiv2/0.27-maintenance $ taglist Nikon3
Packit Service 21b5d1
Version,    1,  0x0001, Nikon3, Exif.Nikon3.Version,    Undefined,  Nikon Makernote version
Packit Service 21b5d1
ISOSpeed,   2,  0x0002, Nikon3, Exif.Nikon3.ISOSpeed,   Short,  ISO speed setting
Packit Service 21b5d1
ColorMode,  3,  0x0003, Nikon3, Exif.Nikon3.ColorMode,  Ascii,  Color mode
Packit Service 21b5d1
Quality,    4,  0x0004, Nikon3, Exif.Nikon3.Quality,    Ascii,  Image quality setting
Packit Service 21b5d1
WhiteBalance,   5,  0x0005, Nikon3, Exif.Nikon3.WhiteBalance,   Ascii,  White balance
Packit Service 21b5d1
Sharpening, 6,  0x0006, Nikon3, Exif.Nikon3.Sharpening, Ascii,  Image sharpening setting
Packit Service 21b5d1
Focus,  7,  0x0007, Nikon3, Exif.Nikon3.Focus,  Ascii,  Focus mode
Packit Service 21b5d1
FlashSetting,   8,  0x0008, Nikon3, Exif.Nikon3.FlashSetting,   Ascii,  Flash setting
Packit Service 21b5d1
FlashDevice,    9,  0x0009, Nikon3, Exif.Nikon3.FlashDevice,    Ascii,  Flash device
Packit Service 21b5d1
...
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
We can see those tags being used:
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
$ exiv2 -pa --grep Nikon3 http://clanmills.com/Stonehenge.jpg
Packit Service 21b5d1
1519 rmills@rmillsmbp:~/gnu/github/exiv2/0.27-maintenance $ exiv2 -pa --grep Nikon3 http://clanmills.com/Stonehenge.jpg
Packit Service 21b5d1
Exif.Nikon3.Version                          Undefined   4  2.11
Packit Service 21b5d1
Exif.Nikon3.ISOSpeed                         Short       2  200
Packit Service 21b5d1
1520 rmills@rmillsmbp:~/gnu/github/exiv2/0.27-maintenance $
Packit Service 21b5d1
...
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
This information is formatted (search Nikon (format 3) MakerNote Tags): [https://exiv2.org/tags-nikon.html](https://exiv2.org/tags-nikon.html)
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### tiff-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: tiff-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Simple TIFF write test
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### werror-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: werror-test
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Simple tests for the wide-string error class WError
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### write-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: write-test file case
Packit Service 21b5d1
where case is an integer between 1 and 11
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
ExifData write unit tests
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### write2-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: write2-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
ExifData write unit tests for Exif data created from scratch
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### xmpdump
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: xmpdump file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Sample program to dump the XMP packet of an image
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
#### xmpparser-test
Packit Service 21b5d1
Packit Service 21b5d1
```
Packit Service 21b5d1
Usage: xmpparser-test file
Packit Service 21b5d1
```
Packit Service 21b5d1
Packit Service 21b5d1
Read an XMP packet from a file, parse and re-serialize it.
Packit Service 21b5d1
Packit Service 21b5d1
[Sample](#TOC1) Programs [Test](#TOC2) Programs
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Packit Service 21b5d1
Robin Mills
Packit Service 21b5d1
robin@clanmills.com
Packit Service 21b5d1
Revised: 2019-06-20