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. | |
Public Member Functions inherited from AbstractMO | |
Duration & | getLength () |
bool | operator== (const MObject &oo) const |
default/fallback implementation of equality using literal object identity (same address). More... | |
Public Member Functions inherited from MObject | |
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... | |
Public Member Functions inherited from Visitable< builder::BuilderTool > | |
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... | |
Protected Member Functions inherited from AbstractMO | |
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 | |
Public Types inherited from Visitable< builder::BuilderTool > | |
typedef builder::BuilderTool ::ReturnType | ReturnType |
Static Public Attributes inherited from MObject | |
static session::MObjectFactory | create |
Storage for the (single, static) MObject factory object. | |
Protected Types inherited from MObject | |
typedef lib::time::Duration | Duration |
Protected Types inherited from Visitable< builder::BuilderTool > | |
typedef builder::BuilderTool ::ToolBase | ToolBase |
Static Protected Member Functions inherited from Visitable< builder::BuilderTool > | |
static ReturnType | dispatchOp (TAR &target, builder::BuilderTool &tool) |
Protected Attributes inherited from MObject | |
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.