Allocation-free block renderer for one prepared track automation program. More...
#include <track_automation_renderer.hpp>
Public Member Functions | |
| TrackAutomationRenderer (const TrackAutomationRenderer &)=delete | |
| TrackAutomationRenderer & | operator= (const TrackAutomationRenderer &)=delete |
| TrackAutomationRenderer (TrackAutomationRenderer &&) noexcept=default | |
| TrackAutomationRenderer & | operator= (TrackAutomationRenderer &&) noexcept=default |
| runtime::Result< TrackAutomationRendererAdoption, TrackAutomationRendererError > | adopt (std::shared_ptr< const TrackAutomationProgram > program) |
| Rebuilds prepared storage while the caller has exclusive access. | |
| TrackAutomationRenderResult | process (const TransportSnapshot &transport) noexcept |
| void | reset () noexcept |
| timeline::ItemId | track_id () const noexcept |
| const std::shared_ptr< const TrackAutomationProgram > & | program () const noexcept |
| const AutomationPlaybackLimits & | limits () const noexcept |
| std::span< const DeviceAutomationBatch > | batches () const noexcept |
Static Public Member Functions | |
| static runtime::Result< TrackAutomationRenderer, TrackAutomationRendererError > | create (std::shared_ptr< const TrackAutomationProgram > program, AutomationPlaybackLimits limits=AutomationPlaybackLimits::platform_defaults()) |
Static Public Attributes | |
| static constexpr std::size_t | kEventsPerDevice |
| static constexpr audio::RtSafetyClass | process_rt_safety_class |
Allocation-free block renderer for one prepared track automation program.
Program adoption is a control-thread operation; it preserves cursor carry for lanes with the same identity and preallocates all block storage.
|
delete |
|
defaultnoexcept |
| runtime::Result< TrackAutomationRendererAdoption, TrackAutomationRendererError > pulp::playback::TrackAutomationRenderer::adopt | ( | std::shared_ptr< const TrackAutomationProgram > | program | ) |
Rebuilds prepared storage while the caller has exclusive access.
A concurrently published renderer must instead be created afresh.
|
inlinenoexcept |
|
static |
|
inlinenoexcept |
|
delete |
|
defaultnoexcept |
|
noexcept |
|
inlinenoexcept |
|
noexcept |
|
noexcept |
|
staticconstexpr |
|
staticconstexpr |