Build Resonon from Source
If you want to make changes to the core source code of resonon or have other reasons for not using the official installers, you can build and install from source.
Prerequisites
Section titled “Prerequisites”- macOS — the build and install process is macOS-only (it codesigns the
binaries and symlinks them into
/usr/local/bin). - Rust toolchain — install via rustup. A recent stable toolchain is required.
- Node.js + npm — only needed to build the VS Code extension.
Build and install
Section titled “Build and install”Clone the repository and run the install target:
git clone https://github.com/WARNS-AUDIO/RESONON.gitcd RESONONmake installmake install performs the full pipeline:
- Builds and stages the bundled audio plugins.
- Builds the
resononbinary (release, with embedded plugins). - Builds the
resonon-lsplanguage server and theresonon-shimlauncher. - Installs them under
~/.resonon/versions/<version>+dev/— the workspace version plus+dev, replacing any earlier local build. - Copies the bundled sample kits and the standard library alongside them.
- Codesigns the binaries and makes this build the default, which also puts the
launcher in
~/.resonon/bin/. - Links
resononandresonon-lspin/usr/local/binto the launcher (this step usessudo).
The local build is named by the version it really is, so a project pinned to that minor
runs it, and a project pinned to another installed version runs that one — the launcher
chooses exactly as it does for releases. To run the local build on a project pinned
elsewhere, run the binary by path (~/.resonon/versions/<version>+dev/bin/resonon).
When it finishes, verify the install:
resonon --versionresonon version currentTo add a published version beside it, use resonon version install <version>.
VS Code extension
Section titled “VS Code extension”To build and install the extension from source:
make install-extBuilding without installing
Section titled “Building without installing”If you just want to compile the binaries (for development or CI) without
installing them system-wide, use cargo directly:
./scripts/stage-plugins.sh --releasecargo build --release --bin resonon --features embedded-pluginscargo build --release -p resonon-lspThe staging step is not optional. embedded-plugins embeds the bundled reverbs
and samplers into the binary at compile time, reading them from
target/plugins/release/ — so they have to be built and signed before resonon is
compiled, not after. Skip it and the build fails on a missing directory.
The binaries land in target/release/.
Run the tests
Section titled “Run the tests”The tests load the bundled plugins from a debug staging, so stage them once, and again after a plugin changes:
./scripts/stage-plugins.shcargo test --allNext Steps
Section titled “Next Steps”- Your First Sound — make a first sound now that resonon is built.
- Command Line — every
resononcommand and option. - Ship a Native Extension — build your own native extensions.