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

Headless backend adapter over WaveformGpuRenderController. More...

#include <waveform_headless_render_backend.hpp>

Public Member Functions

 WaveformHeadlessRenderBackend (WaveformHeadlessRenderConfig config={})
 ~WaveformHeadlessRenderBackend ()
bool prepare (WaveformHeadlessRenderConfig config)
WaveformHeadlessRenderFrame render (const pulp::audio::WaveformOverview &thumbnail, const WaveformGpuLayerPlan &plan, const WaveformGpuRenderContext &context={})
void clear ()
WaveformGpuResourceCacheStats stats () const noexcept
std::size_t resource_count () const noexcept
std::size_t released_resource_count () const noexcept
std::uint64_t last_released_resource_id () const noexcept
std::size_t staging_vertex_capacity () const noexcept

Detailed Description

Headless backend adapter over WaveformGpuRenderController.

A real GPU renderer should mirror this lifecycle with backend buffers or textures instead of copied vectors: plan, create/upload the static layer, commit the resource on the owning render/control thread, release returned replacement/eviction records, then compose cached static layers with cheap playhead-only redraws. GPU-assisted offline analysis may use the same generation-keyed publication shape, but live audio callbacks must never wait for GPU completion.

Constructor & Destructor Documentation

◆ WaveformHeadlessRenderBackend()

pulp::view::WaveformHeadlessRenderBackend::WaveformHeadlessRenderBackend ( WaveformHeadlessRenderConfig config = {})
explicit

◆ ~WaveformHeadlessRenderBackend()

pulp::view::WaveformHeadlessRenderBackend::~WaveformHeadlessRenderBackend ( )

Member Function Documentation

◆ clear()

void pulp::view::WaveformHeadlessRenderBackend::clear ( )

◆ last_released_resource_id()

std::uint64_t pulp::view::WaveformHeadlessRenderBackend::last_released_resource_id ( ) const
inlinenodiscardnoexcept

◆ prepare()

bool pulp::view::WaveformHeadlessRenderBackend::prepare ( WaveformHeadlessRenderConfig config)

◆ released_resource_count()

std::size_t pulp::view::WaveformHeadlessRenderBackend::released_resource_count ( ) const
inlinenodiscardnoexcept

◆ render()

WaveformHeadlessRenderFrame pulp::view::WaveformHeadlessRenderBackend::render ( const pulp::audio::WaveformOverview & thumbnail,
const WaveformGpuLayerPlan & plan,
const WaveformGpuRenderContext & context = {} )
nodiscard

◆ resource_count()

std::size_t pulp::view::WaveformHeadlessRenderBackend::resource_count ( ) const
inlinenodiscardnoexcept

◆ staging_vertex_capacity()

std::size_t pulp::view::WaveformHeadlessRenderBackend::staging_vertex_capacity ( ) const
inlinenodiscardnoexcept

◆ stats()

WaveformGpuResourceCacheStats pulp::view::WaveformHeadlessRenderBackend::stats ( ) const
nodiscardnoexcept

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