Capture One Background Scripts
07 Jan 2020 ∞
Capture One has a very robust AppleScript integration and nearly anything that can't be done in Capture One can be done in a script. Unfortunately, not all of it is well documented or easy to access. Part of that is why I wrote a plugin for setting all of the available application scripts, which can at least be found by looking in Capture One's scripting dictionary.
However, there's another set of background scripts, only referenced occasionally in old forum posts, some of which don't even have search results on Google1. The only way to find them is to dump all of the strings in the Capture One binary, and know what you're looking for:
strings /Applications/Capture\ One\ 12.0.app/Contents/MacOS/Capture\ One\ 12
Each of the background scripts is a method, or handler in AppleScript parlance, and is called directly by Capture One.
These handlers are called when Capture One launches or quits and take no parameters.
CO_BatchJobFinished(jobUUID, rawFilePath, outputPathList)
This handler is called for each raw file processed. It's passed the job ID, the path to the raw file, and the paths of each output image.
The Capture Started handler is a mystery. I'm not sure what it's method signature is.
Capture Done is called for each captured image, and is passed the path to the new file.
The Barcode Scanned handler is called whenever a barcode is scanned. However instead of passing in the barcode you'll need to retrieve it from the
barcode property of a document.
on CO_CaptureDone(rawFilePath) -- Do something with the file end CO_CaptureDone
In order for Capture One to call any of these handlers they must be in a script saved to the Background Scripts folder. To disable the script, remove it from the Background Scripts folder, Disabled Scripts is a good holding place.
After any changes have been made you'll need to update the scripts from
Scripts > Update Scripts Menu.
Or worse yet: the only result is a forum post I wrote asking about it↩