Process context — passed every audio callback with transport state.
Definition process_context.hpp:89
bool transport_jump
True when the host observed a discontinuous timeline move since the previous block.
Definition process_context.hpp:117
int time_sig_denominator
Definition process_context.hpp:129
int64_t position_samples
Definition process_context.hpp:127
int num_samples
Definition process_context.hpp:91
bool is_looping
True when the host's transport is in cycle/loop mode.
Definition process_context.hpp:150
int64_t host_time_ns
Host clock timestamp matching the start of this block, in nanoseconds since an epoch the host chooses...
Definition process_context.hpp:176
double loop_start_beats
Loop start in quarter notes, only meaningful when is_looping is true.
Definition process_context.hpp:159
int64_t bar
Bar index derived from position_beats + the active time signature.
Definition process_context.hpp:142
RenderSpeedHint render_speed_hint
Advisory render-speed category for hosts that know whether the current pass is live,...
Definition process_context.hpp:121
bool transport_started
True on the first block of a run — the block where the host's transport begins rolling.
Definition process_context.hpp:225
double position_beats
Position in quarter notes.
Definition process_context.hpp:126
bool should_reset_stream_history() const noexcept
True when continuous audio-stream history should be cleared.
Definition process_context.hpp:276
double loop_end_beats
Loop end in quarter notes, only meaningful when is_looping is true.
Definition process_context.hpp:164
bool ordinary_loop_wrap
True when the adapter classified this block's transport_jump as the expected backward move from a sta...
Definition process_context.hpp:244
bool is_recording
Definition process_context.hpp:124
FrameRate frame_rate
SMPTE frame rate when the host exposes one.
Definition process_context.hpp:181
bool is_playing
Definition process_context.hpp:123
TransportValidity transport_validity
Identifies which transport values were supplied for this block.
Definition process_context.hpp:232
bool is_bypassed
True when the host is rendering the plugin's bypass path for this block.
Definition process_context.hpp:102
constexpr bool has_transport(TransportField field) const noexcept
Definition process_context.hpp:246
bool is_tail_drain
True when the host is asking a processor to continue rendering after input/transport stop so delay,...
Definition process_context.hpp:106
bool is_maintenance_render() const noexcept
True when this block is not a normal input-driven render but the host is still calling process() so a...
Definition process_context.hpp:284
bool should_render_tail_only() const noexcept
True when the host is asking the processor to render only existing tail state.
Definition process_context.hpp:292
bool is_realtime() const noexcept
Definition process_context.hpp:250
double sample_rate
Definition process_context.hpp:90
bool transport_changed
True when any transport state field (is_playing, is_recording, is_looping) flipped since the previous...
Definition process_context.hpp:203
double tempo_bpm
Definition process_context.hpp:125
bool time_sig_changed
True when the host's reported time signature (time_sig_numerator or time_sig_denominator) differs fro...
Definition process_context.hpp:196
bool is_offline() const noexcept
Definition process_context.hpp:254
bool reset_requested
True for the first block after a transport jump, seek, or explicit DSP reset boundary.
Definition process_context.hpp:111
bool tempo_changed
True when the host's reported tempo_bpm differs from the previous block.
Definition process_context.hpp:190
bool should_reset_dsp_state() const noexcept
True when DSP state should treat this block as a discontinuity boundary.
Definition process_context.hpp:267
int time_sig_numerator
Definition process_context.hpp:128
ProcessMode process_mode
Runtime mode for this block.
Definition process_context.hpp:96
bool allows_offline_quality_work() const noexcept
Definition process_context.hpp:258