41#ifndef MOBJECT_SESSION_H
42#define MOBJECT_SESSION_H
63 using PFixture = std::shared_ptr<Fixture>;
189 virtual void save (
string snapshotID) =0;
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Organise a collection of preconfigured default objects.
The (current) Session holds all the user visible content to be edited and manipulated within the Lumi...
TimelineAccess timelines
collection of timelines (top level)
DefaultsAccess defaults
manages default configured objects
static bool initFlag
temporary fix for init problems
virtual bool detach(PMO const &placement)=0
SequenceAccess sequences
collection of sequences
virtual void rebuildFixture()=0
static session::SessManager & current
access point to the current Session
session::ElementQuery & ElementsAccess
virtual MObjectRef attach(PMO const &placement)=0
std::vector< asset::PTimeline > const & TimelineAccess
lumiera::query::DefsManager & DefaultsAccess
std::vector< asset::PSequence > const & SequenceAccess
virtual MObjectRef getRoot()=0
virtual fixture::PFixture & getFixture()=0
Access point to session global search and query functions.
creation, access and Session lifecycle Interface.
virtual bool isUp()=0
diagnostics: session interface opened?
virtual void load()=0
replace the current session by a new session loaded from serialised state.
virtual void reset()=0
reset all session config and start with a pristine default session.
virtual void clear()=0
clear current session contents without resetting overall session config.
virtual Session * operator->() noexcept=0
access to the current session object instance.
virtual void save(string snapshotID)=0
create a complete, serialised representation of the current session config and contents.
virtual void close()=0
shut down the current session cleanly.
Any copy and copy construction prohibited.
Management of defaults and default rules.
Singleton services and Dependency Injection.
#define LUMIERA_ERROR_DECLARE(err)
Forward declare an error constant.
External MObject/Placement reference.
The asset subsystem of the Steam-Layer.
lib::P< Sequence > PSequence
lib::P< Timeline > PTimeline
shared_ptr< Fixture > PFixture
Namespace of Session and user visible high-level objects.
MORef< MObject > MObjectRef
const char * ON_SESSION_END
triggered before discarding an existing session
const char * ON_SESSION_READY
triggered after session is completely functional and all APIs are open.
const char * ON_SESSION_CLOSE
triggered before initiating the session shutdown sequence
const char * ON_SESSION_INIT
triggered when initialising a new session, after adding content
const char * ON_SESSION_START
triggered before loading any content into a newly created session
session::SessManager & PSess
acts as a "PImpl" smart ptr
Steam-Layer implementation namespace root.
Customised refcounting smart pointer.
Core abstraction: placement of a media object into session context.
Marker types to indicate a literal string and a Symbol.