Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
Fork Class Reference

#include "steam/mobject/session/fork.hpp"

Description

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.

This Fork Media Object (sometimes referred to as "fork-MO") is always dealt with locally within one Sequence. Client code normally doesn't have to care for creating or retrieving a fork-MO. Rather, it refers to the global fork-asset-ID. The same holds true when placing some other Media Object into the scope of a fork: the corresponding placement just refers the global forkID, while the builder automatically retrieves the matching fork-MO for the Sequence in question.

Definition at line 94 of file fork.hpp.

Public Member Functions

bool isSameID (string const &)
 Child tracks in a tree structure.
 
- Public Member Functions inherited from AbstractMO
DurationgetLength ()
 
bool isEquivalentTo (const MObject &oo) const override
 default/fallback implementation of equality using literal object identity (same address).
 
- 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.
 
- 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.
 
- Protected Member Functions inherited from AbstractMO
void throwIfInvalid () const
 
string buildShortID (lib::Literal typeID, string suffix="") const
 
- Protected Member Functions inherited from MObject
 MObject ()
 
virtual ~MObject ()
 
- Protected Member Functions inherited from Visitable< builder::BuilderTool >
virtual ~Visitable ()
 

Private Member Functions

string initShortID () const
 
bool isValid () const
 MObject self-test (usable for asserting)
 

Private Attributes

Time start_
 
ForkID id_
 

Additional Inherited Members

- Public Types inherited from Visitable< builder::BuilderTool >
using ReturnType = TOOL::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 >
using ToolBase = TOOL::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_
 

Constructor & Destructor Documentation

◆ Fork()

Fork ( ForkID const &  forkID)
protected

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.

Definition at line 36 of file fork.cpp.

References AbstractMO::throwIfInvalid().

+ Here is the call graph for this function:

Member Function Documentation

◆ initShortID()

string initShortID ( ) const
inlineprivatevirtual

Reimplemented from AbstractMO.

Definition at line 101 of file fork.hpp.

References AbstractMO::buildShortID().

+ Here is the call graph for this function:

◆ isValid()

bool isValid ( ) const
privatevirtual

MObject self-test (usable for asserting)

Implements MObject.

Definition at line 45 of file fork.cpp.

References Fork::id_, and BareEntryID::isValid().

+ Here is the call graph for this function:

◆ isSameID()

bool isSameID ( string const &  refID)
inline

Child tracks in a tree structure.

Definition at line 123 of file fork.hpp.

References BareEntryID::getSym(), and Fork::id_.

+ Here is the call graph for this function:

Member Data Documentation

◆ start_

Time start_
private

Definition at line 96 of file fork.hpp.

◆ id_

ForkID id_
private

Definition at line 97 of file fork.hpp.

Referenced by Fork::isSameID(), and Fork::isValid().

Friends And Related Symbol Documentation

◆ MObjectFactory

friend class MObjectFactory
friend

Definition at line 110 of file fork.hpp.

+ Inheritance diagram for Fork:
+ Collaboration diagram for Fork:

The documentation for this class was generated from the following files: