Immutable authored scene, slot, quantization, and follow-action model. More...
#include <pulp/timebase/compiled_meter_map.hpp>#include <pulp/timebase/tick.hpp>#include <pulp/timeline/item_id.hpp>#include <array>#include <compare>#include <cstddef>#include <cstdint>#include <initializer_list>#include <iterator>#include <memory>#include <span>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | pulp::timeline::LaunchQuantize |
| Musical-boundary quantization for one launch. More... | |
| struct | pulp::timeline::FollowAction |
| One weighted follow-action candidate. More... | |
| struct | pulp::timeline::FollowActionSet |
| Bounded weighted follow behavior attached to a slot. More... | |
| struct | pulp::timeline::Slot |
| One authored launch slot. More... | |
| class | pulp::timeline::SlotList |
| Immutable authored slot order with persistent structural sharing. More... | |
| class | pulp::timeline::SlotList::Iterator |
| Forward iterator that retains raw or persistent slot storage. More... | |
| struct | pulp::timeline::Scene |
| Authored grouping of slots presented as one launchable column. More... | |
| struct | pulp::timeline::FollowDraw |
| Stable identity of one reproducible follow-action decision. More... | |
| struct | pulp::timeline::FollowResolution |
| Deterministic outcome and optional target slot of follow resolution. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::timeline |
| namespace | pulp::timeline::detail |
| namespace | pulp::timeline::follow_detail |
Enumerations | |
| enum class | pulp::timeline::FollowActionKind : std::uint8_t { pulp::timeline::FollowActionKind::None , pulp::timeline::FollowActionKind::Stop , pulp::timeline::FollowActionKind::Again , pulp::timeline::FollowActionKind::Previous , pulp::timeline::FollowActionKind::Next , pulp::timeline::FollowActionKind::First , pulp::timeline::FollowActionKind::Last , pulp::timeline::FollowActionKind::Any , pulp::timeline::FollowActionKind::Other , pulp::timeline::FollowActionKind::Jump } |
| Action applied when a slot's follow timer elapses. More... | |
| enum class | pulp::timeline::FollowOutcome : std::uint8_t { pulp::timeline::FollowOutcome::None , pulp::timeline::FollowOutcome::Stop , pulp::timeline::FollowOutcome::Play } |
| Runtime request produced by resolving an authored follow action. More... | |
Functions | |
| constexpr LaunchQuantize | pulp::timeline::launch_immediate () noexcept |
| Returns an immediate, phase-zero launch policy. | |
| constexpr LaunchQuantize | pulp::timeline::launch_every_quarters (std::int64_t count) noexcept |
| Returns a phase-zero grid spanning count quarter notes. | |
| constexpr LaunchQuantize | pulp::timeline::launch_every_bars (std::int64_t count, timebase::MeterSignature meter) noexcept |
| Returns a phase-zero grid spanning count bars under meter. | |
| constexpr FollowActionSet | pulp::timeline::follow_action (FollowActionKind kind, timebase::TickDuration grid, std::uint32_t repetitions=1) noexcept |
| Builds a one-candidate follow set with unit weight. | |
| constexpr std::uint64_t | pulp::timeline::follow_action_mix (std::uint64_t value) noexcept |
| Applies the deterministic SplitMix64 finalizer used by follow draws. | |
| constexpr std::size_t | pulp::timeline::select_follow_action (const FollowActionSet &set, FollowDraw draw) noexcept |
| Selects one active candidate by relative weight. | |
| constexpr std::size_t | pulp::timeline::follow_detail::count_non_empty (std::span< const Slot > lane) noexcept |
| constexpr std::size_t | pulp::timeline::follow_detail::nth_non_empty (std::span< const Slot > lane, std::size_t n) noexcept |
| constexpr std::size_t | pulp::timeline::follow_detail::step_non_empty (std::span< const Slot > lane, std::size_t from, bool forward) noexcept |
| constexpr FollowResolution | pulp::timeline::follow_detail::play (std::span< const Slot > lane, std::size_t index) noexcept |
| constexpr FollowResolution | pulp::timeline::resolve_follow_action (std::span< const Slot > lane, std::size_t self_index, FollowDraw draw) noexcept |
| Resolves the successor of self_index under that slot's follow-action set. | |
Immutable authored scene, slot, quantization, and follow-action model.
Where the linear model places clips at absolute timeline positions, this surface describes what is launchable and how it quantizes. Playback resolves triggers sample-accurately and owns transport launch progress.