Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
sample_stream_voice_reader.hpp File Reference
#include <pulp/audio/buffer.hpp>
#include <pulp/audio/sample_asset.hpp>
#include <pulp/audio/sample_starvation_envelope.hpp>
#include <pulp/audio/sample_stream_consumption.hpp>
#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <type_traits>

Go to the source code of this file.

Classes

struct  pulp::audio::SampleStreamVoiceBlockPlan
struct  pulp::audio::SampleStreamVoiceBlockResult
struct  pulp::audio::SampleStreamVoiceDemandEnqueueResult
class  pulp::audio::SampleStreamVoiceReader
 Allocation-free linear forward one-shot reader over immutable sample assets. More...

Namespaces

namespace  pulp
namespace  pulp::audio
namespace  pulp::audio::detail

Enumerations

enum class  pulp::audio::SampleStreamVoiceSupply : std::uint8_t {
  pulp::audio::Ready , pulp::audio::Starved , pulp::audio::EndOfSource , pulp::audio::StaleGeneration ,
  pulp::audio::InvalidContract
}
enum class  pulp::audio::SampleStreamVoiceOutcomeClass : std::uint8_t {
  pulp::audio::None , pulp::audio::ServiceStarvation , pulp::audio::InvalidPreloadContract , pulp::audio::StaleGeneration ,
  pulp::audio::NormalEndOfSource , pulp::audio::InvalidRenderContract
}

Functions

void pulp::audio::detail::apply_sample_starvation_envelope (SampleStarvationEnvelope &envelope, BufferView< float > destination, const SampleStreamVoiceBlockResult &result, std::uint32_t output_frames) noexcept

Variables

constexpr std::size_t pulp::audio::kSampleStreamVoiceMaxPageDemands = 16