Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
auv3_cross_host.hpp File Reference

AU v3 cross-host quirks (macOS plan item 5.11). More...

Go to the source code of this file.

Namespaces

namespace  pulp
namespace  pulp::format
 What the product grants a device: the quota table indexed by capability tier and live thermal state.
namespace  pulp::format::host_quirks

Functions

void pulp::format::host_quirks::apply_auv3_cross_host (HostQuirks &q, HostVersion)
 Populate AU v3 cross-host flags onto q.

Detailed Description

AU v3 cross-host quirks (macOS plan item 5.11).

DAW-quirks rows 21 + 22 — these are not specific to any single AU v3 host; they're contract-level accommodations every AU v3 wrapper surface needs. The dispatch table layers this helper on top of the per-host helpers for any host that exposes an AU v3 plug-in surface (today: Logic Pro + GarageBand on macOS; the same flags also apply when Pulp's AU v3 plug-in extension runs as a child process of an iOS / macOS host that exposes the AU v3 wrapper surface — those hosts are currently reported as HostType::Unknown and the AU v3 adapter is responsible for re-applying this helper when it detects the wrapper-provided host identifier at runtime).

  • row 21: AU v3 expects the bypass parameter to be tracked on two surfaces — the plugin-provided bypass param and the platform's AUValue for getShouldBypassEffect. One-sided updates cause stale UI (if only the platform side updates) or stale audio (if only the plugin side updates). The AU v3 adapter must register a single bypass parameter that proxies both ways.
  • row 22: AU v3 plug-ins run in a sandboxed extension; the host executable name is not visible to the bundle. Host detection must consume the wrapper-provided host identifier (e.g. AUHostingService-reported value) instead of the executable- path heuristic. The flag tells the host-detection layer to prefer the wrapper-reported identifier when set.

Version handling: both rows are AU v3 contract behavior, not host- version-keyed. The helper fires both flags unconditionally for any host that exposes an AU v3 surface.

Reference-Lineage: independent reproducer=macos-plan-item-5.11 docs=https://developer.apple.com/documentation/audiotoolbox/auaudiounit