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

Audio-domain contract for a prepared realtime time-stretch stream. More...

#include <cstdint>
#include <memory>

Go to the source code of this file.

Classes

struct  pulp::audio::RealtimeTimeStretchStreamFinalizePlan
struct  pulp::audio::RealtimeTimeStretchConfig
struct  pulp::audio::RealtimeTimeStretchPreparedGeometry
class  pulp::audio::RealtimeTimeStretchProcessor
 Move-only prepared stream. More...

Namespaces

namespace  pulp
namespace  pulp::audio

Enumerations

enum class  pulp::audio::RealtimeTimeStretchQuality : std::uint8_t { pulp::audio::quality , pulp::audio::low_latency }
enum class  pulp::audio::RealtimeTimeStretchPrepareStatus : std::uint8_t {
  pulp::audio::prepared , pulp::audio::invalid_sample_rate , pulp::audio::invalid_channel_count , pulp::audio::invalid_max_block ,
  pulp::audio::invalid_max_time_ratio , pulp::audio::invalid_spectral_geometry , pulp::audio::unrepresentable_capacity
}
enum class  pulp::audio::RealtimeTimeStretchStreamFeedStatus : std::uint8_t { pulp::audio::accepted , pulp::audio::backpressure , pulp::audio::input_closed , pulp::audio::invalid_request }
enum class  pulp::audio::RealtimeTimeStretchStreamFinalizeStatus : std::uint8_t { pulp::audio::draining , pulp::audio::backpressure , pulp::audio::complete , pulp::audio::invalid_request }
enum class  pulp::audio::RealtimeTimeStretchStreamFinalizePlanStatus : std::uint8_t { pulp::audio::ready , pulp::audio::needs_drain , pulp::audio::complete , pulp::audio::invalid_request }

Functions

RealtimeTimeStretchPrepareStatus pulp::audio::checked_realtime_time_stretch_prepared_geometry (const RealtimeTimeStretchConfig &config, std::uint64_t requested_max_bytes, RealtimeTimeStretchPreparedGeometry &prepared)

Variables

constexpr int pulp::audio::kRealtimeTimeStretchMaximumChannels = 64

Detailed Description

Audio-domain contract for a prepared realtime time-stretch stream.

The spectral implementation is intentionally private to pulp-audio. Engine layers can admit, prepare, and run a bounded stretch stream without exposing signal-layer types or headers through their public API.