Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::format::lv2_adapter::Lv2TimePosition Struct Reference

A time:Position object decoded into LV2's own units and conventions. More...

#include <lv2_adapter.hpp>

Public Member Functions

bool any () const noexcept

Public Attributes

bool has_speed = false
bool has_frame = false
bool has_bar = false
bool has_beat = false
bool has_beats_per_bar = false
bool has_beat_unit = false
bool has_beats_per_minute = false
float speed = 0.0f
 0 = stopped, 1 = normal-rate playback
int64_t frame = 0
 sample position on the host timeline
int64_t bar = 0
 zero-based bar number
double beat = 0.0
 running beat count, in beat_unit beats
float beats_per_bar = 4.0f
 time-signature numerator
int32_t beat_unit = 4
 time-signature denominator
float beats_per_minute = 120.0f

Detailed Description

A time:Position object decoded into LV2's own units and conventions.

Each field carries its own presence flag because a host sends only the properties it knows: time:frame + time:speed from a plain sample transport, the full musical set from a tempo-aware one. The flags become TransportValidity bits on ProcessContext, so a processor can tell an unavailable value from a default one.

Member Function Documentation

◆ any()

bool pulp::format::lv2_adapter::Lv2TimePosition::any ( ) const
inlinenodiscardnoexcept

Member Data Documentation

◆ bar

int64_t pulp::format::lv2_adapter::Lv2TimePosition::bar = 0

zero-based bar number

◆ beat

double pulp::format::lv2_adapter::Lv2TimePosition::beat = 0.0

running beat count, in beat_unit beats

◆ beat_unit

int32_t pulp::format::lv2_adapter::Lv2TimePosition::beat_unit = 4

time-signature denominator

◆ beats_per_bar

float pulp::format::lv2_adapter::Lv2TimePosition::beats_per_bar = 4.0f

time-signature numerator

◆ beats_per_minute

float pulp::format::lv2_adapter::Lv2TimePosition::beats_per_minute = 120.0f

◆ frame

int64_t pulp::format::lv2_adapter::Lv2TimePosition::frame = 0

sample position on the host timeline

◆ has_bar

bool pulp::format::lv2_adapter::Lv2TimePosition::has_bar = false

◆ has_beat

bool pulp::format::lv2_adapter::Lv2TimePosition::has_beat = false

◆ has_beat_unit

bool pulp::format::lv2_adapter::Lv2TimePosition::has_beat_unit = false

◆ has_beats_per_bar

bool pulp::format::lv2_adapter::Lv2TimePosition::has_beats_per_bar = false

◆ has_beats_per_minute

bool pulp::format::lv2_adapter::Lv2TimePosition::has_beats_per_minute = false

◆ has_frame

bool pulp::format::lv2_adapter::Lv2TimePosition::has_frame = false

◆ has_speed

bool pulp::format::lv2_adapter::Lv2TimePosition::has_speed = false

◆ speed

float pulp::format::lv2_adapter::Lv2TimePosition::speed = 0.0f

0 = stopped, 1 = normal-rate playback


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