Automation

Aperture 2.0: No Tethering For You!

tethering
If you use one of the popular Canon DSLRs, there's a good chance that there is no tethering for you! There is a tally of which cameras work with the tethering feature and which ones don't at 20SEVEN. Mine, a Canon 30D, does not. It stays busy. It is still possible to use Automator and a hot folder with the Canon software, so all is not lost. Nikon is much better supported than Canon.

The tethering feature is accessed via the File > Tether... menu. From there you can define import settings and start the session.
|

Aperture: A Fix For Leopard Automator Problems

This thread on Apple's Aperture discussion forum includes a fix for a bug that prevents Automator actions from working correctly under Leopard. It manifests itself with the error:

-NSNull length: unrecognized selector sent to instance 0xa063f020

Berend posts this explanation and fix:

What has happened is that the Aperture Automator actions have been removed from /System/Library/Automator on installing Leopard (probably with Archive and Install).

I've been having this same issue and couldn't for the life of me figure out what was wrong.
The hint provided by the previous poster put me on the right track.

The Aperture Automator actions are located in the the Aperture application.

Steps to take for repairing the situation:

1. Open a Finder window and navigate to /System/Library/Automator
2. Open a second Finder window and navigate to /Applications/Aperture
3. Execute a Show package Contents of Aperture (you should get a third Finder window).
4. Now navigate to Contents/Library/Automator
5. Select everything (.definition and .action) in that folder
6. Copy with option drag to the folder in the window created in step 1.
You will be asked for the administrator password.
7. Close superfluous windows.
8. Start Automator and enjoy.

In short: copy the contents of /Applications/Aperture.app/Contents/Library/Automator to
/System/Library/Automator

I've done this and no longer get the NS Null error messages. I can now access the actions and will see if they actually work some time in the next few days.

Cause: Apple Leopard Installer.
Remedy: Apple should have warned beforehand that something like this would happen and should have provided the solution.

Hopefully the expected updated to Mac OS X and Aperture will fix this.
|

Sal Soghoian on Leopard, Automation, and Aperture

O'Reilly has posted another Inside Aperture podcast: Sal Soghoian talking about Leopard, Automation, and Aperture. Don't miss the previous shows listed in the sidebar, or simply subscribe to the podcast in iTunes.
|

Aperture: Launching Photoshop Automation

Ben Long has a great article at O'Reilly that explains how to use a folder action and Automator to launch Photoshop actions from Aperture. I plod along with PS Elements 3.0, so none of this applies to me.
|

Aperture: A French Aperture Site

logoaperture20060925
I thought I knew all the Aperture sites by now, but this recently proved not to be the case. Fran
çois Couderc emailed me to let me know that he has a French-language site dedicated to Aperture. It includes tutorials, a large number of videos, plug-ins, Automator workflows, and a forum. The other French-language site I know of is Aperweb.
|

Extending Aperture 1.5

Apple has a 32 minute seminar on extending Aperture posted on their site. It looks at Applescript, Automator, export plug-ins, and iLife integration.
|

Aperture Plugin: Automating Builds And Using The Debugger

cocoasmall
So far in this project all my debugging has been done with NSLog() calls since the code is pretty simple. To run my plugin each time I have been dragging the binary from the Build folder to Aperture's export plugins folder, launching Aperture, and then selecting Random Wok from the File > Export menu.

So how about debugging with the debugger? If I do a debug build, go through the same steps, and the run Aperture, my breakpoints are never hit. What is going on?

This is happening because the application, Aperture, is not being run by the debugger, and so my plugin is not being run by the debugger. To make XCode run Aperture I modified the instructions I found in a technical Q & A on Apple's developer site that shows how to handle this situation with a Web Kit plugin. In my case I create a new custom executable in the Projects folder on the left side of the XCode window and set it up this way:
rwok220
Then I make sure that my build options for the debug build are set correctly: no optimization, generate all symbols, don't strip:
rwok221
Now I can set breakpoints and have them hit:
rwok222
I still have to copy the executable and run Aperture manually. But there is a way to fix that. I add a new run script :
rwok224
And set it up like this:
rwok223
The debug version is set up with a symbolic link and the release version with a copy. Here is the full text:
# clean up any previous products/symbolic links in the target folder
if [ -a "${USER_LIBRARY_DIR}/Application Support/Aperture/Plug-Ins/Export/${FULL_PRODUCT_NAME}" ]; then
rm -Rf "${USER_LIBRARY_DIR}/Application Support/Aperture/Plug-Ins/Export/${FULL_PRODUCT_NAME}"
fi

# Depending on the build configuration, either copy or link to the most recent product
if [ "${CONFIGURATION}" == "Debug" ]; then
# if we're debugging, add a symbolic link to the plug-in
ln -sf "${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}" \
"${USER_LIBRARY_DIR}/Application Support/Aperture/Plug-Ins/Export/${FULL_PRODUCT_NAME}"
elif [ "${CONFIGURATION}" == "Release" ]; then
# if we're compiling for release, just copy the plugin to the Internet Plug-ins folder
cp -Rfv "${TARGET_BUILD_DIR}/${FULL_PRODUCT_NAME}" \
"${USER_LIBRARY_DIR}/Application Support/Aperture/Plug-Ins/Export/${FULL_PRODUCT_NAME}"
fi

Here is how the debug version looks in the Export folder:
rwok225
Now when I compile and run or compile and debug, the script is run and Aperture is launched. Any breakpoints I have set work.

The other parts of this series can be found via the Cocoa page.
|
The Bagelturf site welcomes Donations of any size