--------------------------------------------------------------------------------
01) If not already done: configure your favourite tags in section [SelectedTags] of <TCMetadataViewer.ini>
    Example:
    [SelectedTags]
    Header=Rating and Labels
    Tag=XMP:Rating
    Tag=EXIF:Rating
    Tag=EXIF:RatingPercent
    Tag=XMP:Label
    Header=Persons
    Tag=XMP:PersonInImage
    Tag=XMP:RegionPersonDisplayName
    
    (see INI file for examples; read comments in INI file for further details)
    

--------------------------------------------------------------------------------
02) Select all files, for which metadata should be synchronized, from TC's source panel


--------------------------------------------------------------------------------
03) Open the tag listview context menu (right click on the tag listview) and chose "Selected tags: Synchronize...".
    => The SyncSelectedFiles dialog will be opened:

   (a)       (b)             (c)             (d) (e) (f) (g) (h) (i)             (j)
╔═SyncSelectedFiles═════════════════════════════════════════════════════════════════════════════════╗
╠═══════════════════════════════════════════════════════════════════════════════════════════════════╣
║ ┌─────────┬───────────────┬───────────────┬───┬───┬───┬───┬───┬───────────────┬───────────────┬─┐ ║
║ │ Msg     │ SourcePath    │ SourceFile    │ - │ * │ ≠ │ = │ † │ TargetPath    │ TargetFile    │ │ ║
║ ├─────────┼───────────────┼───────────────┼───┼───┼───┼───┼───┼───────────────┼───────────────┤ │ ║
║ │ [ ]     │               │               │   │   │   │   │   │               │               │ │ ║
║ │ [ ]     │               │               │   │   │   │   │   │               │               │ │ ║
║ │ [ ]     │               │               │   │   │   │   │   │               │               │ │ ║
║ │ [ ]     │               │               │   │   │   │   │   │               │               │ │ ║
║ │ [ ]     │               │               │   │   │   │   │   │               │               │ │ ║
║ ├─────────┴───────────────┴───────────────┴───┴───┴───┴───┴───┴───────────────┴───────────────┼─┤ ║
║ └─────────────────────────────────────────────────────────────────────────────────────────────┴─┘ ║
║ [√] [□]            Nur, wenn Metadaten neuer sind [ ]   [ ]*   [ ]≠   [ ]†   [ Sync  ] [ Cancel ] ║
║ [                                                                                               ] ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════╝
  (k) (l)                                           (m)   (n)    (o)    (p)     (q)       (r)


(a) to (j) Each selected file (from TC) will be evaluated/validated and enlisted in the listview with the result of evaluation/validation:

Entries in the listview will be colored as follows:
- Initial color for all entries in the listview (color for not evaluated files) is "ColorSyncDefault"
- Color for entries, which will be excluded from synchronization, is set to "ColorSyncSkip"
- Color for header entries (from INI file, section [SelectedTags], keys "Header=...") in the listview is set to "ColorSyncHeader"
- If no favourite tag can be found in source file or target file                   (count of "=" + "*" + "≠" + "†" = 0),
  then color for entry in listview is set to "ColorSyncNoMatch"
- If all favourite tags, which are present in source and target file, are equal    (count of "=" > 0 AND count of "*" + "≠" + "†" = 0),
  then color for entry in listview is set to "ColorSyncEqual"
- If all favourite tags, which are present in source and target file, are new      (count of "*" > 0 AND count of "≠" = 0 AND count of "†" = 0),
  then color for entry in listview is set to "ColorSyncNew"
- If all favourite tags, which are present in source and target file, are unequal  (count of "*" = 0 AND count of "≠" > 0 AND count of "†" = 0),
  then color for entry in listview is set to "ColorSyncNotEqual"
- If all favourite tags, which are present in source and target file, are obsolete (count of "*" = 0 AND count of "≠" = 0 AND count of "†" > 0),
  then color for entry in listview is set to "ColorSyncObs"
- If the favourite tags, which are present in source and target file, are a mixture of new, unequal and obsolete tags,
  then color for entry in listview is set to "ColorSyncMixed"

Relevant keys in <TCMetadataViewer.ini>, [Configuration] (read comments in INI file for further details):
° ColorSyncDefault=0x3E586D
° ColorSyncHeader=0x5080FF
° ColorSyncSkip=0x808080
° ColorSyncNoMatch=0x808080
° ColorSyncMixed=0x5080FF
° ColorSyncNew=0x99CC00
° ColorSyncEqual=0xD0D0D0
° ColorSyncNotEqual=0xFFCC00
° ColorSyncObs=0xFF6600

(a) Column "Msg", checkboxes:
    - Check checkboxes for each file, you like to be included in sync process
    - Uncheck checkboxes for each file, you like to be excluded from sync process
    - Click on "[√]" button (k) in order to set checkmarks for all files
    - Click on "[□]" button (l) in order to clear checkmarks from all files

(a) Column "Msg", error messages:
    Source n/a> ....... Source file doesn't exist (e.g. navigation within an archive)
    Target n/a> ....... Correspondent target file (for source file) doesn't exist
    Uni> .............. Filename contains unicode characters *AND* Backup=1 in INI file
    ExtNotWritable> ... File type not supportet for writing by ExifTool (extension not in <TCMetadataViewer_ExifTool_WritableExts.txt>)
    Dir> .............. Entry is a directory
    RHS> .............. Target file is write protected, hidden or a system file (=> target file not writable)

(b), (c) List of source files (files, you have selected in TC's source panel) with path (b) and filename (c)

(d) Column "-": Number of irrelevant tags (out of favourite tags):
    Tags neither exists in source file, nor in target file
    => on "Sync", no changes will be made concerning these tags
(e) Column "*": Number of new tags        (out of favourite tags):
    Tags are available in source file, but doesn't exist in target file
    => on "Sync", these tags will be copied to target file (new in target file)
(f) Column "≠": Number of changed tags    (out of favourite tags):
    Tags are available in source AND target file, but with different values
    => on "Sync", these tags will be copied to target file (existing values will be overwritten))
(g) Column "=": Number of equal tags      (out of favourite tags):
    Tags are available in source AND target file with equal values
    => on "Sync", no changes will be made concerning these tags
(h) Column "†": Number of obsolete tags   (out of favourite tags):
    Tags are available in target file, but doesn't exist in source file
    => on "Sync", these tags will be deleted from target file

(i), (j) List of target files (files with same name as source files in target panel) with path (i) and filename (j)

(k) Click on "[√]" button in order to set checkmarks for all files

(l) Click on "[□]" button in order to clear checkmarks from all files

(m) When checked, then only files will be synchronized, where XMP:MetadataDate (source file) is > XMP:MetadataDate (target file)
    If XMP:MetadataDate (source file) and/or XMP:MetadataDate (target file) isn't set, then ... {to be described}
    Note: Checkbox caption ("Nur, wenn Metadaten neuer sind") can not localized to date. Will be changed in a future release of TCMDV.

(n) If checkbox "[ ]*" is unchecked, then "new" tags will be excluded from synchronization

(o) If checkbox "[ ]≠" is unchecked, then "unequal/changed" tags will be excluded from synchronization

(p) If checkbox "[ ]†" is unchecked, then "obsolete/deleted" tags will be excluded from synchronization

(q) Click "Sync" in order to start metadata synchronization for files.
    Synchronization result per file in column "Msg" (a):
    *** Done> ........ Tags has been synchronized successfully
    *** Skipped> ..... No changes made, because checkbox for the file was not checked or an (error) message was noted here on initial validation ("Dir>" e.g.)
    *** Out-dated> ... No changes made, because XMP:MetadataDate (source file) is =< XMP:MetadataDate (target file)
    *** Error> ....... No changes made, an error occured on sync

    After synchronization has been finished, a "Close" button will be shown. Click it to exit this dialog.

(r) Click "Cancel" to abort tag synchronization for a single file and return to previous dialog (e.g. "SyncSelectedFiles" dialog)


--------------------------------------------------------------------------------
04) Optional: Click on an entry in SyncSelectedFiles dialog
    => The SyncSelectedTags dialog will be opened for the selected file:

   (a)          (b)                (c)                          (d) (e)
╔═SyncSelectedTags══════════════════════════════════════════════════════════════════════════════════╗
╠═══════════════════════════════════════════════════════════════════════════════════════════════════╣
║ ┌────────────┬──────────────────┬────────────────────────────┬───┬────────────────────────────┬─┐ ║
║ │ Group      │ Name             │ Value Source               │ » │ Value Target               │ │ ║
║ ├────────────┼──────────────────┼────────────────────────────┼───┼────────────────────────────┤ │ ║
║ │ [ ]        │                  │                            │   │                            │ │ ║
║ │ [ ]        │                  │                            │   │                            │ │ ║
║ │ [ ]        │                  │                            │   │                            │ │ ║
║ │ [ ]        │                  │                            │   │                            │ │ ║
║ │ [ ]        │                  │                            │   │                            │ │ ║
║ ├────────────┴──────────────────┴────────────────────────────┴───┴────────────────────────────┼─┤ ║
║ └─────────────────────────────────────────────────────────────────────────────────────────────┴─┘ ║
║                           ┌───────┐    ┌───────┐                                                  ║
║              9   9   9    │       │ => │       │                                                  ║
║ [√] [□] [↑] [*] [≠] [†]   │       │    │       │                             [ Sync  ] [ Cancel ] ║
║              ▬   ▬   ▬    └───────┘    └───────┘                                                  ║
╚═══════════════════════════════════════════════════════════════════════════════════════════════════╝
  (f) (g) (h) (i) (j) (k)    (l)          (m)                                   (n)       (o)

(a) Column "Group", checkboxes
    - Check checkboxes for each tag, you like to be included in sync process
    - Uncheck checkboxes for each tag, you like to be excluded from sync process
    - Click on "[√]" button (f) in order to set checkmarks for all listed tags
    - Click on "[□]" button (g) in order to clear checkmarks from all listed tags

(a) Column "Group", error messages

(b) Column "Name": Tag names

(c) Column "Value Source": Tag values from source file

(e) Column "Value Target": Tag values from target file

(d) Column "»": Result of comparison between source values and target values:
    - ... Tag neither exists in source file, nor in target file
          => on sync, no changes will be made concerning this tag
    * ... Tag is available in source file, but doesn't exist in target file
          => on sync, this tag will be copied to target file (new in target file)
    ≠ ... Tag is available in source AND target file, but with different values
          => on sync, these tags will be copied to target file (existing values will be overwritten))
    = ... Tag is available in source AND target file with equal values
          => on sync, no changes will be made concerning this tag
    † ... Tag is available in target file, but doesn't exist in source file
          => on sync, these tags will be deleted from target file

(f) Click on "[√]" button in order to set checkmarks for all tag

(g) Click on "[□]" button in order to clear checkmarks from all tags

(h) Click on "[↑]" button in order to restore a tag selection.
    On "Sync", tag group and name for each checkmarked tag with comparison result "*", "≠", "=" or "†" will be stored internally
    (this internal tag restoration list will be destroyed on exit of TCMDV).
    Click on "[↑]" button in order to set checkmarks according the internal tag restoration list
    Already set checkboxes will not be unchecked, if tag doesn't exist in the internal tag restoration list

(i) Click the "[*]" button in order to set checkmarks for all as "new" considered tags.
    The number above the button shows the count of new ("*") tags.
    The slim bar below the button indicates the color for "*" entries in the listview (default: green).
    Relevant keys in <TCMetadataViewer.ini>, [Configuration] (read comments in INI file for further details):
    ° ColorSyncNew=0x99CC00

(j) Click the "[≠]" button in order to set checkmarks for all as "changed" considered tags.
    The number above the button shows the count of changed (hence unequal) ("≠") tags.
    The slim bar below the button indicates the color for "≠" entries in the listview (default: yellow).
    Relevant keys in <TCMetadataViewer.ini>, [Configuration] (read comments in INI file for further details):
    ° ColorSyncNotEqual=0xFFCC00

(k) Click the "[†]" button in order to set checkmarks for all as "deleted" considered tags.
    The number above the button shows the count of deleted (hence obsolete) ("†") tags.
    The slim bar below the button indicates the color for "†" entries in the listview (default: red).
    Relevant keys in <TCMetadataViewer.ini>, [Configuration] (read comments in INI file for further details):
    ° ColorSyncObs=0xFF6600

(l) Thumbnail image of source file

(m) Thumbnail image of traget file

(n) Click "Sync" in order to start tag synchronization.

(o) Click "Cancel" to return to previous dialog (e.g. "SyncSelectedFiles" dialog). Synchronization of tags for a single file will not be executed.
