views:

103

answers:

2

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.

Thanks!

A: 

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.

diciu
This is easier than I thought. Thanks for the link!
Alex Marcotte
A: 

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).

has