Lumiera  0.pre.03
proc::asset Namespace Reference


The asset subsystem of the Proc-Layer.




typedef const ID< Asset > & IDA
typedef std::unordered_map< size_t, PAsset, IdentityHashIdHashtable
typedef boost::variant< DoAttach, DoRecurse, DoConditionalInstructEntry
typedef vector< BuildInstructInstructionSequence
typedef lib::P< AssetPAsset
typedef lib::P< const AssetPcAsset
typedef lib::P< const asset::ClipPClipAsset
typedef lib::P< InventoryPInv
typedef lib::P< MetaPMeta
using PPipe = lib::P< Pipe >
using PProc = lib::P< const asset::Proc >
using PProcPatt = lib::P< const asset::ProcPatt >
typedef lib::P< SequencePSequence
typedef lib::P< TimelinePTimeline
typedef lib::P< ViewerPViewer


enum  Kind {
 top-level distinction of different Kinds of Assets. More...


class  Asset
 Superinterface describing especially bookkeeping properties. More...
class  AssetManager
 Facade for the Asset subsystem. More...
struct  BuildInstruct
 (Interface) building instructions to be executed by the Builder on the render node network under construction. More...
class  Category
 Tree like classification of Assets. More...
class  Clip
 bookkeeping (Asset) view of a media clip. More...
class  Codec
 description of some media data decoder or encoder facility More...
class  CompoundMedia
 compound of several elementary media tracks, e.g. More...
class  Dataset
 meta asset describing a collection of control data More...
class  DB
 Implementation of the registry holding all Asset instances known to the Asset Manager subsystem. More...
struct  DoAttach
class  DoConditional
struct  DoRecurse
class  Effect
 Effect or media processing component. More...
class  ID
 thin wrapper around a size_t hash ID used as primary key for all Asset objects. More...
class  ID< Media >
class  ID< Meta >
class  ID< Pipe >
class  ID< Proc >
class  ID< Struct >
struct  IdentityHash
 trivial hash functor returns any hash value unmodified. More...
struct  IDErr
 AssetManager error responses, caused by querying invalid Asset IDs from the internal DB. More...
class  Inventory
 TypedID registration group exposed as meta asset. More...
struct  is_pAsset
 type trait for detecting a shared-ptr-to-asset More...
struct  is_pAsset< shared_ptr< A > >
class  Media
 key abstraction: media-like assets More...
class  MediaFactory
 Factory specialised for creating Media Asset objects. More...
class  Meta
 key abstraction: metadata, parametrisation, customisation and similar organisational traits. More...
class  MetaFactory
 Factory specialised for creating Metadata Asset objects. More...
class  Pipe
 structural asset corresponding to the part of the model forming a processing pipe for generating media output More...
class  Preview
 special placeholder denoting an alternative version of the media data, typically with lower resolution ("proxy media") More...
class  Proc
 key abstraction: data processing asset More...
class  ProcFactory
 Factory specialised for creating Processor Asset objects. More...
class  ProcPatt
 "Processing Pattern" is a structural Asset representing information how to build some part of the render engine's processing nodes network. More...
class  Sequence
 TODO type comment. More...
class  Struct
 key abstraction: structural asset Created automatically as a sideeffect of building the structure of the high-level-model (session contents), thus providing IDs for later referral, search and attachment of metadata. More...
class  StructFactory
 Factory specialised for creating Structural Asset objects. More...
class  StructFactoryImpl
 Implementation details, especially concerning how configuration queries are resolved and when to create new objects automatically. More...
class  TestClipAsset
 An asset::Media instance Test Clip for checking various Asset operations and for creating dependent Clip-MObjects. More...
class  Timeline
class  TypedID
class  Unknown
 Placeholder Asset for unknown or unavailable media source. More...
struct  UnknownID
class  Viewer
 TODO type comment. More...
struct  WrongKind


bool all_parents_enabled (const vector< PAsset > &parents)
template<class CHI , class PAR >
bool dependencyCheck (lib::P< CHI > child, lib::P< PAR > parent)
void dump (PcAsset const &aa)
void dumpAssetManager ()
size_t hash_value (Asset::Ident const &idi)
size_t hash_value (Asset const &asset)
size_t hash_value (Category const &cat)
 Existing ID registration without associated instance. More...
 use of a non-registered Asset ID. More...
 Asset ID of wrong Asset kind, unable to cast. More...
 LUMIERA_ERROR_DEFINE (ORIG_NOT_FOUND, "Media referred by placeholder not found")
 LUMIERA_ERROR_DEFINE (MISSING_INSTANCE, "Existing ID registration without associated instance")
 LUMIERA_ERROR_DEFINE (WRONG_ASSET_KIND, "wrong Asset kind, unable to cast")
 LUMIERA_ERROR_DEFINE (PART_OF_COMPOUND, "part of compound used as toplevel element")
template<class A >
const PcAsset pAsset (shared_ptr< A > const &subPtr)
 promote subtype-ptr to PAsset, e.g. More...
void propagate_down (PAsset child, bool on)


function< bool(const PAsset &)> check_isActive
const string CLIP_SUBFOLDER
static Symbol CURRENT
const Duration DUMMY_TIME (FSecs(5))

Typedef Documentation

◆ PProc

typedef lib::P< const asset::Proc > PProc

Definition at line 53 of file buildinstruct.hpp.

◆ PProcPatt

typedef lib::P< const asset::ProcPatt > PProcPatt

Definition at line 54 of file buildinstruct.hpp.

◆ InstructEntry

typedef boost::variant< DoAttach, DoRecurse, DoConditional > InstructEntry

Definition at line 94 of file buildinstruct.hpp.

◆ PClipAsset

typedef lib::P<const asset::Clip> PClipAsset

Definition at line 64 of file proc/asset/clip.hpp.

◆ IdHashtable

typedef std::unordered_map<size_t, PAsset, IdentityHash> IdHashtable

Definition at line 88 of file db.hpp.

◆ PInv

typedef lib::P<Inventory> PInv

Definition at line 51 of file inventory.hpp.

◆ PMeta

typedef lib::P<Meta> PMeta

Definition at line 149 of file asset/meta.hpp.

◆ PPipe

typedef lib::P< Pipe > PPipe

Definition at line 51 of file pipe.hpp.

◆ InstructionSequence

Definition at line 54 of file procpatt.hpp.

◆ PSequence

Definition at line 84 of file proc/asset/sequence.hpp.

◆ PTimeline

Definition at line 90 of file timeline.hpp.

◆ PViewer

typedef lib::P<Viewer> PViewer

Definition at line 77 of file viewer.hpp.


typedef const ID<Asset>& IDA

Definition at line 121 of file asset.hpp.

◆ PAsset

typedef lib::P<Asset> PAsset

Definition at line 123 of file asset.hpp.

◆ PcAsset

typedef lib::P<const Asset> PcAsset

Definition at line 124 of file asset.hpp.

Enumeration Type Documentation

◆ Kind

enum Kind

top-level distinction of different Kinds of Assets.

For convenience, this classification is slightly denormalised, as AUDIO, and VIDEO are both asset::Media objects, EFFECT and CODEC are asset::Proc objects, while STRUCT and META refer directly to the corresponding Interfaces asset::Struct and asset::Meta.


Definition at line 55 of file category.hpp.

Class Documentation

◆ proc::asset::DoConditional

class proc::asset::DoConditional
+ Collaboration diagram for DoConditional:

◆ proc::asset::TestClipAsset

class proc::asset::TestClipAsset
+ Collaboration diagram for TestClipAsset:

◆ proc::asset::TypedID

class proc::asset::TypedID
+ Collaboration diagram for TypedID:

Function Documentation

◆ hash_value() [1/3]

size_t proc::asset::hash_value ( Category const &  cat)

Definition at line 112 of file category.hpp.

References hash, Category::kind_, and Category::path_.

Referenced by AssetManager::getID().

+ Here is the caller graph for this function:

◆ hash_value() [2/3]

size_t proc::asset::hash_value ( Asset::Ident const &  idi)

Definition at line 59 of file db.hpp.

References Asset::Ident::category, hash, Asset::Ident::name, and Asset::Ident::org.

◆ hash_value() [3/3]

size_t proc::asset::hash_value ( Asset const &  asset)

Definition at line 69 of file db.hpp.

References Asset::getID().

+ Here is the call graph for this function:


"part of compound used as toplevel element"   

Referenced by MediaFactory::operator()().

+ Here is the caller graph for this function:





Existing ID registration without associated instance.


"Existing ID registration without associated instance"   


"Media referred by placeholder not found"   



◆ all_parents_enabled()

bool proc::asset::all_parents_enabled ( const vector< PAsset > &  parents)

Definition at line 118 of file asset.cpp.

References util::and_all(), and check_isActive.

Referenced by Asset::enable(), and Asset::isActive().

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

◆ propagate_down()

void proc::asset::propagate_down ( PAsset  child,
bool  on 

Definition at line 136 of file asset.cpp.

Referenced by Asset::enable().

+ Here is the caller graph for this function:

◆ pAsset()

const PcAsset proc::asset::pAsset ( shared_ptr< A > const &  subPtr)

promote subtype-ptr to PAsset, e.g.

for comparing

Definition at line 333 of file asset.hpp.


"non-registered Asset ID  


"wrong Asset  kind,
unable to cast"   



use of a non-registered Asset ID.



Asset ID of wrong Asset kind, unable to cast.

◆ dump()

void proc::asset::dump ( PcAsset const &  aa)

Definition at line 57 of file asset-diagnostics.hpp.

References P< TAR, BASE >::get().

Referenced by dumpAssetManager().

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

◆ dumpAssetManager()

void proc::asset::dumpAssetManager ( )

Definition at line 69 of file asset-diagnostics.hpp.

References dump(), and AssetManager::instance.

Referenced by CompoundMedia_test::run(), IdentityOfAssets_test::run(), and CreateAsset_test::run().

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

◆ dependencyCheck()

bool proc::asset::dependencyCheck ( lib::P< CHI >  child,
lib::P< PAR >  parent 

Definition at line 80 of file asset-diagnostics.hpp.

References util::contains().

Referenced by DependentAssets_test::checkRealAssetDependencyRegistration(), BasicPipe_test::dependProcPatt(), and MakeClip_test::run().

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

Variable Documentation



const string CLIP_SUBFOLDER

Definition at line 66 of file proc/asset/clip.hpp.


const Duration DUMMY_TIME(FSecs(5))
solve config management

◆ check_isActive

function<bool(const PAsset&)> check_isActive

Definition at line 113 of file asset.cpp.

Referenced by all_parents_enabled(), and Asset::Ident::isValid().