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

Immutable chord/scale context lane owned by a sequence. More...

#include <model.hpp>

Public Member Functions

std::span< const ChordScaleEvent > events () const noexcept
 Returns events in strictly increasing position order.
bool empty () const noexcept
 Returns whether no harmonic context is authored.
const ChordScaleEvent * at (timebase::TickPosition position) const noexcept
 Returns the last event starting at or before position.
bool shares_storage_with (const ChordScaleLane &other) const noexcept
 Returns whether both lanes share the same immutable event storage.
bool operator== (const ChordScaleLane &other) const noexcept
 Compares authored event values.

Static Public Member Functions

static runtime::Result< ChordScaleLane, ModelError > create (std::vector< ChordScaleEvent > events)
 Validates, orders, and stores harmonic events.

Detailed Description

Immutable chord/scale context lane owned by a sequence.

Events are strictly ordered by position with no duplicates. The lane is sequence-owned context read through the compile-context subscription contract described in compile_context.hpp.

Member Function Documentation

◆ at()

const ChordScaleEvent * pulp::timeline::ChordScaleLane::at ( timebase::TickPosition position) const
noexcept

Returns the last event starting at or before position.

Returns nullptr before the first event; no default harmony is invented.

◆ create()

runtime::Result< ChordScaleLane, ModelError > pulp::timeline::ChordScaleLane::create ( std::vector< ChordScaleEvent > events)
static

Validates, orders, and stores harmonic events.

◆ empty()

bool pulp::timeline::ChordScaleLane::empty ( ) const
inlinenoexcept

Returns whether no harmonic context is authored.

◆ events()

std::span< const ChordScaleEvent > pulp::timeline::ChordScaleLane::events ( ) const
inlinenoexcept

Returns events in strictly increasing position order.

◆ operator==()

bool pulp::timeline::ChordScaleLane::operator== ( const ChordScaleLane & other) const
noexcept

Compares authored event values.

◆ shares_storage_with()

bool pulp::timeline::ChordScaleLane::shares_storage_with ( const ChordScaleLane & other) const
inlinenoexcept

Returns whether both lanes share the same immutable event storage.


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