49 using backend_interface::MediaAccessFacade;
53 using std::regex_search;
54 using std::dynamic_pointer_cast;
69 static regex PATHNAME_PATTERN(
"([^/\\.]+)(\\.\\w+)?$");
72 if (regex_search (path, match, PATHNAME_PATTERN))
73 return util::sanitise (
string (match[1]));
87 PClip clipMO = clipAsset->createClip();
89 ENSURE (clipMO->isValid());
102 return parent->getClipAsset();
113 if ( !isnil (parents))
114 parent = dynamic_pointer_cast<
Media,
Asset> (parents[0]);
122 UNIMPLEMENTED (
"calculate and return processing pattern for media asset");
160 if (isnil (key.
name)) key.
name=
"nil";
162 if (aMang.
known (
id))
171 MediaAccessFacade& maf = MediaAccessFacade::instance();
172 MediaDesc& handle = maf.queryFile(key.
name);
176 pM =
new Media (key,file,length);
180 ENSURE (!isnil (key.
name));
181 ENSURE (dynamic_cast<Media*>(pM) || (isnil (file) && dynamic_cast<Unknown*>(pM)));
195 return operator() (key, file);
202 return operator() (file, cat);
209 if (!file) file =
"";
210 return operator() (
string(file),cat);
216 if (!file) file =
"";
217 return operator() (
string(file),kind);
223 if (!file) file =
"";
224 return operator() (key,
string(file));
241 "which is not toplevel but rather part of a compound " 242 "(multichannel) media. Found parent Media %s.")
245 ,LUMIERA_ERROR_PART_OF_COMPOUND);
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
static ID< Asset > getID(const Asset::Ident &)
provide the unique ID for given Asset::Ident tuple
Basic set of definitions and includes commonly used together.
string name
element ID, comprehensible but sanitised.
Steam-Layer Interface: Asset Lookup and Organisation.
Tree like classification of Assets.
Facade for the Asset subsystem.
This header is for including and configuring NoBug.
Steam-Layer implementation namespace root.
A front-end for using printf-style formatting.
static lib::Depend< AssetManager > instance
get at the system-wide asset manager instance.
Derived specific exceptions within Lumiera's exception hierarchy.
a POD comprised of all the information sufficiently identifying any given Asset.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
Placeholder Asset for unknown or unavailable media source.
Superinterface describing especially bookkeeping properties.
Marker Asset to indicate an unknown media source.
boost::rational< int64_t > FSecs
rational representation of fractional seconds
Definition of Asset representation for a media clip.
Lumiera error handling (C++ interface).
const vector< PAsset > & getParents() const
List of entities this asset depends on or requires to be functional.
Kind
top-level distinction of different Kinds of Assets.
lib::P< KIND > getAsset(const ID< KIND > &id)
find and return corresponding object
bookkeeping (Asset) view of a media clip.
Duration is the internal Lumiera time metric.
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
a family of time value like entities and their relationships.
asset::Category category
primary tree like classification of the asset.
The asset subsystem of the Steam-Layer.
#define LUMIERA_ERROR_DEFINE(err, msg)
Definition and initialisation of an error constant.