Lumiera  0.pre.03
»edit your freedom«
steam::mobject Namespace Reference

Description

Media-Objects, edit operations and high-level session.

Todo:
is this interface or implementation ??

Namespaces

 builder
 Namespace of the Builder, transforming high-level into low-level.
 
 session
 Namespace of Session and user visible high-level objects.
 

Typedefs

typedef MORef< MObjectMObjectRef
 
typedef Placement< session::Binding, session::MetaPBinding
 
typedef Placement< session::BusMO, session::MetaPBus
 
typedef Placement< session::Fork, session::MetaPFork
 
typedef OutputDesignation::PID PID
 
typedef Placement< MObjectPlacementMO
 
typedef PlacementRef< MObjectPlaRef
 TODO: as of 5/09 the idea is to phase out direct dependency on the placement class and recast those dependencies in terms of PlacementRef.
 
typedef Placement< MObjectPMO
 
typedef OutputDesignation::PPipe PPipe
 
typedef Placement< session::Root, session::MetaPRoot
 
typedef session::SessManagerPSess
 acts as a "PImpl" smart ptr
 
typedef PlacementRef< MObjectRefPlacement
 frequently-used shorthand
 
typedef OutputDesignation::TargetSpec TargetSpec
 

Classes

struct  AbsoluteSpec
 
class  Buildable
 Marker Interface for classes visitable by Builder tools. More...
 
class  BuilderFacade
 Provides unified access to the builder functionality. More...
 
class  ExplicitPlacement
 Special kind of Placement, where the location of the MObject has been nailed down to a fixed position. More...
 
struct  IndirectSpec
 
class  Interpolator
 Provides the implementation for getting the actual value of a time varying or automated effect/plugin parameter. More...
 
class  MObject
 MObject is the interface class for all "Media Objects". More...
 
class  ModelPort
 Handle designating a point within the model, where actually output data can be pulled. More...
 
class  MORef
 An active (smart-ptr like) external reference to a specifically placed MObject "instance" within the session. More...
 
class  OutputDesignation
 Descriptor to denote the desired target of produced media data. More...
 
class  OutputMapping
 OutputMapping is a facility to resolve output designations. More...
 
class  Parameter
 Descriptor and access object for a plugin parameter. More...
 
class  ParamProvider
 A facility to get the actual value of a plugin/effect parameter. More...
 
class  Placement
 A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location where the MObject is supposed to be within the Session/Model. More...
 
class  Placement< MObject, MObject >
 this specialisation forms the root of all placements and defines all of Placement's actual functionality. More...
 
class  PlacementRef
 Reference tag denoting a placement attached to the session. More...
 
struct  RelativeSpec
 
class  Session
 The (current) Session holds all the user visible content to be edited and manipulated within the Lumiera Application. More...
 

Functions

string format_PlacementID (Placement< MObject > const &pla)
 
string format_PlacementID (PlacementMO const &)
 
template<class MOX , class MOY >
bool isEquivalentPlacement (MORef< MOX > const &ref1, MORef< MOY > const &ref2)
 check if the two references actually denote an equivalent placement
 
bool isSameDef (PlacementMO const &, PlacementMO const &)
 compare the properties of placement More...
 
template<class MOX , class MOY >
bool isSharedPointee (MORef< MOX > const &ref1, MORef< MOY > const &ref2)
 check if the two references actually share ownership on the same underlying MObject (as opposed to referring to the same Placement, which is tested by operator== )
 
 LUMIERA_ERROR_DECLARE (BUILDER_LIFECYCLE)
 Builder activated while in non operational state.
 
 LUMIERA_ERROR_DECLARE (INVALID_MODEL_PORT)
 Referral to unknown model port.
 
 LUMIERA_ERROR_DECLARE (UNCONNECTED_MODEL_PORT)
 Attempt to operate on an existing but unconnected model port.
 
 LUMIERA_ERROR_DEFINE (BUILDER_LIFECYCLE, "Builder activated while in non operational state")
 
 LUMIERA_ERROR_DEFINE (INVALID_MODEL_PORT, "Referral to unknown model port")
 
 LUMIERA_ERROR_DEFINE (UNCONNECTED_MODEL_PORT, "Attempt to operate on an existing but unconnected model port")
 

Variables

const char * ON_SESSION_CLOSE ="ON_SESSION_CLOSE"
 LifecycleHook, to commence any activity relying on an opened and fully operative session. More...
 
const char * ON_SESSION_END ="ON_SESSION_END"
 LifecycleHook, to perform any state saving, deregistration or de-activation necessary before bringing down an existing session. More...
 
const char * ON_SESSION_INIT = "ON_SESSION_INIT"
 LifecycleHook, to perform any initialisation, wiring and registrations necessary to get the session into a usable state. More...
 
const char * ON_SESSION_READY = "ON_SESSION_READY"
 LifecycleHook, to perform post loading tasks, requiring an already completely usable and configured session to be in place. More...
 
const char * ON_SESSION_START = "ON_SESSION_START"
 LifecycleHook, to perform all the basic setup for a new session, prior to adding any specific data, configuration or content. More...
 

Typedef Documentation

◆ PlacementMO

Todo:
cleanup uses of ref-to-placement.

See Ticket #115

Definition at line 260 of file placement.hpp.


Class Documentation

◆ steam::mobject::Interpolator

class steam::mobject::Interpolator
+ Collaboration diagram for Interpolator< VAL >:

Function Documentation

◆ isSameDef()

bool isSameDef ( PlacementMO const &  ,
PlacementMO const &   
)

compare the properties of placement

Returns
true if all the LocatingPin entries in both placements are semantically equivalent.

Definition at line 68 of file placement.cpp.

References Placement< MO, B >::getID().

Referenced by isEquivalentPlacement().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ ON_SESSION_START

const char * ON_SESSION_START = "ON_SESSION_START"

LifecycleHook, to perform all the basic setup for a new session, prior to adding any specific data, configuration or content.

triggered before loading any content into a newly created session

Any subsystems requiring to (re)-initialise for a new session should register here. When this hook is activated, the session implementation facilities are available and the corresponding interfaces are already opened and accessible, but the session itself is completely pristine and empty.

Note
plugins providing additional facilities to be used by content of a (persisted) session should register their basic setup functions using this hook, which can be done via the C interface functions defined in lifecycle.h

Definition at line 87 of file session.cpp.

Referenced by LifecycleAdvisor::pullUp().

◆ ON_SESSION_INIT

const char * ON_SESSION_INIT = "ON_SESSION_INIT"

LifecycleHook, to perform any initialisation, wiring and registrations necessary to get the session into a usable state.

triggered when initialising a new session, after adding content

When activated, the specific session content and configuration has already be loaded. Any subsystems requiring to build some indices or wiring to keep track of the session's content should register here.

Definition at line 95 of file session.cpp.

Referenced by LifecycleAdvisor::pullUp().

◆ ON_SESSION_READY

const char * ON_SESSION_READY = "ON_SESSION_READY"

LifecycleHook, to perform post loading tasks, requiring an already completely usable and configured session to be in place.

triggered after session is completely functional and all APIs are open.

When activated, the session is completely restored according to the standard or persisted definition and any access interfaces are already opened and enabled. Scripts and the GUI might even be accessing the session in parallel. Subsystems intending to perform additional processing should register here, if requiring fully functional client side APIs. Examples would be statistics gathering, validation or auto-correction of the session's contents.

Definition at line 106 of file session.cpp.

Referenced by LifecycleAdvisor::pullUp().

◆ ON_SESSION_CLOSE

const char * ON_SESSION_CLOSE ="ON_SESSION_CLOSE"

LifecycleHook, to commence any activity relying on an opened and fully operative session.

triggered before initiating the session shutdown sequence

When invoked, the session is still in fully operative state, all interfaces are open and the render engine is available. However, after issuing this event, the session shutdown sequence will be initiated, by detaching the engine interfaces and signalling the scheduler to cease running render jobs.

Definition at line 115 of file session.cpp.

Referenced by LifecycleAdvisor::shutDown().

◆ ON_SESSION_END

const char * ON_SESSION_END ="ON_SESSION_END"

LifecycleHook, to perform any state saving, deregistration or de-activation necessary before bringing down an existing session.

triggered before discarding an existing session

When invoked, the session is still fully valid and functional, but the GUI/external access has already been closed.

Todo:
specify how this is related to "saving". Is there a way for subsystems to add specific/internal information into the persisted state, besides actually attaching data to objects within the session?

Definition at line 125 of file session.cpp.

Referenced by LifecycleAdvisor::shutDown().