Skip to content

Repository files navigation

ara2-bridge

CI

Rust infrastructure for authoring ARA 2.3 hosts and plug-ins. The project targets the complete redistributable public surface of Celemony's ARA SDK 2.3: the core ABI, generation compatibility, host and plug-in runtimes, content and persistence utilities, and CLAP, VST3, and Audio Unit v2 companions. DSP algorithms, AUv3, and the separately licensed AAX API are outside this scope.

Workspace

Crate Version Responsibility
ara2-bridge-sys crates.io Pregenerated, target-selected raw ABI and compatibility metadata
ara2-bridge-core crates.io Shared safe types, validation, registries, and dispatch
ara2-bridge-plugin crates.io Plug-in factory, document controller, and extension roles
ara2-bridge-host crates.io Host services, document graph, and plug-in dispatch
ara2-bridge-companion crates.io CLAP, VST3, and Audio Unit v2 adapters
ara2-bridge-testkit crates.io Mock peers, fixtures, and conformance scenarios
ara2-bridge crates.io Aggregating facade

The current 0.3.0 implementation includes the plug-in and host runtimes, core content and persistence utilities, CLAP/VST3/Audio Unit v2 adapters, deterministic conformance kit, native C++ interoperability, safety harnesses, and provenance-aware raw bindings. Platform-specific native evidence is collected by the runner matrix before a release is declared conformant.

Getting Started

The facade defaults to plug-in authoring:

[dependencies]
ara2-bridge = "0.3.0"

Run the public examples from a checkout:

cargo run -p ara2-bridge --example minimal-plugin
cargo run -p ara2-bridge --example minimal-host --no-default-features --features host
cargo run -p ara2-bridge --example archive-roundtrip

See the build guide for the complete platform, feature, SDK, and maintainer build process; companion SDK setup for locked native inputs; the migration guide for the intentional 0.1 API break; and the manual source map for the 12-chapter inventory.

Projects using native companion features can install and build the complete locked SDK locally:

curl -fsSLO https://raw.githubusercontent.com/entrepeneur4lyf/ara2-bridge/v0.3.0/scripts/install-ara-sdk.sh
bash install-ara-sdk.sh
cargo build

The installer uses the invoking project's Git root, places sources under .third-party/, builds the Celemony examples under target/ara-sdk-build, and records relocatable paths in .cargo/config.toml. It never needs sudo or writes into a global SDK location.

Development

Rust 1.82 or newer is required. Package builds without native companion features do not need Clang or an SDK checkout. Maintainer generation requires Clang and the project-local SDK installation. Follow the prerequisites and tiered workflow in the build guide; the short quality gate is:

bash scripts/install-ara-sdk.sh
cargo xtask ara generate --check
cargo xtask ara probe-core --check-all
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps

Do not edit files under ara2-bridge-sys/src/generated/; regenerate them through xtask and commit the provenance and ABI evidence with the change.

About

ARA2 (Audio Random Access) lets audio plugins access DAW audio regions directly - not just streaming audio at the insert point. This crate wraps the C API as Rust traits with vtable builders, so you can write ARA2 plugins in pure Rust.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages