Allocation-free renderer for one immutable AutomationProgram. More...
#include <automation_cursor.hpp>
Public Member Functions | |
| AutomationCursorResult | process (const AutomationProgram &program, const TransportSnapshot &transport, std::span< AutomationBlockEvent > output, std::uint32_t max_intersecting_segments=std::numeric_limits< std::uint32_t >::max()) noexcept |
| AutomationCursorResult | process (const AutomationProgramView &program, const TransportSnapshot &transport, std::span< AutomationBlockEvent > output, std::uint32_t max_intersecting_segments=std::numeric_limits< std::uint32_t >::max()) noexcept |
| void | reset () noexcept |
| timeline::ItemId | active_lane_id () const noexcept |
| ProgramGeneration | active_generation () const noexcept |
Static Public Attributes | |
| static constexpr audio::RtSafetyClass | process_rt_safety_class |
Allocation-free renderer for one immutable AutomationProgram.
The caller owns the output budget and routes the resulting plain-domain control points. A non-seed point describes the transition from the preceding emitted point in the same transport range. process() may use the span as bounded scratch; only its first emitted_events entries are defined when the call returns.
|
inlinenoexcept |
|
inlinenoexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
staticconstexpr |