Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
proc::asset Namespace Reference

Description

The asset subsystem of the Proc-Layer.

Namespaces

 idi
 
 meta
 
 test
 

Typedefs

typedef const ID< Asset > & IDA
 
typedef std::unordered_map
< size_t, PAsset, IdentityHash
IdHashtable
 
typedef boost::variant
< DoAttach, DoRecurse,
DoConditional
InstructEntry
 
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
 

Enumerations

enum  Kind {
  AUDIO,
  VIDEO,
  EFFECT,
  CODEC,
  STRUCT,
  META
}
 top-level distinction of different Kinds of Assets. More...
 

Classes

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
 

Functions

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 &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)
 
 LUMIERA_ERROR_DECLARE (ORIG_NOT_FOUND)
 
 LUMIERA_ERROR_DECLARE (MISSING_INSTANCE)
 Existing ID registration without associated instance. More...
 
 LUMIERA_ERROR_DECLARE (UNKNOWN_ASSET_ID)
 use of a non-registered Asset ID. More...
 
 LUMIERA_ERROR_DECLARE (WRONG_ASSET_KIND)
 Asset ID of wrong Asset kind, unable to cast. More...
 
 LUMIERA_ERROR_DECLARE (PART_OF_COMPOUND)
 
 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 (UNKNOWN_ASSET_ID,"non-registered Asset ID")
 
 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)
 

Variables

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

Typedef Documentation

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

Definition at line 53 of file buildinstruct.hpp.

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

Definition at line 54 of file buildinstruct.hpp.

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

Definition at line 94 of file buildinstruct.hpp.

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

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

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

Definition at line 87 of file db.hpp.

typedef lib::P<Inventory> PInv

Definition at line 51 of file inventory.hpp.

typedef lib::P<Meta> PMeta

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

typedef lib::P< Pipe > PPipe

Definition at line 51 of file pipe.hpp.

Definition at line 54 of file procpatt.hpp.

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

Definition at line 87 of file timeline.hpp.

typedef lib::P<Viewer> PViewer

Definition at line 77 of file viewer.hpp.

typedef const ID<Asset>& IDA

Definition at line 119 of file asset.hpp.

typedef lib::P<Asset> PAsset

Definition at line 121 of file asset.hpp.

typedef lib::P<const Asset> PcAsset

Definition at line 122 of file asset.hpp.

Enumeration Type Documentation

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.

Enumerator
AUDIO 
VIDEO 
EFFECT 
CODEC 
STRUCT 
META 

Definition at line 55 of file category.hpp.


Class Documentation

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

Function Documentation

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

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:

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

Definition at line 58 of file db.hpp.

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

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

Definition at line 68 of file db.hpp.

References Asset::getID().

+ Here is the call graph for this function:

proc::asset::LUMIERA_ERROR_DEFINE ( PART_OF_COMPOUND  ,
"part of compound used as toplevel element"   
)
proc::asset::LUMIERA_ERROR_DECLARE ( PART_OF_COMPOUND  )
proc::asset::LUMIERA_ERROR_DECLARE ( MISSING_INSTANCE  )

Existing ID registration without associated instance.

proc::asset::LUMIERA_ERROR_DEFINE ( MISSING_INSTANCE  ,
"Existing ID registration without associated instance"   
)
proc::asset::LUMIERA_ERROR_DEFINE ( ORIG_NOT_FOUND  ,
"Media referred by placeholder not found"   
)
proc::asset::LUMIERA_ERROR_DECLARE ( ORIG_NOT_FOUND  )
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:

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:

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

promote subtype-ptr to PAsset, e.g.

for comparing

Definition at line 331 of file asset.hpp.

References Asset::Asset().

+ Here is the call graph for this function:

proc::asset::LUMIERA_ERROR_DEFINE ( UNKNOWN_ASSET_ID  ,
"non-registered Asset ID"   
)
proc::asset::LUMIERA_ERROR_DEFINE ( WRONG_ASSET_KIND  ,
"wrong Asset  kind,
unable to cast"   
)
proc::asset::LUMIERA_ERROR_DECLARE ( UNKNOWN_ASSET_ID  )

use of a non-registered Asset ID.

proc::asset::LUMIERA_ERROR_DECLARE ( WRONG_ASSET_KIND  )

Asset ID of wrong Asset kind, unable to cast.

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

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:

void proc::asset::dumpAssetManager ( )
inline

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

References dump(), util::for_each(), and AssetManager::instance.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 79 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

Symbol CURRENT
static

Definition at line 57 of file buildinstruct.hpp.

const string CLIP_SUBFOLDER

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

const Duration DUMMY_TIME(FSecs(5))
Todo:
solve config management
function<bool(const PAsset&)> check_isActive

Definition at line 113 of file asset.cpp.

Referenced by all_parents_enabled().