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

Go to the source code of this file.

Classes

struct  pulp::playback::AudioRendererError
struct  pulp::playback::DecodedAudioAsset
class  pulp::playback::DecodedAudioAssetPool
 Immutable, ID-sorted ownership table prepared off the audio thread. More...
struct  pulp::playback::ClipPlacementFadeSegment
 One placement-fade ramp a flattened leaf sits under, in clip-relative frames. More...
struct  pulp::playback::ClipPlacementFadeProgram
 Every placement fade one flattened leaf sits under. More...
struct  pulp::playback::AudioClipRendererProgram
class  pulp::playback::AudioTrackRendererProgram
class  pulp::playback::ArrangementAudioRenderer
 Renders every arrangement-selected audio track in PlaybackProgram order. More...
class  pulp::playback::ArrangementAudioTrackRenderer
 One stable SignalGraph-facing arrangement audio renderer. More...
class  pulp::playback::TrackMixerTrackRenderer
 Stable SignalGraph-facing post-device track mixer. More...

Namespaces

namespace  pulp
namespace  pulp::playback

Enumerations

enum class  pulp::playback::AudioRendererErrorCode : std::uint8_t {
  pulp::playback::InvalidIdentity , pulp::playback::DuplicateAsset , pulp::playback::MissingDecodedAsset , pulp::playback::InvalidAsset ,
  pulp::playback::AssetMetadataMismatch , pulp::playback::UnsupportedSampleRate , pulp::playback::InvalidClipRange , pulp::playback::InvalidFade ,
  pulp::playback::CapacityExceeded , pulp::playback::InvalidTakeComp , pulp::playback::OfflineStretchRequired , pulp::playback::OfflineStretchFailed
}
enum class  pulp::playback::AudioRenderStatus : std::uint8_t {
  pulp::playback::Rendered , pulp::playback::Silent , pulp::playback::InvalidProgram , pulp::playback::InvalidTransport ,
  pulp::playback::InvalidOutput , pulp::playback::CapacityExceeded , pulp::playback::RealtimeStretchStateRequired , pulp::playback::RealtimeStretchGap ,
  pulp::playback::RealtimeStretchStalePublication , pulp::playback::RealtimeStretchImpossibleRatio , pulp::playback::RealtimeStretchBackpressure , pulp::playback::RealtimeStretchUnderflow ,
  pulp::playback::RealtimeStretchUnsupportedScrubbing
}

Functions

runtime::Result< AudioClipRendererProgram, AudioRendererError > pulp::playback::compile_audio_clip_program (const timeline::Clip &clip, const timeline::Project &project, const timebase::CompiledTempoMap &tempo_map, const DecodedAudioAssetPool &assets, const AudioRendererLimits &limits)
runtime::Result< AudioClipRendererProgram, AudioRendererError > pulp::playback::compile_take_comp_segment_program (const timeline::TakeLane &lane, std::size_t segment_index, const timeline::Project &project, const timebase::CompiledTempoMap &tempo_map, const DecodedAudioAssetPool &assets, const AudioRendererLimits &limits)
 Lowers one canonical take-comp selection to the same immutable audio-region artifact used by arrangement clips.
runtime::Result< AudioClipRendererProgram, AudioRendererError > pulp::playback::compile_track_freeze_program (const timeline::Track &track, const timeline::Project &project, const timebase::CompiledTempoMap &tempo_map, const DecodedAudioAssetPool &assets, const AudioRendererLimits &limits)
 Lowers a track's selected freeze artifact to one immutable audio region.
runtime::Result< std::shared_ptr< const AudioTrackRendererProgram >, AudioRendererError > pulp::playback::link_audio_track_program (timeline::ItemId track_id, std::vector< AudioClipRendererProgram > clips, const AudioRendererLimits &limits)