OSAX list?

I would like us to accumulate a list of OSAXen that are still available and work with Mavericks and later OS X releases: name, download URL, and brief description. Just add the ones you know about here.

Late Night Software
(freeware from the author of the Script Debugger scripting IDE)

Sat image
(from the makers of the Smile scripting environment, downloadable from the Smile companion osax page)

  • XMLLib
  • Satimage
  • Numerics
  • FITS
  • Files

You may want to be very selective about which scripting additions (.osax) that you install, since they are always on, always included (if you have a “use scripting additions” statement) in your script. The problem is conflicts of terminology, i.e., the same name is used for a handler/function in more than one OSAX, and/or with your own handlers.

Now that ASObjC is in full use/availability, many of the functions provided by the OSAXs are no longer needed.

I recommend that you download and use the free BridgePlus Script Library (ASObjC) by Shane Stanley.

Here is a document I created (all errors are mine) that list the functions provided by BridgePlus:
List of Handlers - BridgePlus.pdf

With a Script Library, you can control when it is in use, and even which Lib to use for a specific call to a handler.

The only OSAX that I continue to use is the Satimage.osax, and I will probably be phasing that out as I replace the functions I need with ASObjC libraries/handlers.

Hey Mitchell,

All of the LNS osaxen are old 32-bit and aren’t functional on 10.9+ (if memory serves).


ASObjC looks promising and exciting, and I will certainly look at the documents you mention, but using it presumes a certain amount of library fluency/knowledge. I can stumble my way around programming an Objective-C program, but I don’t know much about the library classes and functions I would need to use.

Likewise for JXA. I can’t imagine someone getting anywhere with that without a pretty good background in JavaScript, and JXA would not be a motivation or appropriate context in which to gain it.

It amuses me how much I like AppleScript. First of all, along with tools such as KM, it allows me to impose behavior and interface I desire on applications in place of things that displease e or make my work slower or harder. Then, it’s always fun to program in yet another language. And there’s something satisfyingly perverse about programming in an English-based language. Beyond all that, there is the ever-amusing challenge of arguing with AppleScript about syntax, semantics, style, and the state of the world. I guess learning the ObjC bridge would give allow me to continue all that, but with more power (and less or no reliance on OSAXen.

I use a whole collection of AppleScript libraries I have written, abstracting my commonly used code.

Thanks for the comments.

To be clear, using an AppleScript Library that has ASObjC handlers/functions is no more difficult that using a Lib that has only standard AppleScript handlers.

You do NOT need to know anything about ASObjC.
All you need to know is:

  • What the function does
  • Its input parameters
  • What it returns

Same as with any calls to any library (whether it be pure AppleScript, ASObjC, or scripting addition (OSAX)).

Chris and I have already shown you how to use a Script Library in this topic.

You’re right. I am making too big a deal about this. It has nothing to do with Objective-C syntax or program structure. It’s just a bunch of functions to call, just like AppleScript libraries. I still have to learn the datatypes and get familiar with the rich collection of classes and methods provided, but as you’ve shown it isn’t anything to really worry about. Especially with the documentation you have provided.

Mark Aldritt of LNS responded to my email by saying: “XMLTools, PList Tools and Record & List Tools are probably okay on El Capitan. I’ve not received any reports of problems, but I’m no longer using them myself. I don’t have plans to update the scripting additions.”

Hey Mitchell,

Thanks. That’s good to know.

But I quit putting them on my system for a reason, even if I don’t remember what the reason is (damnit).