Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::midi::StepPlayerBlock Struct Reference

Block timing for one sample-accurate step-player call. More...

#include <step_player.hpp>

Public Attributes

timebase::SamplePosition sample_start {}
timebase::TickPosition tick_start {}
std::int32_t sample_count = 0
timebase::RationalRate sample_rate {}
double tempo_bpm = 120.0
const timebase::CompiledTempoMap * tempo_map = nullptr
bool playing = true
StepPlayerTransportEvent transport_event = StepPlayerTransportEvent::Continuous

Detailed Description

Block timing for one sample-accurate step-player call.

tick_start and sample_start describe the same block boundary. A compiled tempo map gives the exact tick-to-sample projection; callers without one can leave it null and provide the block's constant tempo and sample rate. transport_event is explicit because a loop wrap can keep the sample clock monotonic while the musical clock jumps.

Member Data Documentation

◆ playing

bool pulp::midi::StepPlayerBlock::playing = true

◆ sample_count

std::int32_t pulp::midi::StepPlayerBlock::sample_count = 0

◆ sample_rate

timebase::RationalRate pulp::midi::StepPlayerBlock::sample_rate {}

◆ sample_start

timebase::SamplePosition pulp::midi::StepPlayerBlock::sample_start {}

◆ tempo_bpm

double pulp::midi::StepPlayerBlock::tempo_bpm = 120.0

◆ tempo_map

const timebase::CompiledTempoMap* pulp::midi::StepPlayerBlock::tempo_map = nullptr

◆ tick_start

timebase::TickPosition pulp::midi::StepPlayerBlock::tick_start {}

◆ transport_event

StepPlayerTransportEvent pulp::midi::StepPlayerBlock::transport_event = StepPlayerTransportEvent::Continuous

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