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

Immutable sequence-owned swing, timing-offset, and accent context. More...

#include <model.hpp>

Public Member Functions

const std::string & name () const noexcept
 Returns the authored display name.
timebase::TickDuration swing_grid () const noexcept
 Returns the swung subdivision width in canonical ticks; zero disables swing.
timebase::SwingRatio swing () const noexcept
 Returns the rational swing ratio.
timebase::TickDuration step () const noexcept
 Returns the repeating table-step width in canonical ticks; zero means no table.
std::span< const GrooveStep > steps () const noexcept
 Returns authored groove steps in repeating order.
std::int32_t timing_strength () const noexcept
 Returns timing-offset strength in per-mille.
std::int32_t velocity_strength () const noexcept
 Returns velocity-accent strength in per-mille.
bool states_no_feel () const noexcept
 Returns whether timing and velocity application are both identity operations.
bool is_canonical_default () const noexcept
 Returns whether this is the exact default value carried by a new sequence.
timebase::TickPosition apply_timing (timebase::TickPosition position) const noexcept
 Returns the deterministic sounding tick for authored position.
std::int32_t velocity_scale_at (timebase::TickPosition position) const noexcept
 Returns the accent multiplier at position, in per-mille.
bool shares_storage_with (const GrooveTemplate &other) const noexcept
 Returns whether both templates share the same immutable backing data.
bool operator== (const GrooveTemplate &other) const noexcept
 Compares complete authored groove values.

Static Public Member Functions

static runtime::Result< GrooveTemplate, ModelError > create (GrooveTemplateInput input)
 Validates and stores one immutable groove template.

Detailed Description

Immutable sequence-owned swing, timing-offset, and accent context.

Member Function Documentation

◆ apply_timing()

timebase::TickPosition pulp::timeline::GrooveTemplate::apply_timing ( timebase::TickPosition position) const
noexcept

Returns the deterministic sounding tick for authored position.

◆ create()

runtime::Result< GrooveTemplate, ModelError > pulp::timeline::GrooveTemplate::create ( GrooveTemplateInput input)
static

Validates and stores one immutable groove template.

◆ is_canonical_default()

bool pulp::timeline::GrooveTemplate::is_canonical_default ( ) const
noexcept

Returns whether this is the exact default value carried by a new sequence.

◆ name()

const std::string & pulp::timeline::GrooveTemplate::name ( ) const
inlinenoexcept

Returns the authored display name.

◆ operator==()

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

Compares complete authored groove values.

◆ shares_storage_with()

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

Returns whether both templates share the same immutable backing data.

◆ states_no_feel()

bool pulp::timeline::GrooveTemplate::states_no_feel ( ) const
noexcept

Returns whether timing and velocity application are both identity operations.

◆ step()

timebase::TickDuration pulp::timeline::GrooveTemplate::step ( ) const
inlinenoexcept

Returns the repeating table-step width in canonical ticks; zero means no table.

◆ steps()

std::span< const GrooveStep > pulp::timeline::GrooveTemplate::steps ( ) const
inlinenoexcept

Returns authored groove steps in repeating order.

◆ swing()

timebase::SwingRatio pulp::timeline::GrooveTemplate::swing ( ) const
inlinenoexcept

Returns the rational swing ratio.

◆ swing_grid()

timebase::TickDuration pulp::timeline::GrooveTemplate::swing_grid ( ) const
inlinenoexcept

Returns the swung subdivision width in canonical ticks; zero disables swing.

◆ timing_strength()

std::int32_t pulp::timeline::GrooveTemplate::timing_strength ( ) const
inlinenoexcept

Returns timing-offset strength in per-mille.

◆ velocity_scale_at()

std::int32_t pulp::timeline::GrooveTemplate::velocity_scale_at ( timebase::TickPosition position) const
noexcept

Returns the accent multiplier at position, in per-mille.

◆ velocity_strength()

std::int32_t pulp::timeline::GrooveTemplate::velocity_strength ( ) const
inlinenoexcept

Returns velocity-accent strength in per-mille.


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