Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/mobject/session.hpp"
The (current) Session holds all the user visible content to be edited and manipulated within the Lumiera Application.
From a users perspective, it is a collection of Media Objects (–> MObject) placed (–> Placement) onto virtual Tracks.
Opening a Session has effectively global consequences, because the Session defines the available Assets, and some kinds of Assets define default behaviour. Thus, access to the Session is similar to a Singleton, through Session::current
Besides the SessionManager, several sub-interfaces are exposed as embedded components: DefaultsManger, timelines and sequences.
Definition at line 109 of file session.hpp.
Public Member Functions | |
virtual MObjectRef | attach (PMO const &placement)=0 |
virtual bool | detach (PMO const &placement)=0 |
virtual fixture::PFixture & | getFixture ()=0 |
virtual MObjectRef | getRoot ()=0 |
virtual bool | isValid ()=0 |
virtual void | rebuildFixture ()=0 |
Static Public Attributes | |
static session::SessManager & | current = theSessionManager() |
access point to the current Session More... | |
static bool | initFlag = false |
temporary fix for init problems More... | |
Public Attributes | |
DefaultsAccess | defaults |
manages default configured objects | |
ElementsAccess | elements |
SequenceAccess | sequences |
collection of sequences | |
TimelineAccess | timelines |
collection of timelines (top level) | |
Protected Types | |
typedef lumiera::query::DefsManager & | DefaultsAccess |
typedef session::ElementQuery & | ElementsAccess |
typedef lib::RefArray< asset::PSequence > & | SequenceAccess |
typedef lib::RefArray< asset::PTimeline > & | TimelineAccess |
Protected Member Functions | |
Session (DefaultsAccess, ElementsAccess, TimelineAccess, SequenceAccess) noexcept | |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
NonCopyable (NonCopyable const &)=delete | |
NonCopyable & | operator= (NonCopyable const &)=delete |
|
static |
temporary fix for init problems
Definition at line 127 of file session.hpp.
Referenced by SessionServiceFetch::isAccessible(), and SessManagerImpl::SessManagerImpl().
|
static |
access point to the current Session
the sole access point for all client code to the system-wide "current session".
Implemented as smart pointer to singleton implementation object, where the smart pointer is actually the SessionManager (which is singleton as well...).
Consequently, if you want to talk to the session manager, you use dot-notation, while you access the session object via arrow notation (e.g. Session::current->getFixture()
)
Definition at line 129 of file session.hpp.
Referenced by StreamTypeLifecycle_test::check_pristineState(), SessionManager_test::clearSession(), steam::mobject::session::test::find(), steam::mobject::session::test::anonymous_namespace{defs-manager-impl-test.cpp}::find(), SessionManager_test::getCurrentSession(), SessionServiceFetch::isAccessible(), and SessionManager_test::resetSession().