Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
waveform_gpu_primitives.hpp File Reference

Backend-neutral waveform thumbnail upload and composition planning helpers. More...

#include <pulp/audio/waveform_overview.hpp>
#include <pulp/view/waveform_editor_primitives.hpp>
#include <cstddef>
#include <cstdint>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::view::WaveformPeakVertex
struct  pulp::view::WaveformGpuUploadKey
struct  pulp::view::WaveformGpuLayerConfig
struct  pulp::view::WaveformGpuStaticLayerPlan
struct  pulp::view::WaveformGpuLayerPlan
struct  pulp::view::WaveformGpuResourceRecord
struct  pulp::view::WaveformGpuResourceCacheStats
struct  pulp::view::WaveformGpuResourcePutResult
class  pulp::view::WaveformGpuResourceCache
 Metadata-only LRU for backend-owned waveform resources. More...

Namespaces

namespace  pulp
namespace  pulp::view
 Hover-cursor tracking for platform window hosts.

Functions

bool pulp::view::operator== (const WaveformGpuUploadKey &a, const WaveformGpuUploadKey &b) noexcept
bool pulp::view::operator!= (const WaveformGpuUploadKey &a, const WaveformGpuUploadKey &b) noexcept
WaveformGpuStaticLayerPlan pulp::view::build_waveform_gpu_static_layer_plan (const pulp::audio::WaveformOverview &thumbnail, const WaveformViewport &viewport, const WaveformGpuLayerConfig &config={})
WaveformGpuLayerPlan pulp::view::build_waveform_gpu_layer_plan (const pulp::audio::WaveformOverview &thumbnail, const WaveformViewport &viewport, int64_t playhead_sample, const WaveformGpuLayerConfig &config={}, const WaveformGpuUploadKey *previous_static_key=nullptr)
std::size_t pulp::view::fill_waveform_peak_vertices (const pulp::audio::WaveformOverview &thumbnail, const WaveformGpuStaticLayerPlan &plan, std::span< WaveformPeakVertex > dst) noexcept
 Fill caller-owned vertices for CPU fallback or GPU upload staging.

Detailed Description

Backend-neutral waveform thumbnail upload and composition planning helpers.

These primitives describe what a GPU-backed waveform renderer can cache or upload, but they do not own Dawn/Skia/Metal resources. They are safe to use in CPU-only/headless builds and keep WaveformView display-only.