Lumiera  0.pre.03
»edit your freedom«
segmentation.hpp File Reference

Go to the source code of this file.

Description

Part of the Fixture datastructure to manage time segments of constant structure.

The Fixture is result of the build process and separation between high-level and low-level model. It's kind of an effective resulting timeline, and split into segments of constant wiring structure: whenever the processing nodes need to be wired differently for some timespan, we start a new segment of the timeline. This might be for the duration of a clip, or just for the duration of a transition, when the pipes of both clips need to be wired up in parallel.

Within the Fixture, a Segment of the timeline is used as attachment point for all the render nodes relevant for rendering this segment. Thus, the Segmentation defines the index and access datastructure to get at any point of the render node network. Moreover, the segments are used as foundation for render node memory management

Todo:
5/2023 now actually started with the implementation for the »Playback Vertical Slice«
See also
Fixture
ModelPort

Definition in file segmentation.hpp.

#include "steam/fixture/segment.hpp"
#include "lib/time/timevalue.hpp"
#include "lib/iter-adapter-stl.hpp"
#include "lib/format-string.hpp"
#include "lib/nocopy.hpp"
#include <list>
#include <optional>
#include <functional>

Classes

class  Segmentation
 For the purpose of building and rendering, the fixture (for each timeline) is partitioned such that each segment is structurally constant. The Segmentation defines and maintains this partitioning. More...
 

Typedefs

using OptTime = std::optional< lib::time::Time >
 

Namespaces

 steam
 Steam-Layer implementation namespace root.
 
 steam::fixture
 Fixture and low-level-Model.