# Batch Extract Persistent IDs

The primary requirement in interacting with iTunes or (Music/TV on Mac OS 10.15 or later) is establishing a link between Yate and the Apple application. This link can be initiated from within Yate or the applications. Regardless as to how the link is established, it is transient and is removed when the linked files are closed in Yate.

When there is insufficient metadata to link you can use a Persistent ID (PID). PIDs are invalidated whenever the library database is rebuilt. PIDs are also meaningless if you have more than one library for a specific application. It is for these reasons that Yate's out of the box linking method does not use the PIDs. However, PIDs provide a far superior method of establishing a link as it is metadata and location independent.

This batch process will automate the extraction of the PIDs. On Mac OS 10.15 or later you can process the Music, TV or both libraries. Prior to Mac OS 10.15, the iTunes library will be processed.

The process enumerates all media items in a library. For every item it attempts to locate the file and store the associated PID. The log file always describes errors as well as descriptions of processed items in a library which cannot be located. When Verbose is selected, the log file will also contain an item for each written file.

If you only wish to see errors (including those nasty cannot locate errors, set the Log only option. Warning: when the Log only option is selected, no PIDs will be retained.

The process saves a log file which is kept until the next time any batch process is run. The file may be viewed at any time from the application's View menu.

Note that the appropriate application will be opened prior to it being processed. Warning: do not close or modify metadata in the application being processed!

Additional information

Interacting with iTunes/Music/TV