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

Go to the source code of this file.

Description

Structural building block of the session: a sequence of clips.

A Sequence is both a structural element of the session and part of the public session API exposed to clients for discovering the session contents and structure. Sequences are implemented as structural assets, delegating the actual implementation to the fork-MObjects within the model, which naturally form the necessary recursive and nested structure.

Contrary to usual habits in video/sound editing software, in Lumiera the "tracks" form a tree and serve as backbone of the individual sequence, as opposed to the timeline, which manages output and frame quantisation, but do not hold any contents themselves. Thus, the sequence is really a tree of nested scopes (session::mobject::Fork), together with all the media elements placed within these scopes.

Like every structural asset, the creation of sequences happens automatically on referral; Sequences can be queried from the StructFactory, providing additional requested capabilities. Commonly clients will retrieve a given sequence by query on the name-ID of the sequence: Struct::retrieve(Query<Sequence> ("id(theName).")) Additionally, a specific fork root may be requested: "id(theName),rootFork(trackID)."

Todo:
this is a very crucial part of the emerging design of the session model. Unfortunately, development on that frontier has stalled since 2010, since we focused efforts towards the player, the engine and the GUI lately (as of 2016)
See also
Session
StructFactory

Definition in file sequence.hpp.

Classes

class  Sequence
 TODO type comment. More...
 

Typedefs

typedef lib::P< Sequence > PSequence
 
typedef MORef< Fork > RFork
 

Namespaces

 steam
 Steam-Layer implementation namespace root.
 
 steam::asset
 The asset subsystem of the Steam-Layer.
 
 steam::mobject
 Media-Objects, edit operations and high-level session.
 
 steam::mobject::session
 Namespace of Session and user visible high-level objects.