Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
realtime_stretch_state_bank.hpp File Reference
#include <pulp/audio/realtime_time_stretch.hpp>
#include <pulp/playback/audio_renderer_limits.hpp>
#include <pulp/timeline/model.hpp>
#include <compare>
#include <cstdint>
#include <memory>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::playback::RealtimeStretchStateSpec
struct  pulp::playback::RealtimeStretchStateBankAdmission
class  pulp::playback::RealtimeStretchStateBank
 Control-thread-prepared bank of clip-keyed realtime stretch processors. More...

Namespaces

namespace  pulp
namespace  pulp::playback

Enumerations

enum class  pulp::playback::RealtimeStretchStateBankError : std::uint8_t {
  pulp::playback::None , pulp::playback::InvalidConfiguration , pulp::playback::InvalidIdentity , pulp::playback::DuplicateIdentity ,
  pulp::playback::StateLimitExceeded , pulp::playback::ChannelLimitExceeded , pulp::playback::TimeRatioLimitExceeded , pulp::playback::StateBytesExceeded ,
  pulp::playback::ProcessorPrepareRejected , pulp::playback::AllocationFailed
}

Functions

RealtimeStretchStateBankAdmission pulp::playback::admit_realtime_stretch_state_bank (std::span< const RealtimeStretchStateSpec > specs, double sample_rate, std::uint32_t maximum_block_frames, const AudioRendererLimits &limits) noexcept
 Pure, allocation-free admission for one immutable bank shape.
RealtimeStretchStateBankAdmission pulp::playback::admit_realtime_stretch_program (const PlaybackProgram &program, double sample_rate, std::uint32_t maximum_block_frames, const AudioRendererLimits &limits)
 Control-thread aggregate admission for the exact immutable publication.