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

Immutable alternate recording lane owned by a Track. More...

#include <recording.hpp>

Public Member Functions

runtime::Result< TakeLane, ModelError > insert_take (Take take) const
 Returns a snapshot with take inserted, or a duplicate/invalid error.
runtime::Result< TakeLane, ModelError > erase_take (ItemId id) const
 Returns a snapshot without id.
runtime::Result< TakeLane, ModelError > with_comp_segments (std::vector< TakeCompSegment > comp) const
 Returns a snapshot with a validated, canonical replacement comp.
ItemId id () const noexcept
 Returns the lane's stable document identity.
const std::string & name () const noexcept
 Returns the authored lane name.
std::span< const Take > takes () const noexcept
 Returns takes in canonical identity order.
std::span< const TakeCompSegment > comp_segments () const noexcept
 Returns comp segments ordered by timeline start then take identity.
const Take * find_take (ItemId id) const noexcept
 Finds a take by identity, or returns nullptr when absent.

Static Public Member Functions

static runtime::Result< TakeLane, ModelError > create (ItemId id, std::string name, std::vector< Take > takes, std::vector< TakeCompSegment > comp={})
 Validates and creates a lane with its takes and optional comp.

Detailed Description

Immutable alternate recording lane owned by a Track.

Takes are canonical by identity. Comp segments are sample-exact, non-overlapping document intent; edits return new snapshots.

Member Function Documentation

◆ comp_segments()

std::span< const TakeCompSegment > pulp::timeline::TakeLane::comp_segments ( ) const
noexcept

Returns comp segments ordered by timeline start then take identity.

◆ create()

runtime::Result< TakeLane, ModelError > pulp::timeline::TakeLane::create ( ItemId id,
std::string name,
std::vector< Take > takes,
std::vector< TakeCompSegment > comp = {} )
static

Validates and creates a lane with its takes and optional comp.

◆ erase_take()

runtime::Result< TakeLane, ModelError > pulp::timeline::TakeLane::erase_take ( ItemId id) const

Returns a snapshot without id.

Removal fails when the take is absent or still referenced by the comp.

◆ find_take()

const Take * pulp::timeline::TakeLane::find_take ( ItemId id) const
noexcept

Finds a take by identity, or returns nullptr when absent.

◆ id()

ItemId pulp::timeline::TakeLane::id ( ) const
noexcept

Returns the lane's stable document identity.

◆ insert_take()

runtime::Result< TakeLane, ModelError > pulp::timeline::TakeLane::insert_take ( Take take) const

Returns a snapshot with take inserted, or a duplicate/invalid error.

◆ name()

const std::string & pulp::timeline::TakeLane::name ( ) const
noexcept

Returns the authored lane name.

◆ takes()

std::span< const Take > pulp::timeline::TakeLane::takes ( ) const
noexcept

Returns takes in canonical identity order.

◆ with_comp_segments()

runtime::Result< TakeLane, ModelError > pulp::timeline::TakeLane::with_comp_segments ( std::vector< TakeCompSegment > comp) const

Returns a snapshot with a validated, canonical replacement comp.


The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/timeline/include/pulp/timeline/recording.hpp