Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
au_v2_adapter.hpp File Reference
#include <AudioUnitSDK/AUMIDIEffectBase.h>
#include <AudioToolbox/AudioUnitProperties.h>
#include <pulp/format/contract_editor_session.hpp>
#include <pulp/format/au_v2_common.hpp>
#include <pulp/format/processor.hpp>
#include <pulp/runtime/trace_session.hpp>
#include <pulp/format/adapter_boundary.hpp>
#include <pulp/format/host_quirks.hpp>
#include <pulp/midi/buffer.hpp>
#include <pulp/midi/message.hpp>
#include <pulp/runtime/spsc_queue.hpp>
#include <pulp/runtime/alive_token.hpp>
#include <pulp/state/parameter_event_queue.hpp>
#include <array>
#include <atomic>
#include <cstdint>
#include <limits>
#include <memory>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

class  pulp::format::au::PulpAUEffect

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::au
 Apple-only: the whole header is gated on APPLE so it stays an empty no-op on the Linux header-hygiene check.

Functions

UInt32 pulp::format::au::build_channel_info (const PluginDescriptor &desc, AUChannelInfo *out) noexcept
 Maximum number of AUChannelInfo pairs build_channel_info can produce.
bool pulp::format::au::effect_has_sidechain_element (const PluginDescriptor &desc) noexcept
 True when an AU v2 unit built from desc exposes a second input element for side-chain audio: the descriptor declares a main input bus plus a second input bus with at least one channel.
UInt32 pulp::format::au::effect_input_element_count (const PluginDescriptor &desc) noexcept
 Number of AU input elements an AU v2 effect built from desc exposes: 2 with a side-chain bus (main + side chain), otherwise 1.
UInt32 pulp::format::au::instrument_input_element_count (const PluginDescriptor &desc) noexcept
 Number of AU input elements an AU v2 INSTRUMENT built from desc exposes: 0 without a main input bus (the classic synth), 1 with a main input, 2 with a main input and a side chain.
UInt32 pulp::format::au::sidechain_element_default_channels (const PluginDescriptor &desc) noexcept
 Default channel count of the side-chain input element, clamped into the adapter's per-bus ceiling.
std::size_t pulp::format::au::build_input_bus_infos (const PluginDescriptor &desc, ProcessBusBufferInfo *out, std::size_t cap) noexcept
 Fill ProcessBusBufferInfo for an AU v2 EFFECT's input buses: the main input (index 0, role Main) plus — when the descriptor declares a second input bus — a Sidechain bus (index 1, role Sidechain).
UInt32 pulp::format::au::resolve_sidechain_channels (const AudioBufferList *list, UInt32 expected_channels, UInt32 frame_offset, UInt32 frames, const float **out, std::size_t cap) noexcept
 Resolve the per-channel read pointers of a pulled side-chain buffer list for one render slice.

Variables

constexpr AudioUnitElement pulp::format::au::kSidechainInputElement = 1
 AU input element that carries the side-chain bus of an AU v2 effect.
constexpr const char * pulp::format::au::kSidechainElementName = "Side Chain"
 Element name a host shows for the side-chain input.