Native plugins
Build, verify, inspect, install and remove AU, VST3, CLAP and AAX plugins with the maru plugin commands.
The maru plugin commands build a module into native plugins for a DAW, check
them, and manage the plugins Maru installs on your machine. Native builds need
the native compiler toolchain, which the maruaudio npm package does not
include yet: in this release, maru plugin build stops with exit code 4 and
says the toolchain is missing. maru doctor
reports which platform SDKs and compilers are present.
Build
maru plugin build --format vst3
maru plugin build compiles the module's programs, packages its face and
resources, and produces a plugin bundle for each requested format: Audio Unit,
VST3, CLAP and AAX where the module and platform support them, and a standalone
app. maru plugin build --help lists the formats and the options for building
several formats or modules at once.
The plugin identity, parameter list and saved-state format come from the module declaration. Keep the module's identity stable across releases: hosts use it to find the plugin in saved sessions, and parameters are matched by their stable position, so add new parameters at the end rather than reordering existing ones.
Verify and inspect
maru plugin verify-formats # check the built formats against the module maru plugin inspect <bundle> # inspect one built or installed plugin
maru plugin verify-formats loads the built formats and compares their
behavior with the module's reference output. maru plugin inspect reports what
a single plugin bundle contains and how it behaves in a headless host, which
helps when a DAW refuses to load it. It is separate from maru doctor, which
checks your machine rather than a plugin.
Then test the plugin in real hosts: Testing your VST walks through a first host check.
Install and remove
maru plugin install # build and install the module's plugins for this user maru plugin list # plugins installed by Maru maru plugin uninstall <id> # remove one installed plugin
maru plugin install places the plugin bundles in your system's standard
plugin folders and records what it installed. maru plugin list shows those
records, and maru plugin uninstall removes exactly the bundle a record owns;
it never touches plugins that Maru did not install.
Formats and signing
Which formats a module can produce depends on the module, the platform and the SDKs available. AAX builds need Avid's SDK and produce development bundles for testing; distributing an AAX plugin also needs Avid signing. Code signing and notarization for distribution follow your platform's requirements. The module page and verification report state which formats a release supports.