![]() |
Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/mobject/session/fork.hpp"
A Fork serves as grouping device within the Session.
Within the timeline, forks are used to organise continuous trails of consecutive clips – similar to the role of "Tracks" in other editing applications. Just, in Lumiera a Fork is only a grouping device and not limited just to video or audio. Moreover, Forks are also used to organise and group clips in preparation to editing (the so called "media bins"). And forks can be used to create assortments of effects and other editing tools. In all these cases, the Fork creates a scope.
The corresponding Placement by which this Fork object is attached to the session defines fallback placing properties to be used by all objects placed within the scope of this fork, unless individual objects specify more concrete placements. Typically, the placement within a fork of the timeline is used to derive the default processing pipe connections, define a layer or pan for sound and also for for disabling groups of clips. But note that forks are always nested, forming a tree like grouping device with hierarchically nested scopes.
Public Member Functions | |
bool | isSameID (string const &) |
Child tracks in a tree structure. | |
![]() | |
Duration & | getLength () |
bool | operator== (const MObject &oo) const |
default/fallback implementation of equality using literal object identity (same address). More... | |
![]() | |
string const & | shortID () const |
a short readable ID as a single name-token, denoting both the kind of MObject and some sort of instance identity. More... | |
![]() | |
virtual ReturnType | apply (builder::BuilderTool &)=0 |
to be defined by the DEFINE_PROCESSABLE_BY macro in all classes wanting to be treated by some tool | |
Friends | |
class | MObjectFactory |
Protected Member Functions | |
Fork (ForkID const &) | |
create a new fork-MObject based on the given unique ID. More... | |
![]() | |
string | buildShortID (lib::Literal typeID, string suffix="") const |
void | throwIfInvalid () const |
Private Member Functions | |
string | initShortID () const |
bool | isValid () const |
MObject self-test (usable for asserting) | |
Private Attributes | |
ForkID | id_ |
Time | start_ |
Additional Inherited Members | |
![]() | |
typedef builder::BuilderTool ::ReturnType | ReturnType |
![]() | |
static session::MObjectFactory | create |
Storage for the (single, static) MObject factory object. | |
![]() | |
typedef lib::time::Duration | Duration |
![]() | |
typedef builder::BuilderTool ::ToolBase | ToolBase |
![]() | |
static ReturnType | dispatchOp (TAR &target, builder::BuilderTool &tool) |
![]() | |
Duration | length_ |
string | shortID_ |
create a new fork-MObject based on the given unique ID.
While the fork is an MObject attached locally within the given Sequence, it referres to a globally known forkID, which is an Asset. These fork-IDs might be shared among several Sequences and can be used to refer to several scopes simultaneously.