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

#include <transport.hpp>

Public Attributes

const timebase::CompiledTempoMap * tempo_map = nullptr
 Non-owning identity of the exact compiled map used to resolve ranges.
timebase::RationalRate sample_rate {}
std::uint64_t block_index = 0
std::uint64_t playback_epoch = 0
 Epoch of ranges[0].
std::uint32_t frame_count = 0
MeterSignature meter {}
LoopRegion loop {}
bool is_playing = false
bool scrubbing = false
 True while the transport is rendering scrub windows.
bool transport_changed = false
bool transport_started = false
bool reset_requested = false
bool time_sig_changed = false
double tempo_bpm = 120.0
 Convenience mirror of ranges[0].tempo_bpm for block-level consumers.
std::array< TransportRange, 2 > ranges {}
std::uint8_t range_count = 0
double host_loop_start_beats = 0.0
double host_loop_end_beats = 0.0
bool has_precise_host_loop = false

Member Data Documentation

◆ block_index

std::uint64_t pulp::playback::TransportSnapshot::block_index = 0

◆ frame_count

std::uint32_t pulp::playback::TransportSnapshot::frame_count = 0

◆ has_precise_host_loop

bool pulp::playback::TransportSnapshot::has_precise_host_loop = false

◆ host_loop_end_beats

double pulp::playback::TransportSnapshot::host_loop_end_beats = 0.0

◆ host_loop_start_beats

double pulp::playback::TransportSnapshot::host_loop_start_beats = 0.0

◆ is_playing

bool pulp::playback::TransportSnapshot::is_playing = false

◆ loop

LoopRegion pulp::playback::TransportSnapshot::loop {}

◆ meter

MeterSignature pulp::playback::TransportSnapshot::meter {}

◆ playback_epoch

std::uint64_t pulp::playback::TransportSnapshot::playback_epoch = 0

Epoch of ranges[0].

Later ranges carry their own epoch so a scrub-anchor discontinuity may be represented precisely when it splits a block.

◆ range_count

std::uint8_t pulp::playback::TransportSnapshot::range_count = 0

◆ ranges

std::array<TransportRange, 2> pulp::playback::TransportSnapshot::ranges {}

◆ reset_requested

bool pulp::playback::TransportSnapshot::reset_requested = false

◆ sample_rate

timebase::RationalRate pulp::playback::TransportSnapshot::sample_rate {}

◆ scrubbing

bool pulp::playback::TransportSnapshot::scrubbing = false

True while the transport is rendering scrub windows.

is_playing is also true in that case: audio advances even when the musical transport is stopped, and consumers that only care whether the playhead moves need no scrub-specific branch.

◆ tempo_bpm

double pulp::playback::TransportSnapshot::tempo_bpm = 120.0

Convenience mirror of ranges[0].tempo_bpm for block-level consumers.

◆ tempo_map

const timebase::CompiledTempoMap* pulp::playback::TransportSnapshot::tempo_map = nullptr

Non-owning identity of the exact compiled map used to resolve ranges.

The map must outlive consumers of this callback snapshot.

◆ time_sig_changed

bool pulp::playback::TransportSnapshot::time_sig_changed = false

◆ transport_changed

bool pulp::playback::TransportSnapshot::transport_changed = false

◆ transport_started

bool pulp::playback::TransportSnapshot::transport_started = false

The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/playback/include/pulp/playback/transport.hpp