Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
offline_processor.hpp File Reference
#include <pulp/audio/audio_file.hpp>
#include <functional>
#include <string>
#include <optional>
#include <vector>
#include <cstdint>

Go to the source code of this file.

Classes

struct  pulp::audio::OfflineRenderBlockContext
 Per-block metadata for deterministic offline renders. More...
struct  pulp::audio::OfflineRenderComputePolicy
struct  pulp::audio::OfflineRenderComputeDecision
struct  pulp::audio::OfflineRenderResourceRef
struct  pulp::audio::OfflineRenderOptions
 Advanced offline render options. More...
struct  pulp::audio::OfflineRenderStem
struct  pulp::audio::OfflineRenderedStem
struct  pulp::audio::OfflineRenderStemResult
struct  pulp::audio::OfflineRenderComparison
struct  pulp::audio::OfflineRenderManifestChunk
struct  pulp::audio::OfflineRenderArtifactManifest

Namespaces

namespace  pulp
namespace  pulp::audio

Typedefs

using pulp::audio::OfflineProcessCallback
 Callback for processing a block of audio.
using pulp::audio::OfflineRenderCallback
 Callback for deterministic offline render blocks.

Enumerations

enum class  pulp::audio::OfflineRenderTailPolicy : uint8_t { pulp::audio::Truncate = 0 , pulp::audio::RenderTail }
enum class  pulp::audio::OfflineRenderExecutionScope : uint8_t { pulp::audio::RealtimeAudioThread = 0 , pulp::audio::OfflineAnalysis , pulp::audio::BackgroundAnalysis }
enum class  pulp::audio::OfflineRenderComputeBackend : uint8_t { pulp::audio::Cpu = 0 , pulp::audio::Gpu }

Functions

std::optional< AudioFileData > pulp::audio::offline_render (const AudioFileData &input, OfflineRenderCallback render_fn, const OfflineRenderOptions &options={})
 Render an entire in-memory audio file with deterministic block metadata.
std::optional< OfflineRenderStemResult > pulp::audio::offline_render_stems (const AudioFileData &input, OfflineRenderCallback render_fn, const OfflineRenderOptions &options, const std::vector< OfflineRenderStem > &stems)
 Render an in-memory file and extract named channel-range stems from the mix.
std::optional< OfflineRenderComparison > pulp::audio::compare_offline_render_audio (const AudioFileData &actual, const AudioFileData &expected)
 Compare two rendered artifacts for golden/null tests.
std::optional< std::string > pulp::audio::offline_render_audio_sha256 (const AudioFileData &audio)
 Compute a canonical SHA-256 digest for rendered floating-point audio.
std::optional< OfflineRenderArtifactManifest > pulp::audio::create_offline_render_manifest (const AudioFileData &rendered_audio, const OfflineRenderOptions &options={})
 Build a deterministic manifest for a rendered offline audio artifact.
OfflineRenderComputeDecision pulp::audio::evaluate_offline_render_compute_policy (const OfflineRenderComputePolicy &policy)
 Decide whether a GPU-assisted offline analysis request is allowed.
std::optional< AudioFileData > pulp::audio::offline_process (const AudioFileData &input, OfflineProcessCallback process_fn, int block_size=512)
 Process an entire audio file through a callback function.
bool pulp::audio::offline_process_file (const std::string &input_path, const std::string &output_path, OfflineProcessCallback process_fn, int block_size=512)
 Process a file on disk, writing the result to another file.
AudioFileData pulp::audio::apply_gain (const AudioFileData &input, float gain_linear)
 Simple gain processing for testing.