Script MIDI in Apple's Logic Pro using JavaScript and the MIDI FX Scripter Plugin

Published: Dec. 18, 2022, 9 p.m.

Kerri and Ash are deep diving into Logic Pro MIDI scripting this time.

===

But first! WiFi routers! \U0001f971\U0001f634\U0001f62a Because Ash is done with Eero yet has Mesh Needs\u2122\ufe0f. He's opted for the Asus ZenWiFi AX 6600 2-pack and things are good so far.

Aaand while we're in WiFi router corner, can we just pour one out for Apple AirPort Express? Ash's finally died a few years ago, but Kerri still has one doing its thing reliably.

===

For our main topic, Kerri introduces Ash to the world of MIDI scripting in Apple Logic Pro.

But not in the language you thi-iiiink: it's a JavaScript API!

Some links discussed:


Gists of Kerri's plugins (these are conversions from other scripts for other DAWs; see each one's header for the original inspiration):


Kerri's general tips and tricks for getting started with Logic Pro scripting:

  1. Use the script sample source code to learn the API\u2014there are a lot of them, and you'll find valuable snippets of information in each one!
  2. Find tutorials; the official docs are... sparse and unsearchable\u2014the links above are a great start.
  3. Find 3rd-party docs class-and-method references
  4. Set magic globals with *var*, not "const" or "let" (e.g.: var NeedsTimingInfo = true;)
  5. Click "Run script" to push your script changes to the app; saving alone will not push the changes

The takeaway? If you want to script MIDI in Logic Pro, this is your option. The API speaks the languages of MIDI and musical timing natively, which is a beautiful thing. But be prepared for a friction-heavy developer experience, especially if you're familiar with modern development environments such as Visual Studio Code.

===

Lastly, Kerri and Ash talk about developer experience as a general subject, in...