Allocation-free automation consumer over one uniquely pinned wire payload. More...
#include <program_wire.hpp>
Public Member Functions | |
| ProgramWireAutomationConsumer (std::span< ProgramWireLaneState > lane_state, std::size_t track_capacity, std::size_t wire_byte_capacity) noexcept | |
| ProgramWireAutomationConsumer (std::span< ProgramWireLaneState > lane_state, std::size_t track_capacity) noexcept | |
| ProgramWireAutomationConsumer (std::span< ProgramWireLaneState > lane_state) noexcept | |
| ProgramWireAutomationConsumer (const ProgramWireAutomationConsumer &)=delete | |
| ProgramWireAutomationConsumer & | operator= (const ProgramWireAutomationConsumer &)=delete |
| ProgramWireAdoptionResult | adopt (ProgramWireBytePin candidate, const timebase::CompiledTempoMap &tempo_map, std::span< const timebase::TempoPoint > tempo_points) noexcept |
| ProgramWireAutomationRenderResult | render (const TransportSnapshot &transport, std::span< ProgramWireAutomationLaneOutput > output) noexcept |
| std::span< const std::byte > | active_bytes () const noexcept |
| std::size_t | lane_count () const noexcept |
Static Public Attributes | |
| static constexpr std::size_t | kDefaultWireByteCapacity = 16u * 1'024u * 1'024u |
Allocation-free automation consumer over one uniquely pinned wire payload.
Adoption validates the exact prepared tempo-map identity and commits only after every lane and ceiling has passed. Rendering delegates to the same AutomationCursor algorithm used by direct PlaybackProgram consumers.
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
inlineexplicitnoexcept |
|
delete |
|
inlinenoexcept |
|
noexcept |
|
inlinenoexcept |
|
delete |
|
noexcept |
|
staticconstexpr |