Operations that build a new object out of existing ones.
Symbols in this group are spelled otio_algorithm_…. An SDK drops that prefix, which is why the name beside each call is the short one.
Collapses a stack's tracks into one, top layer winning where it is visible.
OtioStatus otio_algorithm_flatten_stack(
OtioDocument *target,
OtioNode stack,
OtioNode *out_track,
OtioBuffer *out_error);| Parameter | Type | Role |
|---|---|---|
| target | document | the document, changed |
| stack | node | input |
| out_track | node | written through, not read |
| out_error | text | why the call failed, or null to skip it |
Collapses a list of tracks into one, lowest first.
OtioStatus otio_algorithm_flatten_tracks(
OtioDocument *target,
const OtioNode *tracks,
size_t count,
OtioNode *out_track,
OtioBuffer *out_error);| Parameter | Type | Role |
|---|---|---|
| target | document | the document, changed |
| tracks ? | list<node> | input |
| count | size | the length of the buffer before it |
| out_track | node | written through, not read |
| out_error | text | why the call failed, or null to skip it |
Returns a copy of a track holding only what falls inside a span.
The copy is added to the same document and has no parent.
OtioStatus otio_algorithm_track_trimmed_to_range(
OtioDocument *target,
OtioNode track,
OtioTimeRange trim_range,
OtioNode *out_track,
OtioBuffer *out_error);| Parameter | Type | Role |
|---|---|---|
| target | document | the document, changed |
| track | node | input |
| trim_range | OtioTimeRange | input |
| out_track | node | written through, not read |
| out_error | text | why the call failed, or null to skip it |