Apr 99 Online
Volume Number: 15 (1999)
Issue Number: 4
Column Tag: MacTech Online
Apr 99 Online
by Jeff Clites <online@mactech.com>
Last month we surveyed the resources you need to learn how AppleEvents and AppleScript work and how you can put them to good use. This month we are going to look at some of the tools available to make using them a breeze.
Constructing Your Events
Anyone sending AppleEvents from within their application will want to be familiar with AEGizmos. This is a code library from Jens Alfke (one of the creators of Apple's Script Editor) which lets you build and work with complex AE descriptors using a more intuitive string-based description. It can shorten and clarify your code, and has the added benefit of being much faster than building your descriptors "by hand", because it builds them without calls to the Apple Event Manager.
- Jens' Software Grab-Bag (AEGizmos)
- http://www.mooseyard.com/Jens/Software/
Greg Anderson's develop article on scripting the Finder is useful in its own right, but most handily the accompanying code contains C++ wrapper classes for working with AppleEvents. These help hide some of the Toolbox's procedural sins from the innocent object-oriented programmer (not many, but some).
- December 94 - Scripting the Finder from Your Application
- www.mactech.com/articles/develop/issue_20/20anderson.html
For a completely different approach, check out Marco Piovanelli's Cream Library, a set of C++ classes that replace Apple's Object Support Library and give you a new way to approach the Apple Event Object Model (AEOM) by using real C++ objects instead of OSL tokens.
- Cream
- http://www.merzwaren.com/cream/index.html
If you want to provide a "Scripts" menu, so that users can run their own scripts from within your application, check out Joe Strout's ScriptMenu. This public-domain code makes it trivial to implement, and can even use an icon in place of the menu title.
- ScriptMenu
- http://www.strout.net/info/coding/macdev/scriptmenu/
Essential Utilities
There are a few utilities which are just essential when working with AppleEvents. The first is AETracker, by RavenWare Software. It's a control panel which lets you intercept any or all calls the Apple Event Manager and log them to a file. It can be a life saver when debugging your own application or when trying to figure out just what is going on with some other application or script.
- RavenWare Software (AETracker)
- http://www.ravenware.com/sware/
The second essential is Capture AE by WestCode Software, the makers of the OneClick utility. Capture AE is similar to AETracker but simpler - it logs just AppleEvents (calls to AESend) and formats them in AEGizmos form, making them easy to read and reuse.
- OneClick Free Stuff (Capture AE)
- http://www.westcodesoft.com/FTP-Buttons.html
AETEGizmo (not to be confused with AEGizmos) is a curious little utility from last year's MacHack. As an alternative to the above utilities, it can help you figure out what is going on under the covers of an AppleScript by "stealing" the AppleScript dictionary from another application. Then, you target the AppleScript toward AETEGizmo instead of the original application and AETEGizmo returns the AppleEvents as AEGizmo-formatted strings, which you can view in the Script Editor. Whew! It's a hack, but it's handy.
- 1998 Hacks (AETEGizmo)
- http://www.machack.com/Hack98.html
Akua Sweets is a package from Gregory Lemperle-Kerr, consisting of a Scripting Addition with many unusual capabilities and a large number of example scripts to go along with it. Most interesting, though, is the included script runner Scripple. It's completely undocumented, but appears to contain a number of interesting debugging facilities, similar to some of the above-mentioned utilities. It's worth a look, and I hope the author decides to document it some day. And, it has some fun little cursors....
- Akua Sweets
- http://hyperarchive.lcs.mit.edu/cgi-bin/NewSearch?key=akua
Last, but not least, remember that AppleScript is yet one more reason for people to move to the Mac platform - AppleScript is a Mac-only technology, and no other platform has this sort of pervasive scriptability, where even tiny shareware applications are scriptable. So dive in - it's worth the effort.
These and a horde of other links are available from the MacTech Online web pages at www.mactech.com/online/.