Aperture 2.0 – AppleScript Changes – Dictionary
This is the first in what will likely be a few posts on how AppleScriptability has changed between Aperture versions 1.5.6 and 2.0. In this first installment I am going to just look at the AppleScript dictionary…
The first thing that is apparent is that the dictionary looks more ‘normal’ (if such a thing exists): it has an Aperture Suite, a Standard Suite and a Text Suite where 1.x only had an Aperture Suite. I’m going to ignore the other 2 suites as they’re not pertinent here.
There are now 5 commands (versus the old 2) but 2 of them are ‘make’ and ‘get’ which seem pretty odd as make and get are AppleScript built-ins. The last command is ‘adjust image date’ and it allows you to change the date of images to a specific date and optionally to also change the masters. Cool. Incidentally, this was one of my top gripes from v1.x.
The top-level application object now has the useful properties of frontmost and version (which all applications should have), maintains selection (which is still read-only and only counts images) and adds a list of tasks. Excellent given that Aperture can now do non-modal exports.
application can still oddly contain multiple library objects as well as the other usual organizational tidbits. For some reason neither dictionary lists keywords as being contained by application despite their apparent behavior (in 1.x at least).
Metadata tags are now divided into 4 categories: ‘EXIF’, ‘IPTC’, ‘custom’ and the new ‘other’. I’m curious about what would constitute ‘other’ metadata. Perhaps edit status? The value is now no longer always text – which means you’ll have to test for type know what the type is or trust that you can coerce it into something you can use. Type conversions often require the unfortunate ‘tell applescript’ block within the application’s main tell block so that’ll be interesting.
image version has 2 new properties: online and referenced. Yay! No more workarounds to determine if an image is managed or referenced or whether it is online. Oddly, both properties seem to indicate that they are read/write. I suspect that they are actually read/only.
In my opinion:
- The ability to script creation & settings of Smart Albums
- The ability to control Albums
- The ability to move images between Projects
- The ability to perform edits (hey, I can dream!)
- The ability to move masters
- The ability to manage stacks
Part of my in-depth functionality analysis will include:
- determining whether keywords behave more like documented in the dictionary (which I doubt).
- determining the way that image versions are returned when requesting them of an album (1.x seems to return them at random)
- find out what ‘other tags’ are
- find out if image version’s referenced property is read/write (as the dictionary implies)
Happy shooting!

This post has one comment
February 14th, 2008
Haven’t got Aperture 2.0 yet. Should arrive soon.
I’m very interested in AppleScripting Aperture.
Very nice to have would be the path to an image.
Would save a lot of unnecessary fiddling with the database.
I made some scripts to do get hold of more EXIF tags based on your scripts and work on the structure of the sqlite database.
(See my website).
Berend