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

One exact-publication live Stretch runtime. More...

#include <realtime_stretch_renderer.hpp>

Public Member Functions

 RealtimeStretchProgramRuntime ()
 ~RealtimeStretchProgramRuntime ()
 RealtimeStretchProgramRuntime (RealtimeStretchProgramRuntime &&) noexcept
RealtimeStretchProgramRuntime & operator= (RealtimeStretchProgramRuntime &&) noexcept
 RealtimeStretchProgramRuntime (const RealtimeStretchProgramRuntime &)=delete
RealtimeStretchProgramRuntime & operator= (const RealtimeStretchProgramRuntime &)=delete
RealtimeStretchStateBankAdmission prepare (const PlaybackProgram &program, double sample_rate, std::uint32_t maximum_block_frames, std::uint32_t output_channels, const AudioRendererLimits &limits)
RealtimeStretchRenderCode preflight_track (const PlaybackProgram &program, const TrackProgram &track, const TransportSnapshot &transport, audio::BufferView< float > output) const noexcept
RealtimeStretchRenderCode process_track (const PlaybackProgram &program, const TrackProgram &track, const TrackMixerProgram &mixer, const TransportSnapshot &transport, audio::BufferView< float > nonstretch_output) noexcept
std::uint32_t latency_samples () const noexcept
std::uint64_t reserved_runtime_bytes () const noexcept
bool track_uses_realtime_stretch (timeline::ItemId track_id) const noexcept
void reset () noexcept
void force_prepare_allocation_failure_for_test () noexcept
void force_post_mutation_failure_for_test () noexcept

Detailed Description

One exact-publication live Stretch runtime.

It owns a disjoint mutable lane per track; the desktop graph may process those lanes in parallel, but its one-node-per-track topology never enters one lane concurrently.

Constructor & Destructor Documentation

◆ RealtimeStretchProgramRuntime() [1/3]

pulp::playback::RealtimeStretchProgramRuntime::RealtimeStretchProgramRuntime ( )

◆ ~RealtimeStretchProgramRuntime()

pulp::playback::RealtimeStretchProgramRuntime::~RealtimeStretchProgramRuntime ( )

◆ RealtimeStretchProgramRuntime() [2/3]

pulp::playback::RealtimeStretchProgramRuntime::RealtimeStretchProgramRuntime ( RealtimeStretchProgramRuntime && )
noexcept

◆ RealtimeStretchProgramRuntime() [3/3]

pulp::playback::RealtimeStretchProgramRuntime::RealtimeStretchProgramRuntime ( const RealtimeStretchProgramRuntime & )
delete

Member Function Documentation

◆ force_post_mutation_failure_for_test()

void pulp::playback::RealtimeStretchProgramRuntime::force_post_mutation_failure_for_test ( )
noexcept

◆ force_prepare_allocation_failure_for_test()

void pulp::playback::RealtimeStretchProgramRuntime::force_prepare_allocation_failure_for_test ( )
noexcept

◆ latency_samples()

std::uint32_t pulp::playback::RealtimeStretchProgramRuntime::latency_samples ( ) const
noexcept

◆ operator=() [1/2]

RealtimeStretchProgramRuntime & pulp::playback::RealtimeStretchProgramRuntime::operator= ( const RealtimeStretchProgramRuntime & )
delete

◆ operator=() [2/2]

RealtimeStretchProgramRuntime & pulp::playback::RealtimeStretchProgramRuntime::operator= ( RealtimeStretchProgramRuntime && )
noexcept

◆ preflight_track()

RealtimeStretchRenderCode pulp::playback::RealtimeStretchProgramRuntime::preflight_track ( const PlaybackProgram & program,
const TrackProgram & track,
const TransportSnapshot & transport,
audio::BufferView< float > output ) const
noexcept

◆ prepare()

RealtimeStretchStateBankAdmission pulp::playback::RealtimeStretchProgramRuntime::prepare ( const PlaybackProgram & program,
double sample_rate,
std::uint32_t maximum_block_frames,
std::uint32_t output_channels,
const AudioRendererLimits & limits )

◆ process_track()

RealtimeStretchRenderCode pulp::playback::RealtimeStretchProgramRuntime::process_track ( const PlaybackProgram & program,
const TrackProgram & track,
const TrackMixerProgram & mixer,
const TransportSnapshot & transport,
audio::BufferView< float > nonstretch_output )
noexcept

◆ reserved_runtime_bytes()

std::uint64_t pulp::playback::RealtimeStretchProgramRuntime::reserved_runtime_bytes ( ) const
noexcept

◆ reset()

void pulp::playback::RealtimeStretchProgramRuntime::reset ( )
noexcept

◆ track_uses_realtime_stretch()

bool pulp::playback::RealtimeStretchProgramRuntime::track_uses_realtime_stretch ( timeline::ItemId track_id) const
noexcept

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