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

Immutable identity-bearing placement of one ClipContent value. More...

#include <clip.hpp>

Public Member Functions

ItemId id () const noexcept
 Returns the stable clip identity.
ClipTimeAnchor time_anchor () const noexcept
 Returns the clip's authored time domain.
const ClipTimeRange & time_range () const noexcept
 Returns the complete authored placement range.
timebase::TickPosition start () const noexcept
 Returns musical start; precondition: time_anchor() is Musical.
timebase::TickDuration duration () const noexcept
 Returns musical duration; precondition: time_anchor() is Musical.
timebase::TickPosition end () const noexcept
 Returns musical exclusive end; precondition: time_anchor() is Musical.
timebase::SamplePosition absolute_start () const noexcept
 Returns absolute start; precondition: time_anchor() is Absolute.
std::uint64_t absolute_duration_samples () const noexcept
 Returns absolute duration in samples; precondition: anchor is Absolute.
timebase::RationalRate absolute_sample_rate () const noexcept
 Returns absolute placement rate; precondition: anchor is Absolute.
timebase::SamplePosition absolute_end () const noexcept
 Returns absolute exclusive end; precondition: anchor is Absolute.
const ClipContent & content () const noexcept
 Returns the immutable content value.
runtime::Result< Clip, ModelError > with_time_range (ClipTimeRange range) const
 Returns a snapshot with validated replacement placement.
runtime::Result< Clip, ModelError > with_content (ClipContent content) const
 Returns a snapshot with validated replacement content.
runtime::Result< Clip, ModelError > with_playback_properties (ClipPlaybackProperties playback) const
 Returns a snapshot with validated replacement gain and fades.
runtime::Result< Clip, ModelError > with_time_conform (TimeConform time_conform) const
 Returns a snapshot with validated time-conform intent.
ClipPlaybackProperties playback_properties () const noexcept
 Returns the authored gain and fade controls.
TimeConform time_conform () const noexcept
 Returns the authored intent. None preserves legacy behavior.

Static Public Member Functions

static runtime::Result< Clip, ModelError > create (ItemId id, timebase::TickPosition start, timebase::TickDuration duration, ClipContent content, ClipPlaybackProperties playback={}, TimeConform time_conform=TimeConform::None)
 Creates a musical clip in canonical ticks.
static runtime::Result< Clip, ModelError > create_absolute (ItemId id, timebase::SamplePosition start, std::uint64_t sample_count, timebase::RationalRate sample_rate, ClipContent content, ClipPlaybackProperties playback={}, TimeConform time_conform=TimeConform::None)
 Creates an absolute clip in samples at sample_rate.

Detailed Description

Immutable identity-bearing placement of one ClipContent value.

Mutation helpers return path-copy snapshots and never alter this value.

Member Function Documentation

◆ absolute_duration_samples()

std::uint64_t pulp::timeline::Clip::absolute_duration_samples ( ) const
noexcept

Returns absolute duration in samples; precondition: anchor is Absolute.

◆ absolute_end()

timebase::SamplePosition pulp::timeline::Clip::absolute_end ( ) const
noexcept

Returns absolute exclusive end; precondition: anchor is Absolute.

◆ absolute_sample_rate()

timebase::RationalRate pulp::timeline::Clip::absolute_sample_rate ( ) const
noexcept

Returns absolute placement rate; precondition: anchor is Absolute.

◆ absolute_start()

timebase::SamplePosition pulp::timeline::Clip::absolute_start ( ) const
noexcept

Returns absolute start; precondition: time_anchor() is Absolute.

◆ content()

const ClipContent & pulp::timeline::Clip::content ( ) const
noexcept

Returns the immutable content value.

◆ create()

runtime::Result< Clip, ModelError > pulp::timeline::Clip::create ( ItemId id,
timebase::TickPosition start,
timebase::TickDuration duration,
ClipContent content,
ClipPlaybackProperties playback = {},
TimeConform time_conform = TimeConform::None )
static

Creates a musical clip in canonical ticks.

Validates identity, positive duration, content, playback controls, and that non-default time-conform intent is attached only to media content.

◆ create_absolute()

runtime::Result< Clip, ModelError > pulp::timeline::Clip::create_absolute ( ItemId id,
timebase::SamplePosition start,
std::uint64_t sample_count,
timebase::RationalRate sample_rate,
ClipContent content,
ClipPlaybackProperties playback = {},
TimeConform time_conform = TimeConform::None )
static

Creates an absolute clip in samples at sample_rate.

Validates identity, positive duration, rate, content, and playback controls. Absolute clips accept only TimeConform::None.

◆ duration()

timebase::TickDuration pulp::timeline::Clip::duration ( ) const
noexcept

Returns musical duration; precondition: time_anchor() is Musical.

◆ end()

timebase::TickPosition pulp::timeline::Clip::end ( ) const
noexcept

Returns musical exclusive end; precondition: time_anchor() is Musical.

◆ id()

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

Returns the stable clip identity.

◆ playback_properties()

ClipPlaybackProperties pulp::timeline::Clip::playback_properties ( ) const
noexcept

Returns the authored gain and fade controls.

◆ start()

timebase::TickPosition pulp::timeline::Clip::start ( ) const
noexcept

Returns musical start; precondition: time_anchor() is Musical.

◆ time_anchor()

ClipTimeAnchor pulp::timeline::Clip::time_anchor ( ) const
noexcept

Returns the clip's authored time domain.

◆ time_conform()

TimeConform pulp::timeline::Clip::time_conform ( ) const
noexcept

Returns the authored intent. None preserves legacy behavior.

◆ time_range()

const ClipTimeRange & pulp::timeline::Clip::time_range ( ) const
noexcept

Returns the complete authored placement range.

◆ with_content()

runtime::Result< Clip, ModelError > pulp::timeline::Clip::with_content ( ClipContent content) const

Returns a snapshot with validated replacement content.

◆ with_playback_properties()

runtime::Result< Clip, ModelError > pulp::timeline::Clip::with_playback_properties ( ClipPlaybackProperties playback) const

Returns a snapshot with validated replacement gain and fades.

◆ with_time_conform()

runtime::Result< Clip, ModelError > pulp::timeline::Clip::with_time_conform ( TimeConform time_conform) const

Returns a snapshot with validated time-conform intent.

Non-default intent requires a musical MediaRef clip.

◆ with_time_range()

runtime::Result< Clip, ModelError > pulp::timeline::Clip::with_time_range ( ClipTimeRange range) const

Returns a snapshot with validated replacement placement.


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