#include <pulp/audio/rt_safety_contract.hpp>#include <pulp/playback/tempo_sync.hpp>#include <pulp/runtime/seqlock.hpp>#include <pulp/timebase/compiled_meter_map.hpp>#include <pulp/timebase/compiled_tempo_map.hpp>#include <pulp/timebase/loop_region.hpp>#include <array>#include <cstdint>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | pulp::playback::TransportRange |
| struct | pulp::playback::TransportSnapshot |
| struct | pulp::playback::TransportPlayhead |
| Where the transport is, published for a reader that is not the audio thread. More... | |
| struct | pulp::playback::TransportLoopState |
| The transport's accepted loop control state. More... | |
| struct | pulp::playback::MasterTransportConfig |
| class | pulp::playback::MasterTransport |
| Master musical transport with one control-thread writer and one audio-thread consumer. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::playback |
| namespace | pulp::playback::detail |
Typedefs | |
| using | pulp::playback::MeterSignature = timebase::MeterSignature |
| using | pulp::playback::LoopRegion = timebase::LoopRegion |
| The loop is a pair of document positions, so the timebase owns it and every rung that describes a loop names the same type. | |
Functions | |
| TransportError | pulp::playback::detail::advance_playback_epoch (std::uint64_t &epoch) noexcept |
| Advances an epoch without ever wrapping to an aliased identity. | |
| bool | pulp::playback::valid_transport_ranges (const TransportSnapshot &transport) noexcept |
| Validates the shared structural contract consumed by every block renderer. | |
| long double | pulp::playback::host_mapped_document_sample_at_output_offset (const TransportRange &range, const timebase::CompiledTempoMap &tempo_map, std::uint32_t output_offset) noexcept |
| Maps an output-frame boundary in a host-beat-mapped range back into the program's document-sample domain. | |
| bool | pulp::playback::host_mapped_output_offset_for_tick (const TransportRange &range, timebase::TickPosition document_tick, std::uint32_t &output_offset) noexcept |
| Maps an exact program event tick into a half-open host-beat-mapped transport range. | |