Allan Hise made scripts to get hold of this information and store it in your Aperture library. That script uses the ideas of another script, made by Brett Gross, to locate the actual file associated with an image. The script uses the version name and executes a unix find to locate the .apfile file corresponding to the selected image. And then investigates the found .apfile to determine the path of an image if it is referenced or deduce the path to the image file from the path to the apfile.
I encountered some trouble in using this script. I have several versions of images and I also keep the camera generated jpeg's in the Aperture library. Fiddling was required to get it working the way I wanted especially in the case of versions created from the master JPEG images. I also ran into problems with duplicate filenames. If there are two distinct images in your library with identical basenames such as DSC_034 the method of locating the file associated with an image by using Unix find simply won't work correctly. The issues were known and mentioned.
Aperture must store the file information about an image somewhere in the library, otherwise it wouldn't be able to display an image on the screen. What I wanted to do is this: given a selected image, query the Aperture library to retrieve the fileinformation for that image (the path to the image file). Then you won't have to fiddle with the version name and you don't have to modify the scripts for RAW specific file extensions.
Brett Gross also provides information on the structure of an Aperture library and provides an AppleScript to extract information on the filestatus (managed or referenced) and the filepath of an image. You can use the sqlite3 program to extract information from the Aperture library using SQL queries. I modified the original Allan Hise script to use this method for finding the image file associated with a selected image.
This direct querying of the Aperture database wouldn't be necessary if Aperture could provide the full path of a selected image. I've provided feedback on this matter to Apple.
There are four scripts (AppleScript).
|
This displays metadata in an Applescript dialog for each currently selected image.
You should see something like this.
I know it's ugly but I can't help that; it's AppleScript.
If you click Cancel the script will stop. If you click OK the script will move on to the next image. |
![]() |
|
This script instructs Aperture to create new additional metadata fields for each currently selected image.
After applying the script on the same image as the previous script, you'll
see something like this in the Aperture Metadata view when tab Other is active.
The script will silently (sorry, no progress indicator) process all selected images and display a final dialog telling you that it is finished. |
![]() |
As provided, the scripts ask for the following Exif data:
LensID, ShootingMode, MeteringMode, ExposureMode, ExposureProgram.
The LensID tag is not requested for Aperture 2.0
(if you use the RAW 2.0 converter Aperture will give you the Lens Model).
You only need to change the AppleScript property DesiredEXIFData if you want other information.
Everything else should be done automatically.