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

#include <async_block_worker.hpp>

Public Attributes

double sample_rate = 48000.0
std::uint32_t input_channels = 0
 0 for an instrument
std::uint32_t output_channels = 2
std::uint32_t max_block = 512
 The largest block the host may send; also the unit of latency.
std::uint32_t latency_blocks = 1
 Latency in blocks of max_block.
std::uint32_t max_latency_blocks = 8
 The largest value request_latency_blocks() may later set.
std::uint32_t max_chunk = 0
 The longest chunk handed to the job; 0 means max_block.
std::uint32_t max_events_in = 256
 Capacity of the event rings, in events in flight each way.
std::uint32_t max_events_out = 256
std::uint32_t worker_latency_samples = 0
 Latency the worker's own processing adds (a resampler, a look-ahead), reported on top of the block latency.
std::chrono::microseconds wait_deadline {500000}
 Longest a waiting process() call blocks before it plays what exists.
bool run_worker_thread = true
 Run an internal worker thread.

Member Data Documentation

◆ input_channels

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::input_channels = 0

0 for an instrument

◆ latency_blocks

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::latency_blocks = 1

Latency in blocks of max_block.

0 makes every call wait for the worker, like rendering inline.

◆ max_block

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::max_block = 512

The largest block the host may send; also the unit of latency.

◆ max_chunk

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::max_chunk = 0

The longest chunk handed to the job; 0 means max_block.

◆ max_events_in

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::max_events_in = 256

Capacity of the event rings, in events in flight each way.

◆ max_events_out

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::max_events_out = 256

◆ max_latency_blocks

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::max_latency_blocks = 8

The largest value request_latency_blocks() may later set.

◆ output_channels

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::output_channels = 2

◆ run_worker_thread

bool pulp::audio::AsyncBlockWorkerConfig::run_worker_thread = true

Run an internal worker thread.

When false the owner calls pump() (tests, an externally owned service thread); Offline/Auto waits then pump inline on the calling thread.

◆ sample_rate

double pulp::audio::AsyncBlockWorkerConfig::sample_rate = 48000.0

◆ wait_deadline

std::chrono::microseconds pulp::audio::AsyncBlockWorkerConfig::wait_deadline {500000}

Longest a waiting process() call blocks before it plays what exists.

◆ worker_latency_samples

std::uint32_t pulp::audio::AsyncBlockWorkerConfig::worker_latency_samples = 0

Latency the worker's own processing adds (a resampler, a look-ahead), reported on top of the block latency.


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