-
Notifications
You must be signed in to change notification settings - Fork 137
Description
Photo files within my photos library have xattrs (com.apple.assetsd.*) which are lost when exporting originals from Photos or using osxphotos. Is there a way to retain these attributes either as xattrs or as EXIF data?
My use case is exporting from Apple Photos to Lightroom Classic and wanting to retain camera app description for creating smart folders in LRC.
Most iPhone camera apps write EXIF metadata naming the camera app (not in a consistent way, but at least it is somewhere). As EXIF data this is maintained when using osxphotos or export originals in Photos. After imported into LRC, searches by any text do find the camera app successfully.
All good with at least one exception.
The Halide app does not write its name into any EXIF field and so LRC is unable to identify photos taken with Halide.
Apple Photos knows that they are taken with Halide and I have discovered a whole series of xattrs (created on the iPhone) which identify the creating app. These can be displayed in Terminal like this:
% xattr -l /Users/gilby/Pictures/Photos\ Library.photoslibrary/originals/5/5A893AE1-FBC7-4BED-B995-5B897121EC35.heic
com.apple.assetsd.UUID: Z?:???K???[?q!?5
com.apple.assetsd.addedDate: bplist003A?NVSز?
com.apple.assetsd.assetType:
com.apple.assetsd.avalanche.type:
com.apple.assetsd.cloudAsset.UUID: 7AEE6915-13B0-4ADB-9F45-89758C58DB6A
**com.apple.assetsd.creatorBundleID: com.chromanoir.Zeit**
com.apple.assetsd.currentSleetCast:
com.apple.assetsd.customCreationDate: bplist003A?NVS?9X
com.apple.assetsd.customLocation: ?;ߘ?E?P?8Z?ib@?*k`?T@MÑ?U\@
com.apple.assetsd.dbRebuildUuid: AB81E501-B5CD-4423-B19D-2C7A59233F4D
com.apple.assetsd.deferredProcessing:
com.apple.assetsd.favorite:
com.apple.assetsd.hidden:
com.apple.assetsd.importedBy:
**com.apple.assetsd.importedByDisplayName: Halide**
com.apple.assetsd.libraryScopeAssetContributorsToUpdate: bplist00?
X$versionY$archiverT$topX$objects
com.apple.assetsd.libraryScopeShareState:
com.apple.assetsd.originalFilename: IMG_7197.HEIC
com.apple.assetsd.sceneAnalysisIsFromPreivew:
com.apple.assetsd.syndicationHistory:
com.apple.assetsd.timeZoneName: GMT+1100
com.apple.assetsd.timeZoneOffset: ??
com.apple.assetsd.trashed:
com.apple.assetsd.trashedReason:
com.apple.assetsd.videoComplementVisibility:
com.apple.assetsd.viewPresentation:
com.apple.cpl.delete: Y
com.apple.cpl.original: Y
com.apple.cscachefs: ;?%???{?僼<n?
?b@?
com.apple.lastuseddate#PS: ?9?h
com.apple.macl: @Y??1' @
?>??Z b@=+???MD?W??UO??
com.apple.quarantine: 0086;68ecabb8;com.apple.cloudd;
The ones of interest are com.apple.assetsd.creatorBundleID: com.chromanoir.Zeit or com.apple.assetsd.importedByDisplayName: Halide
Is there any way of writing these attributes to the files exported by osxphotos as either xattrs or (preferably) inserted as EXIF metadata?
As well as solving the problem for Halide, it would be a consistent way of getting any camera app details into Lightroom.
My workaround is to create an album in Apple Photos which contains all Halide photos (found with a smart search) and getting osxphotos to include the album name as keyword EXIF metadata in exported photos. This is then picked up by LRC.