Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::gpu_audio::GpuAudioNodeDescriptor Struct Reference

Declared, fixed scheduling properties of a GPU audio node. More...

#include <gpu_audio_node.hpp>

Public Attributes

std::string name
uint32_t input_channels = 0
uint32_t output_channels = 0
uint32_t block_size = 0
uint32_t sample_rate = 0
uint32_t latency_blocks = 1
 Fixed latency in host blocks.
MissPolicy miss_policy = MissPolicy::Silence
bool supports_cpu_fallback = false
std::uint32_t worker_pipeline_blocks = 0
 Number of blocks the node's worker emits behind its submit (wet(N-D)).

Detailed Description

Declared, fixed scheduling properties of a GPU audio node.

Set at prepare() time and stable for the lifetime of a prepared node — the transport reports latency_blocks * block_size to the host as plugin delay compensation.

Member Data Documentation

◆ block_size

uint32_t pulp::gpu_audio::GpuAudioNodeDescriptor::block_size = 0

◆ input_channels

uint32_t pulp::gpu_audio::GpuAudioNodeDescriptor::input_channels = 0

◆ latency_blocks

uint32_t pulp::gpu_audio::GpuAudioNodeDescriptor::latency_blocks = 1

Fixed latency in host blocks.

The transport delays output by this many blocks so the audio thread never waits on the GPU.

◆ miss_policy

MissPolicy pulp::gpu_audio::GpuAudioNodeDescriptor::miss_policy = MissPolicy::Silence

◆ name

std::string pulp::gpu_audio::GpuAudioNodeDescriptor::name

◆ output_channels

uint32_t pulp::gpu_audio::GpuAudioNodeDescriptor::output_channels = 0

◆ sample_rate

uint32_t pulp::gpu_audio::GpuAudioNodeDescriptor::sample_rate = 0

◆ supports_cpu_fallback

bool pulp::gpu_audio::GpuAudioNodeDescriptor::supports_cpu_fallback = false

◆ worker_pipeline_blocks

std::uint32_t pulp::gpu_audio::GpuAudioNodeDescriptor::worker_pipeline_blocks = 0

Number of blocks the node's worker emits behind its submit (wet(N-D)).

The transport primes latency_blocks - worker_pipeline_blocks, which requires latency_blocks >= worker_pipeline_blocks + 1; total latency stays latency_blocks. Appended to keep positional initialization of the fields above source-compatible.


The documentation for this struct was generated from the following file: