Функции Сохранение метаданных в файлы / чтение метаданных из файла будут выполнять то, что вам нужно.
Lightroom предоставляет возможность записи метаданных библиотеки в файлы XMP вместе с исходными изображениями, поэтому должна быть возможность написать вашу программу для просмотра этих файлов боковой панели и редактирования существующих данных.
Метаданные можно записывать в файлы с помощью интуитивно понятной команды «Сохранить метаданные в файлы» в меню «Метаданные». Полученный файл XMP является внешним как для библиотеки, так и для внутренних метаданных исходного изображения. Отдельные поля XMP могут затем программно обрабатываться (например, поле exif:GPSLatitude
). Это позволяет избежать перезаписи текущих метаданных старыми метаданными в любой момент, а также сохранить изменения, внесенные в изображения в Lightroom, а также любые метаданные, которые были вручную введены в библиотеку. После редактирования XMP Lightroom может считывать изменения обратно в библиотеку с помощью пункта меню «Чтение метаданных из файла».
Предупреждение 1 : сохранение метаданных библиотеки в файл XMP перезапишет существующий файл в том же месте. Это хорошо. Это означает, что не существует простого способа иметь два набора метаданных в разных состояниях. Как программист, наличие двух состояний метаданных может быть полезно для некоторых забавных трюков, но как фотограф я лично могу сказать, что я бы предпочел иметь спокойствие, что существует только одно состояние.
Предупреждение 2 : API Lightroom (с версии 6), по-видимому, не обеспечивает удобный способ сохранения метаданных текущей библиотеки в файлы перед их обработкой, а также способ чтения нового метаданные в библиотеку, когда ваша программа заканчивается. Это означает, что не существует простого способа программно гарантировать, что ваш код будет работать с файлами метаданных, которые делят свое состояние с метаданными в каталоге Lightroom. У меня сложилось впечатление, что это является гарантией сохранения состояния метаданных библиотеки Lightroom на вершине иерархии, поскольку для многих пользователей библиотека будет представлять официальное состояние данных.
Обходной путь: Возможно, вам придется смириться с тем, чтобы попросить пользователя вручную сохранить метаданные перед запуском вашей программы и попросить пользователя прочитать обновленные метаданные после завершения. Я сам не программист плагинов LR, но я использовал несколько плагинов, которые используют этот шаблон, так что вполне может быть то, что необходимо. К счастью, при обычном использовании это не создает больших проблем, поскольку пункты меню «Сохранить метаданные в файл» и «Чтение метаданных из файлов» находятся всего в одном щелчке мыши в меню метаданных и, вероятно, будут использованы один раз после выбора всех изображения, которые будут включены в операцию.