ara

Integrate ARA support into Pulp builds with CMake toggles and adapter bindings.

13|1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/danielraffel/pulp --skill ara
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ara
Source: https://github.com/danielraffel/pulp/tree/main/.agents/skills/ara
Command: npx skills add https://github.com/danielraffel/pulp --skill ara

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Integrates optional Audio Random Access (ARA) support into the Pulp framework to enable timeline-aware, non-linear audio editing and document-based audio workflows for plugins and hosts without committing vendor SDKs into the repository.

Core Features & Use Cases

  • Developer-supplied SDK setup: Guidance for cloning and verifying the Celemony ARA SDK as an out-of-tree, opt-in dependency.
  • Build and enablement: CMake knobs and build-time guards to enable or disable ARA (PULP_ENABLE_ARA, PULP_ARA_SDK_DIR) and fast-fail on missing headers.
  • Adapter & plugin guidance: Adapter companion factory bindings for CLAP, VST3, and AU plus instructions for subclassing AraDocumentController and translating between Pulp types and SDK structs.
  • Validation & tests: ABI and runtime verification steps, smoke tests, and expectations for factory/controller behavior across hosts.

Quick Start

Build Pulp with ARA enabled by configuring CMake with PULP_ENABLE_ARA=ON and PULP_ARA_SDK_DIR pointing to your cloned external/ara-sdk.

Frequently Asked Questions about ara

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable ARA audio editing support in a plugin SDK?

To enable ARA audio editing, configure CMake with PULP_ENABLE_ARA=ON and point PULP_ARA_SDK_DIR to your locally cloned Celemony ARA SDK directory before building the Pulp framework.

What is ARA integration for audio plugins and when is it needed?

ARA integration enables timeline-aware, non-linear audio editing and document-based workflows between plugins and hosts. It is needed when developing audio software requiring direct, random access to the host's audio data.

Do I need to commit the ARA SDK to my repository to build Pulp plugins?

No, the ARA SDK is treated as an out-of-tree, opt-in dependency. Developers must clone and verify the Celemony ARA SDK externally, keeping vendor SDKs out of the main repository.

Does ARA integration work with Logic, Cubase, and Studio One hosts?

Yes, ARA integration supports adapter implementation and plugin document-controller development targeting major hosts including Logic, Cubase, Studio One, Reaper, and Bitwig.

How do I validate ARA factory and document controller behavior across hosts?

Validate ARA behavior by running ABI verification tests, smoke tests, and runtime factory/controller validation checks to ensure proper document-controller functionality across supported hosts.

Can I use CMake toggles to disable ARA if the SDK headers are missing?

Yes, CMake build-time guards use PULP_ENABLE_ARA to toggle support and fast-fail on missing headers, allowing you to disable ARA and build Pulp without the external SDK.