Alex Marcotte
Alex Marcotte

Reputation: 485

Using Apple Scripting Bridge in C

I'm wondering if it is possible to use Scripting Bridge (as discussed here) in C. What I'm trying to do is control and/or get information from Apple applications (such as iTunes, see link listing 2.1 & 2.2 on above link) which is fairly easy using Objective-C.

I could write those parts in Objective-C using C, but that would get pretty complicated and would much prefer a complete C approach.

Upvotes: 0

Views: 462

Answers (2)

has
has

Reputation: 1136

The AEBuild functions use printf-ish format strings to significantly reduce the amount of work it takes to build and send Apple events in C:

http://developer.apple.com/mac/library/technotes/tn/tn2045.html

You do need to know your way around Apple events in order to use them (four-char codes as far as the eye can see, natch), but for reasonably simple tasks they're quite usable. The build string format is similar (though not quite identical) to the format used by AEDebug, so if you need some clues on how to structure your build strings, enable AEDebug on the target application and then send it some events from AppleScript.

You may also find ASDictionary (http://appscript.sourceforge.net/tools.html) useful. It includes an option for exporting an application's dictionary as a plain text file, making it easy to look up AppleScript-style keywords and get their four-char code equivalents. Also, the ObjC glue exporter dumps all of the dictionary's four-char codes into a convenient .h file (just take out the #import lines).

Upvotes: 1

diciu
diciu

Reputation: 29333

As far as I know, Scripting Bridge is Objective-C only (there's no pure C (Carbon) equivalent).

That said, calling Objective-C methods from C isn't complicated beyond use.

Upvotes: 1

Related Questions