# Metadata Processing

This section describes the metadata reading and writing process.

## Metadata handling

### Read algorithm

1. Read Exif, IPTC and XMP from the file.

2. Display this "raw" data in the Exif Window .

3. Read XMP sidecar or Geeqie private metadata file. This data will override the XMP data read from the file.

4. Synchronise XMP data with Exif and IPTC data. This process corresponds to the section "Reconciling metadata properties" as described in the XMP Specification .

   - detect which of Exif and Xmp.exif is newer and copy the data in the appropriate direction

   - detect which of IPTC and XMP is newer and copy the data in the appropriate direction

5. Use this "processed" data within Geeqie, with the exception of in the Exif Window

### Metadata modification

- Metadata is written to a single file or group of files as specified in the Metadata tab of main Preferences.

- Modifying the keywords, comment, orientation, etc. does not ask for confirmation, but immediately modifies the metadata in memory and adds the file to "write queue"

- Writing of the queued changes is triggered either manually or as defined in Metadata. It is possible to review the changes and exclude selected files.

### Write algorithm

1. Exif and IPTC are updated from XMP (for example Exif.Image.Orientation is updated from Xmp.exif.orientation ). See XMP and IPTC4XMP specifications for the list of corresponding tags.

2. Try to write metadata in the order specified in the Metadata writing process section of Preferences.

3. After the first successful write attempt delete old metadata files in all possible locations.

## Options that influence the process

File types with allowed sidecars are listed in the File Filters Options tab of the main Preferences.