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

Render-thread view of immutable decoded sample pages. More...

#include <sample_resource.hpp>

Public Member Functions

void publish (SampleResourcePageWindow window)
void publish (std::shared_ptr< const SampleResourcePageWindow > window)
void clear ()
std::shared_ptr< const SampleResourcePageWindow > snapshot () const
float sample_or_zero (uint32_t channel, uint64_t frame) const noexcept
void read_channel (float *dest, uint32_t channel, uint64_t start_frame, uint64_t frame_count) const noexcept
SampleResourcePageHandoffDiagnostics diagnostics () const

Detailed Description

Render-thread view of immutable decoded sample pages.

Control/background code owns file I/O and decoding, then publishes a page window. The render path can only read resident pages; cache misses return silence and update atomic diagnostics, so this object cannot accidentally perform file I/O from the audio thread.

Member Function Documentation

◆ clear()

void pulp::audio::SampleResourcePageHandoff::clear ( )
inline

◆ diagnostics()

SampleResourcePageHandoffDiagnostics pulp::audio::SampleResourcePageHandoff::diagnostics ( ) const
inline

◆ publish() [1/2]

void pulp::audio::SampleResourcePageHandoff::publish ( SampleResourcePageWindow window)
inline

◆ publish() [2/2]

void pulp::audio::SampleResourcePageHandoff::publish ( std::shared_ptr< const SampleResourcePageWindow > window)
inline

◆ read_channel()

void pulp::audio::SampleResourcePageHandoff::read_channel ( float * dest,
uint32_t channel,
uint64_t start_frame,
uint64_t frame_count ) const
inlinenoexcept

◆ sample_or_zero()

float pulp::audio::SampleResourcePageHandoff::sample_or_zero ( uint32_t channel,
uint64_t frame ) const
inlinenoexcept

◆ snapshot()

std::shared_ptr< const SampleResourcePageWindow > pulp::audio::SampleResourcePageHandoff::snapshot ( ) const
inline

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