|
|
constexpr | BasicTimelineTick (const BasicTimelineTick &)=default |
|
constexpr | BasicTimelineTick (BasicTimelineTick &&) noexcept=default |
|
constexpr BasicTimelineTick & | operator= (const BasicTimelineTick &)=default |
|
constexpr BasicTimelineTick & | operator= (BasicTimelineTick &&) noexcept=default |
| template<typename Q2> |
| constexpr | BasicTimelineTick (Q2 q) |
| | Construct from any au quantity convertible to Q.
|
| template<typename Q2> |
| constexpr | BasicTimelineTick (const BasicTimelineTick< Q2 > &other) |
| | Implicit widening (e.g. int→double) — au allows it.
|
|
bool | operator== (const BasicTimelineTick &) const =default |
|
auto | operator<=> (const BasicTimelineTick &) const =default |
| BasicTimelineTick | operator+ (const BasicTimelineTick &o) const |
| BasicTimelineTick | operator- (const BasicTimelineTick &o) const |
| BasicTimelineTick & | operator+= (const BasicTimelineTick &o) |
| BasicTimelineTick & | operator-= (const BasicTimelineTick &o) |
| BasicTimelineTick | operator- () const |
| constexpr double | operator/ (const BasicTimelineTick &o) const |
| | Dimensionless ratio of two equal-domain quantities (this / o).
|
| constexpr BasicTimelineTick | operator* (double scalar) const |
| | Scale by a dimensionless factor.
|
| Q | asQuantity () const |
| double | asDouble () const |
template<typename Q>
struct zrythm::dsp::BasicTimelineTick< Q >
Absolute positions on the project's musical timeline.
Convert from ContentTick ONLY via ContentTimeWarp::contentToTimeline().
au deliberately does not support "kind" types (same dimension, same magnitude, different logical domain). This wrapper provides that safety: BasicTimelineTick and BasicContentTick are unrelated types with no implicit conversion between them, so mixing them is a compile error.
Cross-precision conversion (int→double within the same domain) delegates entirely to au: au allows implicit int→double (lossless). Narrowing (double→int) is not provided — use .asDouble() if you need the raw value.
- Template Parameters
-
| Q | The underlying au tick quantity type (e.g. units::precise_tick_t for double precision, units::tick_t for integer precision). |
Definition at line 32 of file tick_types.h.