hosting

Load and test VST3/AU/CLAP/LV2 plugin binaries in the Pulp host.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a consistent way to load, run, and validate native audio plugin binaries for the Pulp host so developers can implement format backends, wire plugins into the signal graph, and run integration tests that require real plugins.

Core Features & Use Cases

  • Uniform PluginSlot interface with per-format loader functions that return plugin slot instances or null when unsupported.
  • Reference CLAP backend patterns including dynamic library loading, entry initialization and teardown, factory selection, and host pointer ownership.
  • Guidance for wiring plugins into the SignalGraph, audio-thread snapshot safety, parameter event handling, and common gotchas when adding new backends.
  • Integration testing patterns that use compile-time path macros to include real plugin binaries in test runs and a simple process-test pattern for validating audio processing.
  • Use cases: adding a new plugin format backend, extending PluginSlot loader dispatch, debugging graph connections and cycles, and writing integration tests against a real gain plugin.

Quick Start

Load a plugin into a PluginSlot, call prepare at 48000 Hz and 256 samples, feed a non-zero input buffer, call process, and assert the output has non-zero energy.

Frequently Asked Questions about hosting

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

FAQPage Schema
How do I load and test VST3 or CLAP plugin binaries in an audio host?

To load and test VST3 or CLAP plugins, use a uniform PluginSlot interface with per-format loader functions that return plugin slot instances or null when unsupported, then call prepare and process to validate audio output.

What is the best way to add a new plugin format backend like LV2 or AU?

Adding a new plugin format backend involves implementing platform-specific dynamic loading and symbol resolution, then extending the PluginSlot loader dispatch to populate plugin identity into PluginInfo and wire it into the SignalGraph.

How do I run integration tests that require real audio plugin binaries?

Running integration tests with real audio plugin binaries uses compile-time path macros to include the binaries in test runs, then applies a simple process-test pattern to feed non-zero input buffers and assert non-zero output energy.

How does SignalGraph wiring handle audio-thread snapshot safety and cycle checks?

SignalGraph wiring enforces audio-thread snapshot mutation rules and performs cycle checks to ensure safe parameter event handling and graph connections when wiring plugins into the processing chain.

Can I use the Pulp host to debug plugin format backends and graph connections?

Yes, the Pulp host provides a consistent way to load, run, and validate native audio plugin binaries, allowing developers to debug graph connections, cycles, and common gotchas when adding new format backends.

What do I need to validate audio processing for a real gain plugin?

To validate audio processing for a gain plugin, load it into a PluginSlot, call prepare at 48000 Hz and 256 samples, feed a non-zero input buffer, call process, and assert the output has non-zero energy.