Elementary Plugin Dev Kit (Beta)
2 min read

Elementary Plugin Dev Kit (Beta)

If you read my previous post on writing Audio Plugins in JavaScript, then you know that this update has been coming for a while, and marks another big step for the Elementary Audio project. Today the Elementary Plugin Dev Kit is officially entering public beta for MacOS users (don't worry, Windows and Linux support is actively in development).

What is this?

The Plugin Dev Kit is a simple audio plugin in VST3 and AU formats that runs your Elementary code inside your DAW. This is generally geared towards two types of projects.

  1. The first is simply for users who want to hack their DAW to build entirely custom audio effects and sounds using JavaScript and web technology. You could think of it like Max For Live, except that it works in any DAW that loads VST3/AU, and you can build with the same tools and workflow that you might use to make a web app.
  2. The second project type is for people or teams that are interested in building their own production audio plugins with the goal of selling to their own customers. In this case the workflow is the same: you can build inside your DAW with immediate visual and audio feedback, but when your product is ready, we can help you prepare for sales and distribution.

If you want to see an example in action, check out my presentation on The Audio Programmer Meetup from a few weeks ago.

Limitations

The Plugin Dev Kit currently ships with the follow constraints:

  • It’s MacOS only, 10.11+ (it will be cross-platform soon!)
  • It’s branded the “Elementary Dev Kit” and will show up in your DAW that way
  • It only exposes 8 macro parameters (which you can wire into your app)
  • It will only load your code from https://127.0.0.1:3000
  • Only effect plugins are properly supported (MIDI information is not yet propagated)
  • Sample, Table, and Convolve nodes are currently disabled
  • Plugin state saving and loading is disabled

All of the limitations noted above will be removed either in upcoming releases or at the time you’re ready to package up and distribute to your customers.

Get Started

You can download the latest build here, then unzip and follow the README for quick instructions getting started. From there, take a look at the Audio Plugin documentation on the Elementary docs site, and if you hit any issues or have any questions, join our Discord community and ask any time.