Immutable compiler-supplied grouping of one track's compiled automation lanes. More...
#include <track_automation_program.hpp>
Public Member Functions | |
| timeline::ItemId | track_id () const noexcept |
| const timebase::CompiledTempoMap & | tempo_map () const noexcept |
| const std::shared_ptr< const timebase::CompiledTempoMap > & | tempo_map_owner () const noexcept |
| std::span< const std::shared_ptr< const AutomationProgram > > | programs () const noexcept |
| const AutomationProgram * | find_lane (timeline::ItemId lane_id) const noexcept |
Static Public Member Functions | |
| static runtime::Result< std::shared_ptr< const TrackAutomationProgram >, TrackAutomationProgramError > | create (timeline::ItemId track_id, std::shared_ptr< const timebase::CompiledTempoMap > tempo_map, std::vector< std::shared_ptr< const AutomationProgram > > programs) |
Friends | |
| class | detail::TrackAutomationCompiler |
Immutable compiler-supplied grouping of one track's compiled automation lanes.
This type validates the grouping but does not prove document attachment. Programs are canonicalized by lane identity while retaining their exact owners, so a rebuilt aggregate can reuse unchanged lane generations and instance tokens.
|
static |
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
friend |