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

#include <compiled_tempo_map.hpp>

Public Member Functions

 TempoCursor ()=default
 TempoCursor (const CompiledTempoMap &map) noexcept
void reset (const CompiledTempoMap &map) noexcept
SampleToTickResult seek (SamplePosition sample) noexcept
SampleToTickResult advance (SamplePosition sample) noexcept
long double advance_fractional (long double sample) noexcept
 Continuous monotonic counterpart to advance().
double tempo_at_tick (TickPosition tick) noexcept
std::size_t segment_index () const noexcept

Constructor & Destructor Documentation

◆ TempoCursor() [1/2]

pulp::timebase::TempoCursor::TempoCursor ( )
default

◆ TempoCursor() [2/2]

pulp::timebase::TempoCursor::TempoCursor ( const CompiledTempoMap & map)
inlineexplicitnoexcept

Member Function Documentation

◆ advance()

SampleToTickResult pulp::timebase::TempoCursor::advance ( SamplePosition sample)
noexcept

◆ advance_fractional()

long double pulp::timebase::TempoCursor::advance_fractional ( long double sample)
noexcept

Continuous monotonic counterpart to advance().

Segment crossings are amortized O(1); backward positions perform one cold seek.

◆ reset()

void pulp::timebase::TempoCursor::reset ( const CompiledTempoMap & map)
noexcept

◆ seek()

SampleToTickResult pulp::timebase::TempoCursor::seek ( SamplePosition sample)
noexcept

◆ segment_index()

std::size_t pulp::timebase::TempoCursor::segment_index ( ) const
inlinenoexcept

◆ tempo_at_tick()

double pulp::timebase::TempoCursor::tempo_at_tick ( TickPosition tick)
noexcept

The documentation for this class was generated from the following file: