40 using backend_interface::MediaAccessFacade;
44 using std::regex_search;
45 using std::dynamic_pointer_cast;
60 static regex PATHNAME_PATTERN(
"([^/\\.]+)(\\.\\w+)?$");
63 if (regex_search (path, match, PATHNAME_PATTERN))
64 return util::sanitise (
string (match[1]));
78 PClip clipMO = clipAsset->createClip();
80 ENSURE (clipMO->isValid());
93 return parent->getClipAsset();
104 if ( !isnil (parents))
105 parent = dynamic_pointer_cast<
Media,
Asset> (parents[0]);
113 UNIMPLEMENTED (
"calculate and return processing pattern for media asset");
151 if (isnil (key.
name)) key.
name=
"nil";
153 if (aMang.
known (
id))
162 MediaAccessFacade& maf = MediaAccessFacade::instance();
163 MediaDesc& handle = maf.queryFile(key.
name);
167 pM =
new Media (key,file,length);
171 ENSURE (!isnil (key.
name));
172 ENSURE (dynamic_cast<Media*>(pM) || (isnil (file) && dynamic_cast<Unknown*>(pM)));
186 return operator() (key, file);
193 return operator() (file, cat);
200 if (!file) file =
"";
201 return operator() (
string(file),cat);
207 if (!file) file =
"";
208 return operator() (
string(file),kind);
214 if (!file) file =
"";
215 return operator() (key,
string(file));
232 "which is not toplevel but rather part of a compound " 233 "(multichannel) media. Found parent Media %s.")
236 ,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.